#include "settingsdlg.h"
#include "signalproxy.h"
#include "topicwidget.h"
+#include "inputwidget.h"
+#include "verticaldocktitle.h"
#include "uisettings.h"
#include "selectionmodelsynchronizer.h"
statusBar()->showMessage(tr("Not connected to core."));
systray = new QSystemTrayIcon(this);
systray->setIcon(QIcon(":/icons/quassel-icon.png"));
+
+ QString toolTip("left click to minimize the quassel client to tray");
+ systray->setToolTip(toolTip);
+
+ QMenu *systrayMenu = new QMenu();
+ systrayMenu->addAction(ui.actionAboutQuassel);
+ systrayMenu->addSeparator();
+ systrayMenu->addAction(ui.actionConnectCore);
+ systrayMenu->addAction(ui.actionDisconnectCore);
+ systrayMenu->addSeparator();
+ systrayMenu->addAction(ui.actionQuit);
+
+ systray->setContextMenu(systrayMenu);
+
systray->show();
connect(systray, SIGNAL(activated( QSystemTrayIcon::ActivationReason )),
this, SLOT(systrayActivated( QSystemTrayIcon::ActivationReason )));
// new Topic Stuff... should be probably refactored out into a separate method
-
setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
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);
- TopicWidget *topicwidget = new TopicWidget(dock);
- dock->setWidget(topicwidget);
+ 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);
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());
-}
\ No newline at end of file
+}