X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=cf7a6e0f956eced12e2753af8161055c6bed18df;hp=c8fc11bc1a7a82c95fa41f9a3c7bdc581c852d8e;hb=refs%2Ftags%2F0.3.0-pre;hpb=2f600006c172342f253f1763620f5e635bc5b86f diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index c8fc11bc..cf7a6e0f 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -87,11 +87,6 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent) if(style != "") { QApplication::setStyle(style); } - - connect(Client::instance(), SIGNAL(securedConnection()), this, SLOT(securedConnection())); - sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/no-ssl"))); - statusBar()->addPermanentWidget(sslLabel); - } void MainWin::init() { @@ -126,6 +121,7 @@ void MainWin::init() { setupTopicWidget(); setupChatMonitor(); setupInputWidget(); + setupStatusBar(); setupSystray(); setupSettingsDlg(); @@ -290,6 +286,30 @@ void MainWin::setupTopicWidget() { ui.menuViews->addAction(dock->toggleViewAction()); } +void MainWin::setupStatusBar() { + connect(Client::instance(), SIGNAL(securedConnection()), this, SLOT(securedConnection())); + sslLabel->setPixmap(QPixmap()); + statusBar()->addPermanentWidget(sslLabel); + + ui.menuViews->addSeparator(); + QAction *showStatusbar = ui.menuViews->addAction(tr("Statusbar")); + showStatusbar->setCheckable(true); + + UiSettings uiSettings; + + bool enabled = uiSettings.value("ShowStatusBar", QVariant(true)).toBool(); + showStatusbar->setChecked(enabled); + enabled ? statusBar()->show() : statusBar()->hide(); + + connect(showStatusbar, SIGNAL(toggled(bool)), statusBar(), SLOT(setVisible(bool))); + connect(showStatusbar, SIGNAL(toggled(bool)), this, SLOT(saveStatusBarStatus(bool))); +} + +void MainWin::saveStatusBarStatus(bool enabled) { + UiSettings uiSettings; + uiSettings.setValue("ShowStatusBar", enabled); +} + void MainWin::setupSystray() { connect(timer, SIGNAL(timeout()), this, SLOT(makeTrayIconBlink())); connect(Client::instance(), SIGNAL(messageReceived(const Message &)), this, SLOT(receiveMessage(const Message &))); @@ -350,6 +370,8 @@ void MainWin::connectedToCore() { 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() { @@ -370,7 +392,7 @@ void MainWin::disconnectedFromCore() { statusBar()->showMessage(tr("Not connected to core.")); setWindowIcon(offlineTrayIcon); systray->setIcon(offlineTrayIcon); - sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/no-ssl"))); + sslLabel->setPixmap(QPixmap()); } AbstractUiMsg *MainWin::layoutMsg(const Message &msg) {