#include "channellistdlg.h"
#include "client.h"
#include "clientbacklogmanager.h"
+#include "coreinfodlg.h"
#include "coreconnectdlg.h"
#include "networkmodel.h"
#include "buffermodel.h"
#include "irclistmodel.h"
#include "verticaldock.h"
#include "uisettings.h"
+#include "util.h"
#include "qtuisettings.h"
#include "jumpkeyhandler.h"
MainWin::MainWin(QtUi *_gui, QWidget *parent)
: QMainWindow(parent),
gui(_gui),
+ coreLagLabel(new QLabel()),
sslLabel(new QLabel()),
_titleSetter(this),
systray(new QSystemTrayIcon(this)),
settingsDlg(new SettingsDlg(this)),
debugConsole(new DebugConsole(this))
{
+ UiSettings uiSettings;
+ loadTranslation(uiSettings.value("Locale", QLocale::system()).value<QLocale>());
+
+ QString style = uiSettings.value("Style", QString("")).toString();
+ if(style != "") {
+ QApplication::setStyle(style);
+ }
+
ui.setupUi(this);
setWindowTitle("Quassel IRC");
setWindowIcon(offlineTrayIcon);
installEventFilter(new JumpKeyHandler(this));
- UiSettings uiSettings;
- QString style = uiSettings.value("Style", QString("")).toString();
- if(style != "") {
- QApplication::setStyle(style);
- }
}
void MainWin::init() {
void MainWin::setupMenus() {
connect(ui.actionConnectCore, SIGNAL(triggered()), this, SLOT(showCoreConnectionDlg()));
connect(ui.actionDisconnectCore, SIGNAL(triggered()), Client::instance(), SLOT(disconnectFromCore()));
+ connect(ui.actionCoreInfo, SIGNAL(triggered()), this, SLOT(showCoreInfoDlg()));
connect(ui.actionQuit, SIGNAL(triggered()), QCoreApplication::instance(), SLOT(quit()));
connect(ui.actionSettingsDlg, SIGNAL(triggered()), this, SLOT(showSettingsDlg()));
// connect(ui.actionDebug_Console, SIGNAL(triggered()), this, SLOT(showDebugConsole()));
}
void MainWin::setupStatusBar() {
+ // Core Lag:
+ updateLagIndicator(0);
+ statusBar()->addPermanentWidget(coreLagLabel);
+ connect(Client::signalProxy(), SIGNAL(lagUpdated(float)), this, SLOT(updateLagIndicator(float)));
+
+ // SSL indicator
connect(Client::instance(), SIGNAL(securedConnection()), this, SLOT(securedConnection()));
sslLabel->setPixmap(QPixmap());
statusBar()->addPermanentWidget(sslLabel);
}
void MainWin::setConnectedState() {
- ui.menuViews->setEnabled(true);
//ui.menuCore->setEnabled(true);
ui.actionConnectCore->setEnabled(false);
ui.actionDisconnectCore->setEnabled(true);
+ ui.actionCoreInfo->setEnabled(true);
+ ui.menuViews->setEnabled(true);
ui.bufferWidget->show();
statusBar()->showMessage(tr("Connected to core."));
setWindowIcon(onlineTrayIcon);
if(accountId > 0) s.setValue(QString("MainWinState-%1").arg(accountId) , saveState(accountId));
}
+void MainWin::updateLagIndicator(float lag) {
+ coreLagLabel->setText(QString("Core Lag: %1 msec").arg(lag));
+}
+
+
void MainWin::securedConnection() {
// todo: make status bar entry
sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/ssl")));
}
void MainWin::setDisconnectedState() {
- ui.menuViews->setEnabled(false);
//ui.menuCore->setEnabled(false);
+ ui.actionConnectCore->setEnabled(true);
ui.actionDisconnectCore->setEnabled(false);
+ ui.actionCoreInfo->setEnabled(false);
+ ui.menuViews->setEnabled(false);
ui.bufferWidget->hide();
- ui.actionConnectCore->setEnabled(true);
statusBar()->showMessage(tr("Not connected to core."));
setWindowIcon(offlineTrayIcon);
qApp->setWindowIcon(offlineTrayIcon);
channelListDlg->show();
}
+void MainWin::showCoreInfoDlg() {
+ CoreInfoDlg dlg(this);
+ dlg.exec();
+}
+
void MainWin::showSettingsDlg() {
settingsDlg->show();
}