X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=669261c92025b09cb96a0f7d3130d890f28a0abe;hb=5aa6acd733a7f941270ff9da7f4041c24465922f;hp=9b49da10e13afc2246f8b4d66a3f57d5d41bfccb;hpb=278aef059d7652b2a4e1359d72bb4028524246d4;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 9b49da10..669261c9 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -62,9 +62,11 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent) : QMainWindow(parent), gui(_gui), + sslLabel(new QLabel()), systray(new QSystemTrayIcon(this)), activeTrayIcon(":/icons/quassel-icon-active.png"), - inactiveTrayIcon(":/icons/quassel-icon.png"), + onlineTrayIcon(":/icons/quassel-icon.png"), + offlineTrayIcon(":/icons/quassel-icon-offline.png"), trayIconActive(false), timer(new QTimer(this)), settingsDlg(new SettingsDlg(this)), @@ -72,7 +74,8 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent) { ui.setupUi(this); setWindowTitle("Quassel IRC"); - setWindowIcon(inactiveTrayIcon); + setWindowIcon(offlineTrayIcon); + systray->setIcon(offlineTrayIcon); setWindowIconText("Quassel IRC"); statusBar()->showMessage(tr("Waiting for core...")); @@ -84,6 +87,11 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent) if(style != "") { QApplication::setStyle(style); } + + connect(Client::instance(), SIGNAL(securedConnection()), this, SLOT(securedConnection())); + sslLabel->setPixmap(QPixmap()); + statusBar()->addPermanentWidget(sslLabel); + } void MainWin::init() { @@ -131,7 +139,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()); - + if(Global::SPUTDEV) { //showSettingsDlg(); //showAboutDlg(); @@ -286,10 +294,6 @@ void MainWin::setupSystray() { connect(timer, SIGNAL(timeout()), this, SLOT(makeTrayIconBlink())); connect(Client::instance(), SIGNAL(messageReceived(const Message &)), this, SLOT(receiveMessage(const Message &))); - systray->setIcon(inactiveTrayIcon); -// systray->setToolTip("left click to minimize the quassel client to tray"); -// systray->setToolTip(toolTip); - systrayMenu = new QMenu(this); systrayMenu->addAction(ui.actionAboutQuassel); systrayMenu->addSeparator(); @@ -344,6 +348,17 @@ void MainWin::connectedToCore() { //ui.actionNetworkList->setEnabled(true); ui.bufferWidget->show(); statusBar()->showMessage(tr("Connected to core.")); + setWindowIcon(onlineTrayIcon); + systray->setIcon(onlineTrayIcon); + if(sslLabel->width() == 0) + sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/no-ssl"))); +} + +void MainWin::securedConnection() { + // todo: make status bar entry + qDebug() << "secured the connection"; + + sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/ssl"))); } void MainWin::disconnectedFromCore() { @@ -355,6 +370,9 @@ void MainWin::disconnectedFromCore() { ui.actionConnectCore->setEnabled(true); // nickListWidget->reset(); statusBar()->showMessage(tr("Not connected to core.")); + setWindowIcon(offlineTrayIcon); + systray->setIcon(offlineTrayIcon); + sslLabel->setPixmap(QPixmap()); } AbstractUiMsg *MainWin::layoutMsg(const Message &msg) { @@ -474,13 +492,13 @@ void MainWin::setTrayIconActivity(bool active) { timer->start(500); } else { timer->stop(); - systray->setIcon(inactiveTrayIcon); + systray->setIcon(onlineTrayIcon); } } void MainWin::makeTrayIconBlink() { if(trayIconActive) { - systray->setIcon(inactiveTrayIcon); + systray->setIcon(onlineTrayIcon); trayIconActive = false; } else { systray->setIcon(activeTrayIcon);