#include "mainwin.h"
#include "aboutdlg.h"
+#include "action.h"
+#include "actioncollection.h"
#include "bufferview.h"
#include "bufferviewconfig.h"
#include "bufferviewfilter.h"
#include "clientbacklogmanager.h"
#include "coreinfodlg.h"
#include "coreconnectdlg.h"
+#include "iconloader.h"
#include "msgprocessorstatuswidget.h"
#include "qtuimessageprocessor.h"
#include "qtuiapplication.h"
_titleSetter(this),
systray(new QSystemTrayIcon(this)),
- activeTrayIcon(":/icons/quassel-icon-active.png"),
- onlineTrayIcon(":/icons/quassel-icon.png"),
- offlineTrayIcon(":/icons/quassel-icon-offline.png"),
+ activeTrayIcon(DesktopIcon("quassel_newmessage", IconLoader::SizeEnormous)),
+ onlineTrayIcon(DesktopIcon("quassel", IconLoader::SizeEnormous)),
+ offlineTrayIcon(DesktopIcon("quassel_disconnected", IconLoader::SizeEnormous)),
trayIconActive(false),
- timer(new QTimer(this))
+ timer(new QTimer(this)),
+ _actionCollection(new ActionCollection(this))
{
UiSettings uiSettings;
QString style = uiSettings.value("Style", QString("")).toString();
if(style != "") {
QApplication::setStyle(style);
}
-
ui.setupUi(this);
setWindowTitle("Quassel IRC");
setWindowIcon(offlineTrayIcon);
systray->setIcon(offlineTrayIcon);
setWindowIconText("Quassel IRC");
+ QtUi::actionCollection()->addAssociatedWidget(this);
+
statusBar()->showMessage(tr("Waiting for core..."));
installEventFilter(new JumpKeyHandler(this));
setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
// setup stuff...
+ setupActions();
setupMenus();
setupViews();
setupNickWidget();
// attach the BufferWidget to the BufferModel and the default selection
ui.bufferWidget->setModel(Client::bufferModel());
ui.bufferWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel());
- ui.menuViews->addAction(ui.bufferWidget->searchBar()->toggleViewAction());
+ ui.menuViews->addAction(QtUi::actionCollection()->action("toggleSearchBar"));
_titleSetter.setModel(Client::bufferModel());
_titleSetter.setSelectionModel(Client::bufferModel()->standardSelectionModel());
s.setValue("MainWinState", saveState());
}
+void MainWin::setupActions() {
+ // TODO don't get these from *.ui anymore... we shouldn't need one
+ ui.actionQuit->setIcon(SmallIcon("application-exit"));
+ ui.actionSettingsDlg->setIcon(SmallIcon("configure"));
+ ui.actionManageViews->setIcon(SmallIcon("view-tree"));
+ ui.actionManageViews2->setIcon(SmallIcon("view-tree"));
+ ui.actionAboutQt->setIcon(SmallIcon("qt"));
+ ui.actionAboutQuassel->setIcon(SmallIcon("quassel"));
+ ui.actionConnectCore->setIcon(SmallIcon("network-connect"));
+ ui.actionDisconnectCore->setIcon(SmallIcon("network-disconnect"));
+ ui.actionCoreInfo->setIcon(SmallIcon("help-about"));
+}
+
void MainWin::setupMenus() {
connect(ui.actionConnectCore, SIGNAL(triggered()), this, SLOT(showCoreConnectionDlg()));
connect(ui.actionDisconnectCore, SIGNAL(triggered()), Client::instance(), SLOT(disconnectFromCore()));
qApp->setWindowIcon(onlineTrayIcon);
systray->setIcon(onlineTrayIcon);
if(sslLabel->width() == 0)
- sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/no-ssl")));
+ sslLabel->setPixmap(SmallIcon("security-low"));
}
void MainWin::loadLayout() {
void MainWin::securedConnection() {
// todo: make status bar entry
- sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/ssl")));
+ sslLabel->setPixmap(SmallIcon("security-high"));
}
void MainWin::disconnectedFromCore() {
switch(net->connectionState()) {
case Network::Initialized:
- action->setIcon(QIcon(":/16x16/actions/network-connect"));
+ action->setIcon(SmallIcon("network-connect"));
break;
case Network::Disconnected:
- action->setIcon(QIcon(":/16x16/actions/network-disconnect"));
+ action->setIcon(SmallIcon("network-disconnect"));
break;
default:
- action->setIcon(QIcon(":/16x16/actions/gear"));
+ action->setIcon(SmallIcon("network-wired"));
}
}