#include "bufferviewconfig.h"
#include "bufferviewfilter.h"
#include "bufferviewmanager.h"
-#include "chatline.h"
-#include "chatline-old.h"
+#ifdef SPUTDEV
+# include "chatline.h"
+#else
+# include "chatline-old.h"
+#endif
#include "client.h"
#include "clientbacklogmanager.h"
#include "coreconnectdlg.h"
#include "global.h"
#include "qtuistyle.h"
+
MainWin::MainWin(QtUi *_gui, QWidget *parent)
: QMainWindow(parent),
gui(_gui),
sslLabel(new QLabel()),
+ _titleSetter(this),
systray(new QSystemTrayIcon(this)),
activeTrayIcon(":/icons/quassel-icon-active.png"),
onlineTrayIcon(":/icons/quassel-icon.png"),
Client::signalProxy()->attachSignal(this, SIGNAL(requestBacklog(BufferInfo, QVariant, QVariant)));
+ connect(QApplication::instance(), SIGNAL(aboutToQuit()), this, SLOT(saveLayout()));
+
connect(Client::instance(), SIGNAL(networkCreated(NetworkId)), this, SLOT(clientNetworkCreated(NetworkId)));
connect(Client::instance(), SIGNAL(networkRemoved(NetworkId)), this, SLOT(clientNetworkRemoved(NetworkId)));
//ui.bufferWidget->init();
// restore mainwin state
restoreState(s.value("MainWinState").toByteArray());
- disconnectedFromCore(); // Disable menus and stuff
+ setDisconnectedState(); // Disable menus and stuff
showCoreConnectionDlg(true); // autoconnect if appropriate
// 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();
- //showNetworkDlg();
- //exit(1);
- }
-
+ _titleSetter.setModel(Client::bufferModel());
+ _titleSetter.setSelectionModel(Client::bufferModel()->standardSelectionModel());
}
MainWin::~MainWin() {
break;
dock = qobject_cast<BufferViewDock *>(action->parent());
- if(dock && actionData.toInt() != bufferViewConfigId) {
+ if(dock && actionData.toInt() == bufferViewConfigId) {
removeAction(action);
dock->deleteLater();
}
addDockWidget(Qt::RightDockWidgetArea, nickDock);
ui.menuViews->addAction(nickDock->toggleViewAction());
- connect(nickDock->toggleViewAction(), SIGNAL(triggered(bool)), nickListWidget, SLOT(showWidget(bool)));
+ // See NickListDock::NickListDock();
+ // connect(nickDock->toggleViewAction(), SIGNAL(triggered(bool)), nickListWidget, SLOT(showWidget(bool)));
// attach the NickListWidget to the BufferModel and the default selection
nickListWidget->setModel(Client::bufferModel());
}
void MainWin::setupChatMonitor() {
+#ifndef SPUTDEV
VerticalDock *dock = new VerticalDock(tr("Chat Monitor"), this);
dock->setObjectName("ChatMonitorDock");
addDockWidget(Qt::TopDockWidgetArea, dock, Qt::Vertical);
ui.menuViews->addAction(dock->toggleViewAction());
+#endif /* SPUTDEV */
}
void MainWin::setupInputWidget() {
foreach(BufferInfo id, Client::allBufferInfos()) {
Client::backlogManager()->requestBacklog(id.bufferId(), 500, -1);
}
+ setConnectedState();
+}
+void MainWin::setConnectedState() {
ui.menuViews->setEnabled(true);
//ui.menuCore->setEnabled(true);
ui.actionConnectCore->setEnabled(false);
restoreState(s.value(QString("MainWinState-%1").arg(accountId)).toByteArray(), accountId);
}
+void MainWin::saveLayout() {
+ QtUiSettings s;
+ int accountId = Client::currentCoreAccount().toInt();
+ if(accountId > 0) s.setValue(QString("MainWinState-%1").arg(accountId) , saveState(accountId));
+}
+
void MainWin::securedConnection() {
// todo: make status bar entry
qDebug() << "secured the connection";
void MainWin::disconnectedFromCore() {
// save core specific layout and remove bufferviews;
- QtUiSettings s;
- int accountId = Client::currentCoreAccount().toInt();
- s.setValue(QString("MainWinState-%1").arg(accountId) , saveState(accountId));
+ saveLayout();
QVariant actionData;
BufferViewDock *dock;
foreach(QAction *action, ui.menuViews->actions()) {
dock->deleteLater();
}
}
+ QtUiSettings s;
+ restoreState(s.value("MainWinState").toByteArray());
+ setDisconnectedState();
+}
+void MainWin::setDisconnectedState() {
ui.menuViews->setEnabled(false);
//ui.menuCore->setEnabled(false);
ui.actionDisconnectCore->setEnabled(false);
}
AbstractUiMsg *MainWin::layoutMsg(const Message &msg) {
- if(Global::SPUTDEV) return new ChatLine(msg);
+#ifdef SPUTDEV
+ //return new ChatLine(msg);
+ return 0;
+#else
return new ChatLineOld(msg);
+#endif
}
void MainWin::showCoreConnectionDlg(bool autoConnect) {
}
+
void MainWin::clientNetworkCreated(NetworkId id) {
const Network *net = Client::network(id);
QAction *act = new QAction(net->networkName(), this);