X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=ed5644c483e2032a77ef3da4584bfd305f0ffa77;hp=72a3c71fc98e2bc13a895c6afa2fcec13b0bb8a4;hb=dc2aa39d20b60e7cd8e0ba66ca6c9ed729add008;hpb=4c983e9ee3aa1d2d78ebcc3ddbf8a437721937fb diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 72a3c71f..ed5644c4 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -35,7 +35,6 @@ #include "actioncollection.h" #include "buffermodel.h" #include "bufferview.h" -#include "bufferviewmanager.h" #include "bufferwidget.h" #include "channellistdlg.h" #include "chatlinemodel.h" @@ -45,6 +44,8 @@ #include "client.h" #include "clientsyncer.h" #include "clientbacklogmanager.h" +#include "clientbufferviewconfig.h" +#include "clientbufferviewmanager.h" #include "coreinfodlg.h" #include "coreconnectdlg.h" #include "contextmenuactionprovider.h" @@ -176,7 +177,7 @@ void MainWin::init() { restoreState(s.value("MainWinState").toByteArray()); // restore locked state of docks - QtUi::actionCollection("General")->action("LockDockPositions")->setChecked(s.value("LockDocks", false).toBool()); + QtUi::actionCollection("General")->action("LockLayout")->setChecked(s.value("LockLayout", false).toBool()); setDisconnectedState(); // Disable menus and stuff @@ -223,9 +224,10 @@ void MainWin::setupActions() { // View coll->addAction("ConfigureBufferViews", new Action(tr("&Configure Buffer Views..."), coll, this, SLOT(on_actionConfigureViews_triggered()))); - QAction *lockAct = coll->addAction("LockDockPositions", new Action(tr("&Lock Dock Positions"), coll)); + + QAction *lockAct = coll->addAction("LockLayout", new Action(tr("&Lock Layout"), coll)); lockAct->setCheckable(true); - connect(lockAct, SIGNAL(toggled(bool)), SLOT(on_actionLockDockPositions_toggled(bool))); + connect(lockAct, SIGNAL(toggled(bool)), SLOT(on_actionLockLayout_toggled(bool))); coll->addAction("ToggleSearchBar", new Action(SmallIcon("edit-find"), tr("Show &Search Bar"), coll, 0, 0, tr("Ctrl+F")))->setCheckable(true); @@ -276,6 +278,7 @@ void MainWin::setupMenus() { _viewMenu = menuBar()->addMenu(tr("&View")); _bufferViewsMenu = _viewMenu->addMenu(tr("&Buffer Views")); _bufferViewsMenu->addAction(coll->action("ConfigureBufferViews")); + _toolbarMenu = _viewMenu->addMenu(tr("&Toolbars")); _viewMenu->addSeparator(); _viewMenu->addAction(coll->action("ToggleSearchBar")); @@ -285,7 +288,7 @@ void MainWin::setupMenus() { _viewMenu->addAction(coll->action("ToggleStatusBar")); _viewMenu->addSeparator(); - _viewMenu->addAction(coll->action("LockDockPositions")); + _viewMenu->addAction(coll->action("LockLayout")); _settingsMenu = menuBar()->addMenu(tr("&Settings")); #ifdef HAVE_KDE @@ -316,13 +319,14 @@ void MainWin::setupBufferWidget() { } void MainWin::addBufferView(int bufferViewConfigId) { - addBufferView(Client::bufferViewManager()->bufferViewConfig(bufferViewConfigId)); + addBufferView(Client::bufferViewManager()->clientBufferViewConfig(bufferViewConfigId)); } -void MainWin::addBufferView(BufferViewConfig *config) { +void MainWin::addBufferView(ClientBufferViewConfig *config) { if(!config) return; + config->setLocked(QtUiSettings().value("LockLayout", false).toBool()); BufferViewDock *dock = new BufferViewDock(config, this); //create the view and initialize it's filter @@ -380,12 +384,17 @@ void MainWin::on_actionConfigureViews_triggered() { dlg.exec(); } -void MainWin::on_actionLockDockPositions_toggled(bool lock) { +void MainWin::on_actionLockLayout_toggled(bool lock) { QList docks = findChildren(); foreach(VerticalDock *dock, docks) { dock->showTitle(!lock); } - QtUiSettings().setValue("LockDocks", lock); + if(Client::bufferViewManager()) { + foreach(ClientBufferViewConfig *config, Client::bufferViewManager()->clientBufferViewConfigs()) { + config->setLocked(lock); + } + } + QtUiSettings().setValue("LockLayout", lock); } void MainWin::setupNickWidget() { @@ -528,16 +537,17 @@ void MainWin::setupToolBars() { connect(_nickListWidget, SIGNAL(nickSelectionChanged(QModelIndexList)), QtUi::toolBarActionProvider(), SLOT(nickSelectionChanged(QModelIndexList))); - _networkToolBar = addToolBar("Network"); - _networkToolBar->setObjectName("NetworkToolBar"); - QtUi::toolBarActionProvider()->addActions(_networkToolBar, ToolBarActionProvider::NetworkToolBar); + _mainToolBar = addToolBar("Main Toolbar"); + _mainToolBar->setObjectName("MainToolBar"); + QtUi::toolBarActionProvider()->addActions(_mainToolBar, ToolBarActionProvider::MainToolBar); + _toolbarMenu->addAction(_mainToolBar->toggleViewAction()); //_nickToolBar = addToolBar("User"); //_nickToolBar->setObjectName("NickToolBar"); //QtUi::toolBarActionProvider()->addActions(_nickToolBar, ToolBarActionProvider::NickToolBar); #ifdef HAVE_KDE - _networkToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); + _mainToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); //_nickToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); #endif } @@ -587,6 +597,8 @@ void MainWin::setConnectedState() { // _viewMenu->setEnabled(true); if(!Client::internalCore()) statusBar()->showMessage(tr("Connected to core.")); + else + statusBar()->clearMessage(); if(Client::signalProxy()->isSecure()) { sslLabel->setPixmap(SmallIcon("security-high")); @@ -653,6 +665,8 @@ void MainWin::setDisconnectedState() { sslLabel->hide(); updateLagIndicator(); coreLagLabel->hide(); + if(msgProcessorStatusWidget) + msgProcessorStatusWidget->setProgress(0, 0); updateIcon(); } @@ -787,7 +801,7 @@ void MainWin::messagesInserted(const QModelIndex &parent, int start, int end) { continue; } Message::Flags flags = (Message::Flags)idx.data(ChatLineModel::FlagsRole).toInt(); - if(flags.testFlag(Message::Backlog)) continue; + if(flags.testFlag(Message::Backlog) || flags.testFlag(Message::Self)) continue; flags |= Message::Backlog; // we only want to trigger a highlight once! Client::messageModel()->setData(idx, (int)flags, ChatLineModel::FlagsRole);