X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=4d8a943b3d25080757dffa30fab81d8f0047c756;hb=e6fa25ffd902f5784bcd2d4c7bdfa50d6ef23423;hp=1d2aeb96f6115b1d23de1a3369a3a7efc650b41b;hpb=e017aca90eb3444df68fb365a5d50b05881b1c5c;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 1d2aeb96..4d8a943b 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -25,11 +25,7 @@ #include "bufferviewconfig.h" #include "bufferviewfilter.h" #include "bufferviewmanager.h" -#ifdef SPUTDEV -# include "chatline.h" -#else -# include "chatline-old.h" -#endif +#include "channellistdlg.h" #include "client.h" #include "clientbacklogmanager.h" #include "coreconnectdlg.h" @@ -41,6 +37,7 @@ #include "signalproxy.h" #include "topicwidget.h" #include "inputwidget.h" +#include "irclistmodel.h" #include "verticaldock.h" #include "uisettings.h" #include "qtuisettings.h" @@ -77,12 +74,14 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent) offlineTrayIcon(":/icons/quassel-icon-offline.png"), trayIconActive(false), timer(new QTimer(this)), + channelListDlg(new ChannelListDlg(this)), settingsDlg(new SettingsDlg(this)), debugConsole(new DebugConsole(this)) { ui.setupUi(this); setWindowTitle("Quassel IRC"); setWindowIcon(offlineTrayIcon); + qApp->setWindowIcon(offlineTrayIcon); systray->setIcon(offlineTrayIcon); setWindowIconText("Quassel IRC"); @@ -163,7 +162,7 @@ void MainWin::setupMenus() { connect(ui.actionQuit, SIGNAL(triggered()), QCoreApplication::instance(), SLOT(quit())); //connect(ui.actionNetworkList, SIGNAL(triggered()), this, SLOT(showServerList())); connect(ui.actionSettingsDlg, SIGNAL(triggered()), this, SLOT(showSettingsDlg())); - connect(ui.actionDebug_Console, SIGNAL(triggered()), this, SLOT(showDebugConsole())); + // connect(ui.actionDebug_Console, SIGNAL(triggered()), this, SLOT(showDebugConsole())); connect(ui.actionAboutQuassel, SIGNAL(triggered()), this, SLOT(showAboutDlg())); connect(ui.actionAboutQt, SIGNAL(triggered()), QApplication::instance(), SLOT(aboutQt())); @@ -195,6 +194,8 @@ void MainWin::addBufferView(BufferViewConfig *config) { view->setFilteredModel(Client::bufferModel(), config); view->show(); + connect(&view->showChannelList, SIGNAL(triggered()), this, SLOT(showChannelList())); + Client::bufferModel()->synchronizeView(view); dock->setWidget(view); @@ -424,6 +425,7 @@ void MainWin::setConnectedState() { ui.bufferWidget->show(); statusBar()->showMessage(tr("Connected to core.")); setWindowIcon(onlineTrayIcon); + qApp->setWindowIcon(onlineTrayIcon); systray->setIcon(onlineTrayIcon); if(sslLabel->width() == 0) sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/no-ssl"))); @@ -482,6 +484,7 @@ void MainWin::setDisconnectedState() { // nickListWidget->reset(); statusBar()->showMessage(tr("Not connected to core.")); setWindowIcon(offlineTrayIcon); + qApp->setWindowIcon(offlineTrayIcon); systray->setIcon(offlineTrayIcon); sslLabel->setPixmap(QPixmap()); } @@ -498,6 +501,16 @@ void MainWin::coreConnectionDlgFinished(int /*code*/) { //exit(1); } +void MainWin::showChannelList(NetworkId netId) { + if(!netId.isValid()) { + QAction *action = qobject_cast(sender()); + if(action) + netId = action->data().value(); + } + channelListDlg->setNetwork(netId); + channelListDlg->show(); +} + void MainWin::showSettingsDlg() { settingsDlg->show(); } @@ -522,7 +535,7 @@ void MainWin::closeEvent(QCloseEvent *event) { } void MainWin::systrayActivated( QSystemTrayIcon::ActivationReason activationReason) { - if (activationReason == QSystemTrayIcon::Trigger) { + if(activationReason == QSystemTrayIcon::Trigger) { toggleVisibility(); } } @@ -530,11 +543,12 @@ void MainWin::systrayActivated( QSystemTrayIcon::ActivationReason activationReas void MainWin::toggleVisibility() { if(isHidden() /*|| !isActiveWindow()*/) { show(); - if(isMinimized()) - if (isMaximized()) + if(isMinimized()) { + if(isMaximized()) showMaximized(); else showNormal(); + } raise(); activateWindow(); @@ -569,12 +583,13 @@ void MainWin::receiveMessage(const Message &msg) { UiSettings uiSettings; +#ifndef SPUTDEV if(uiSettings.value("DisplayPopupMessages", QVariant(true)).toBool()) { // FIXME don't invoke style engine for this! - QString text = QtUi::style()->styleString(Message::mircToInternal(msg.text())).text; + QString text = QtUi::style()->styleString(Message::mircToInternal(msg.contents())).plainText; displayTrayIconMessage(title, text); } - +#endif if(uiSettings.value("AnimateTrayIcon", QVariant(true)).toBool()) { QApplication::alert(this); setTrayIconActivity(true);