#include "bufferview.h"
#include "chatline.h"
#include "client.h"
-#include "clientproxy.h"
#include "coreconnectdlg.h"
#include "serverlist.h"
#include "settingsdlg.h"
-#include "settingspages.h"
+//#include "settingspage.h"
+#include "signalproxy.h"
+
+#include "topicwidget.h"
MainWin::MainWin(QtGui *_gui, QWidget *parent) : QMainWindow(parent), gui(_gui) {
ui.setupUi(this);
- //setWindowTitle("Quassel IRC");
- setWindowTitle(QString::fromUtf8("Κυασελ Εγαρζη"));
+ setWindowTitle("Quassel IRC");
+ //setWindowTitle(QString::fromUtf8("Κυασελ Εγαρζη"));
setWindowIcon(QIcon(":/qirc-icon.png"));
setWindowIconText("Quassel IRC");
}
void MainWin::init() {
- connect(this, SIGNAL(requestBacklog(BufferId, QVariant, QVariant)), ClientProxy::instance(), SLOT(gsRequestBacklog(BufferId, QVariant, QVariant)));
+ Client::signalProxy()->attachSignal(this, SIGNAL(requestBacklog(BufferInfo, QVariant, QVariant)));
ui.bufferWidget->init();
show();
- //VarMap connInfo;
+ //QVariantMap connInfo;
//connInfo["User"] = "Default";
//connInfo["Password"] = "password";
//connectToCore(connInfo);
systray->setIcon(QIcon(":/qirc-icon.png"));
systray->show();
- serverListDlg = new ServerListDlg(this);
- serverListDlg->setVisible(serverListDlg->showOnStartup());
-
- setupSettingsDlg();
+ //setupSettingsDlg();
setupMenus();
setupViews();
disconnectedFromCore(); // Disable menus and stuff
showCoreConnectionDlg(true); // autoconnect if appropriate
//ui.actionConnectCore->activate(QAction::Trigger);
+
+ serverListDlg = new ServerListDlg(this);
+ if(serverListDlg->showOnStartup()) {
+ showServerList();
+ }
+
+ // TESTING
+// setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
+// setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
+
+// setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea);
+// setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
+
+// QDockWidget *dock = new QDockWidget("Topic Dock", this);
+// dock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
+
+// TopicWidget *topicwidget = new TopicWidget(dock);
+// dock->setWidget(topicwidget);
+
+// addDockWidget(Qt::TopDockWidgetArea, dock);
+
+// ui.menuViews->addAction(dock->toggleViewAction());
+
}
MainWin::~MainWin() {
connect(ui.actionNetworkList, SIGNAL(triggered()), this, SLOT(showServerList()));
connect(ui.actionEditIdentities, SIGNAL(triggered()), serverListDlg, SLOT(editIdentities()));
connect(ui.actionSettingsDlg, SIGNAL(triggered()), this, SLOT(showSettingsDlg()));
- //ui.actionSettingsDlg->setEnabled(false);
+ ui.actionSettingsDlg->setEnabled(false);
connect(ui.actionAboutQt, SIGNAL(triggered()), QApplication::instance(), SLOT(aboutQt()));
// for debugging
connect(ui.actionImportBacklog, SIGNAL(triggered()), this, SLOT(importBacklog()));
- connect(this, SIGNAL(importOldBacklog()), ClientProxy::instance(), SLOT(gsImportBacklog()));
+ Client::signalProxy()->attachSignal(this, SIGNAL(importOldBacklog()));
}
void MainWin::setupViews() {
connect(model, SIGNAL(bufferSelected(Buffer *)), this, SLOT(showBuffer(Buffer *)));
addBufferView(tr("All Buffers"), model, BufferViewFilter::AllNets, QStringList());
- //addBufferView(tr("All Channels"), model, BufferViewFilter::AllNets|BufferViewFilter::NoQueries|BufferViewFilter::NoServers, QStringList());
- //addBufferView(tr("All Queries"), model, BufferViewFilter::AllNets|BufferViewFilter::NoChannels|BufferViewFilter::NoServers, QStringList());
- //addBufferView(tr("All Networks"), model, BufferViewFilter::AllNets|BufferViewFilter::NoChannels|BufferViewFilter::NoQueries, QStringList());
- //addBufferView(tr("Full Custom"), model, BufferViewFilter::FullCustom, QStringList());
+ addBufferView(tr("All Channels"), model, BufferViewFilter::AllNets|BufferViewFilter::NoQueries|BufferViewFilter::NoServers, QStringList());
+ addBufferView(tr("All Queries"), model, BufferViewFilter::AllNets|BufferViewFilter::NoChannels|BufferViewFilter::NoServers, QStringList());
+ addBufferView(tr("All Networks"), model, BufferViewFilter::AllNets|BufferViewFilter::NoChannels|BufferViewFilter::NoQueries, QStringList());
+ addBufferView(tr("Full Custom"), model, BufferViewFilter::FullCustom, QStringList());
ui.menuViews->addSeparator();
}
addDockWidget(Qt::LeftDockWidgetArea, dock);
ui.menuViews->addAction(dock->toggleViewAction());
-
+
netViews.append(dock);
}
void MainWin::connectedToCore() {
- foreach(BufferId id, Client::allBufferIds()) {
+ foreach(BufferInfo id, Client::allBufferInfos()) {
emit requestBacklog(id, 100, -1);
}
ui.menuViews->setEnabled(true);
ui.menuCore->setEnabled(true);
- ui.actionDisconnectCore->setEnabled(false); // FIXME
+ ui.actionConnectCore->setEnabled(false);
+ ui.actionDisconnectCore->setEnabled(true);
ui.actionNetworkList->setEnabled(true);
ui.bufferWidget->show();
}
ui.actionDisconnectCore->setEnabled(false);
ui.actionNetworkList->setEnabled(false);
ui.bufferWidget->hide();
- ui.actionConnectCore->setEnabled(false); // FIXME
+ ui.actionConnectCore->setEnabled(true);
//qDebug() << "mainwin disconnected";
}
void MainWin::coreConnectionDlgFinished(int /*code*/) {
- delete coreConnectDlg;
+ coreConnectDlg->close();
}
//}
}
-void MainWin::showBuffer(BufferId id) {
+void MainWin::showBuffer(BufferInfo id) {
showBuffer(Client::buffer(id));
}
void MainWin::showBuffer(Buffer *b) {
- currentBuffer = b->bufferId().groupId();
+ currentBuffer = b->bufferInfo().groupId();
//emit bufferSelected(b);
//qApp->processEvents();