X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=a45bfc1d02e810081d66b981df3ed3a5c63e4d3d;hp=9ebcca3a72f1cd2be8dcf8f78321e3f2274f5471;hb=a71a4cc60303b29f493d9d0b6636f00473c4eaf6;hpb=453731c6d3c5eac2df5e98c4f179afabed4451a1 diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 9ebcca3a..a45bfc1d 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -33,7 +33,7 @@ #include "signalproxy.h" #include "topicwidget.h" #include "inputwidget.h" -#include "verticaldocktitle.h" +#include "verticaldock.h" #include "uisettings.h" #include "selectionmodelsynchronizer.h" @@ -60,6 +60,7 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent) : QMainWindow(parent), gui(_gui) { void MainWin::init() { Client::signalProxy()->attachSignal(this, SIGNAL(requestBacklog(BufferInfo, QVariant, QVariant))); + Client::signalProxy()->attachSignal(this, SIGNAL(disconnectFromNetwork(NetworkId))); ui.bufferWidget->init(); show(); @@ -119,31 +120,18 @@ void MainWin::init() { showServerList(); } + // DOCK OPTIONS setDockNestingEnabled(true); - - - // new Topic Stuff... should be probably refactored out into a separate method + setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); - - QDockWidget *topicDock = new QDockWidget(tr("Topic"), this); + // new Topic Stuff... should be probably refactored out into a separate method + VerticalDock *topicDock = new VerticalDock(tr("Topic"), this); topicDock->setObjectName("TopicDock"); - topicDock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea); - - QWidget *oldDockTitle = topicDock->titleBarWidget(); - - QWidget *newDockTitle = new VerticalDockTitle(topicDock); - topicDock->setFeatures(topicDock->features() | QDockWidget::DockWidgetVerticalTitleBar); - topicDock->setTitleBarWidget(newDockTitle); - - if(oldDockTitle) - oldDockTitle->deleteLater(); - - TopicWidget *topicwidget = new TopicWidget(topicDock); topicDock->setWidget(topicwidget); @@ -154,25 +142,14 @@ void MainWin::init() { ui.menuViews->addAction(topicDock->toggleViewAction()); // NEW INPUT WIDGET -- damn init() needs a cleanup - QDockWidget *inputDock = new QDockWidget(tr("Inputline"), this); + VerticalDock *inputDock = new VerticalDock(tr("Inputline"), this); inputDock->setObjectName("InputDock"); - inputDock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea); - - oldDockTitle = inputDock->titleBarWidget(); - newDockTitle = new VerticalDockTitle(inputDock); - - inputDock->setFeatures(inputDock->features() | QDockWidget::DockWidgetVerticalTitleBar); - inputDock->setTitleBarWidget(newDockTitle); - - if(oldDockTitle) - oldDockTitle->deleteLater(); - InputWidget *inputWidget = new InputWidget(inputDock); inputDock->setWidget(inputWidget); addDockWidget(Qt::BottomDockWidgetArea, inputDock); - ui.menuViews->addAction(inputDock->toggleViewAction()); + ui.menuViews->addAction(inputDock->toggleViewAction()); inputWidget->setModel(Client::bufferModel()); inputWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel()); @@ -217,7 +194,9 @@ void MainWin::setupMenus() { connect(ui.actionEditIdentities, SIGNAL(triggered()), serverListDlg, SLOT(editIdentities())); connect(ui.actionSettingsDlg, SIGNAL(triggered()), this, SLOT(showSettingsDlg())); connect(ui.actionDebug_Console, SIGNAL(triggered()), this, SLOT(showDebugConsole())); + connect(ui.actionDisconnectNet, SIGNAL(triggered()), this, SLOT(disconnectFromNet())); connect(ui.actionAboutQt, SIGNAL(triggered()), QApplication::instance(), SLOT(aboutQt())); + } void MainWin::setupViews() { @@ -253,13 +232,13 @@ QDockWidget *MainWin::addBufferView(const QString &viewname, QAbstractItemModel } void MainWin::setupSettingsDlg() { -#ifdef SPUTDEV - connect(settingsDlg, SIGNAL(finished(int)), QApplication::instance(), SLOT(quit())); // FIXME -#endif settingsDlg->registerSettingsPage(new FontsSettingsPage(settingsDlg)); settingsDlg->registerSettingsPage(new IdentitiesSettingsPage(settingsDlg)); - //settingsDlg->registerSettingsPage(new NetworksSettingsPage(settingsDlg)); +#ifdef SPUTDEV + settingsDlg->registerSettingsPage(new NetworksSettingsPage(settingsDlg)); + connect(settingsDlg, SIGNAL(finished(int)), QApplication::instance(), SLOT(quit())); // FIXME +#endif } void MainWin::connectedToCore() { @@ -342,7 +321,10 @@ void MainWin::systrayActivated( QSystemTrayIcon::ActivationReason activationReas else hide(); } - - - } + +void MainWin::disconnectFromNet() { + int i = QInputDialog::getInteger(this, tr("Disconnect from Network"), tr("Enter network id:")); + emit disconnectFromNetwork(NetworkId(i)); +} +