X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;fp=src%2Fqtui%2Fmainwin.cpp;h=efe18197c3ff3184b56d30a4b05ed47e4976ecfa;hb=9e53515b09dc85d627c9ad47eba5552ea842bc3f;hp=20430f15de736ecab6372244303e7fece5e270e8;hpb=7b8a28df7c0dfab0d5691e75b1932be9f4209c17;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 20430f15..efe18197 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -98,6 +99,7 @@ #include "statusnotifieritem.h" #include "toolbaractionprovider.h" #include "topicwidget.h" +#include "transfermodel.h" #include "verticaldock.h" #ifndef HAVE_KDE @@ -221,10 +223,11 @@ void MainWin::init() setupActions(); setupBufferWidget(); setupMenus(); + setupTransferWidget(); + setupChatMonitor(); setupTopicWidget(); - setupNickWidget(); setupInputWidget(); - setupChatMonitor(); + setupNickWidget(); setupViewMenuTail(); setupStatusBar(); setupToolBars(); @@ -232,6 +235,9 @@ void MainWin::init() setupTitleSetter(); setupHotList(); + _bufferWidget->setFocusProxy(_inputWidget); + _chatMonitorView->setFocusProxy(_inputWidget); + #ifndef HAVE_KDE # ifdef HAVE_QTMULTIMEDIA QtUi::registerNotificationBackend(new QtMultimediaNotificationBackend(this)); @@ -915,7 +921,6 @@ void MainWin::setupChatMonitor() ChatMonitorFilter *filter = new ChatMonitorFilter(Client::messageModel(), this); _chatMonitorView = new ChatMonitorView(filter, this); - _chatMonitorView->setFocusProxy(_inputWidget); _chatMonitorView->show(); dock->setWidget(_chatMonitorView); dock->hide(); @@ -942,8 +947,6 @@ void MainWin::setupInputWidget() _inputWidget->setModel(Client::bufferModel()); _inputWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel()); - _bufferWidget->setFocusProxy(_inputWidget); - _inputWidget->inputLine()->installEventFilter(_bufferWidget); connect(_topicWidget, SIGNAL(switchedPlain()), _bufferWidget, SLOT(setFocus())); @@ -968,6 +971,27 @@ void MainWin::setupTopicWidget() } +void MainWin::setupTransferWidget() +{ + auto dock = new QDockWidget(tr("Transfers"), this); + dock->setObjectName("TransferDock"); + dock->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea); + + auto view = new QTableView(dock); // to be replaced by the real thing + view->setModel(Client::transferModel()); + dock->setWidget(view); + dock->hide(); // hidden by default + addDockWidget(Qt::TopDockWidgetArea, dock, Qt::Vertical); + + auto action = dock->toggleViewAction(); + action->setText(tr("Show File Transfers")); + action->setIcon(QIcon::fromTheme("download")); + action->setShortcut(QKeySequence(Qt::Key_F6)); + QtUi::actionCollection("General")->addAction("ShowTransferWidget", action); + _viewMenu->addAction(action); +} + + void MainWin::setupViewMenuTail() { _viewMenu->addSeparator();