X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=00f8372536a14dddaf397f89e8aed1dd51c5ad4d;hb=4171bdf884b6bbc7dad85f100a29746bf955191f;hp=b1a4eb7b9778f40b950351f19f32cfe56b1b862b;hpb=dc11e24b95e5b5e3595cc0e98eb2a572006912c7;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index b1a4eb7b..00f83725 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -114,6 +114,7 @@ #else /* HAVE_KDE */ # include "knotificationbackend.h" #endif /* HAVE_KDE */ +#include "systrayanimationnotificationbackend.h" #ifdef HAVE_LIBSNORE @@ -192,6 +193,8 @@ MainWin::MainWin(QWidget *parent) setWindowTitle("Quassel IRC"); setWindowIconText("Quassel IRC"); + // Set the default icon for all windows + QApplication::setWindowIcon(QIcon::fromTheme("quassel")); updateIcon(); } @@ -257,6 +260,9 @@ void MainWin::init() #endif /* HAVE_KDE */ +#ifndef QT_NO_SYSTEMTRAYICON + QtUi::registerNotificationBackend(new SystrayAnimationNotificationBackend(this)); +#endif #ifdef HAVE_LIBSNORE QtUi::registerNotificationBackend(new SnoreNotificationBackend(this)); #elif !defined(QT_NO_SYSTEMTRAYICON) && !defined(HAVE_KDE) @@ -293,11 +299,7 @@ void MainWin::init() // restore locked state of docks QtUi::actionCollection("General")->action("LockLayout")->setChecked(s.value("LockLayout", false).toBool()); - CoreConnection *conn = Client::coreConnection(); - if (!conn->connectToCore()) { - // No autoconnect selected (or no accounts) - showCoreConnectionDlg(); - } + QTimer::singleShot(0, this, SLOT(doAutoConnect())); } @@ -385,7 +387,6 @@ void MainWin::updateIcon() else icon = QIcon::fromTheme("inactive-quassel", QIcon(":/icons/inactive-quassel.png")); setWindowIcon(icon); - qApp->setWindowIcon(icon); } @@ -455,7 +456,7 @@ void MainWin::setupActions() coll->addAction("ConfigureQuassel", configureQuasselAct); // Help - QAction *aboutQuasselAct = new Action(QIcon(":/icons/quassel.png"), tr("&About Quassel"), coll, + QAction *aboutQuasselAct = new Action(QIcon::fromTheme("quassel"), tr("&About Quassel"), coll, this, SLOT(showAboutDlg())); aboutQuasselAct->setMenuRole(QAction::AboutRole); coll->addAction("AboutQuassel", aboutQuasselAct); @@ -1144,7 +1145,6 @@ void MainWin::setupSystray() #else _systemTray = new SystemTray(this); // dummy #endif - _systemTray->init(); } @@ -1213,6 +1213,15 @@ void MainWin::saveMainToolBarStatus(bool enabled) } +void MainWin::doAutoConnect() +{ + if (!Client::coreConnection()->connectToCore()) { + // No autoconnect selected (or no accounts) + showCoreConnectionDlg(); + } +} + + void MainWin::connectedToCore() { Q_CHECK_PTR(Client::bufferViewManager());