X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=9ebcca3a72f1cd2be8dcf8f78321e3f2274f5471;hb=453731c6d3c5eac2df5e98c4f179afabed4451a1;hp=817a76238237c264f54577026deaf10aa5eda19b;hpb=b2cf1b73760eadbeb3452d8d2260e1dc876e6fe5;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 817a7623..9ebcca3a 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -32,6 +32,8 @@ #include "settingsdlg.h" #include "signalproxy.h" #include "topicwidget.h" +#include "inputwidget.h" +#include "verticaldocktitle.h" #include "uisettings.h" #include "selectionmodelsynchronizer.h" @@ -121,7 +123,6 @@ void MainWin::init() { // new Topic Stuff... should be probably refactored out into a separate method - setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); @@ -129,20 +130,55 @@ void MainWin::init() { setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); - QDockWidget *dock = new QDockWidget(tr("Topic Dock"), this); - dock->setObjectName("TopicDock"); - dock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea); + QDockWidget *topicDock = new QDockWidget(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(dock); - dock->setWidget(topicwidget); + TopicWidget *topicwidget = new TopicWidget(topicDock); + topicDock->setWidget(topicwidget); Client::bufferModel()->mapProperty(1, Qt::DisplayRole, topicwidget, "topic"); - addDockWidget(Qt::TopDockWidgetArea, dock); + addDockWidget(Qt::TopDockWidgetArea, topicDock); - ui.menuViews->addAction(dock->toggleViewAction()); + ui.menuViews->addAction(topicDock->toggleViewAction()); + // NEW INPUT WIDGET -- damn init() needs a cleanup + QDockWidget *inputDock = new QDockWidget(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()); + + + inputWidget->setModel(Client::bufferModel()); + inputWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel()); + + ui.bufferWidget->setFocusProxy(inputWidget); + // attach the BufferWidget to the PropertyMapper ui.bufferWidget->setModel(Client::bufferModel()); ui.bufferWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel()); @@ -309,4 +345,4 @@ void MainWin::systrayActivated( QSystemTrayIcon::ActivationReason activationReas -} \ No newline at end of file +}