X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=fc183148fe1d78f6881abed3729eb0fcfe70e1f7;hb=480eab8daec4fb56a6886918c6a913cc197330f1;hp=46756e5a29a68e6c798f323244cf5b7f0dd65dc2;hpb=5c6804f291a63f978e328aeddcc8448e3443b45e;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 46756e5a..fc183148 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -20,6 +20,8 @@ #include "mainwin.h" #include "aboutdlg.h" +#include "action.h" +#include "actioncollection.h" #include "bufferview.h" #include "bufferviewconfig.h" #include "bufferviewfilter.h" @@ -34,6 +36,7 @@ #include "clientbacklogmanager.h" #include "coreinfodlg.h" #include "coreconnectdlg.h" +#include "iconloader.h" #include "msgprocessorstatuswidget.h" #include "qtuimessageprocessor.h" #include "qtuiapplication.h" @@ -77,19 +80,19 @@ MainWin::MainWin(QWidget *parent) _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); @@ -97,6 +100,8 @@ MainWin::MainWin(QWidget *parent) systray->setIcon(offlineTrayIcon); setWindowIconText("Quassel IRC"); + QtUi::actionCollection()->addAssociatedWidget(this); + statusBar()->showMessage(tr("Waiting for core...")); installEventFilter(new JumpKeyHandler(this)); @@ -140,6 +145,7 @@ void MainWin::init() { setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); // setup stuff... + setupActions(); setupMenus(); setupViews(); setupNickWidget(); @@ -161,7 +167,7 @@ void MainWin::init() { // 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()); @@ -174,6 +180,19 @@ MainWin::~MainWin() { 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())); @@ -411,7 +430,7 @@ void MainWin::setConnectedState() { 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() { @@ -433,7 +452,7 @@ void MainWin::updateLagIndicator(int lag) { void MainWin::securedConnection() { // todo: make status bar entry - sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/ssl"))); + sslLabel->setPixmap(SmallIcon("security-high")); } void MainWin::disconnectedFromCore() { @@ -725,13 +744,13 @@ void MainWin::clientNetworkUpdated() { 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")); } }