X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fmainwin.cpp;h=a7c99ff9474e5e0d4afbdfd7ee7f7d76786daeb7;hb=a117d3bd1592bae3b14630c953790a005b3c3a3d;hp=c888d22856377392917fe3673168953cafe85480;hpb=b9a73f8181f4cee4b5b226b4a641796f04e85179;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index c888d228..a7c99ff9 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -29,12 +29,14 @@ #include "chatmonitorfilter.h" #include "chatmonitorview.h" #include "chatview.h" +#include "chatviewsearchbar.h" #include "client.h" #include "clientbacklogmanager.h" #include "coreinfodlg.h" #include "coreconnectdlg.h" #include "msgprocessorstatuswidget.h" #include "qtuimessageprocessor.h" +#include "qtuiapplication.h" #include "networkmodel.h" #include "buffermodel.h" #include "nicklistwidget.h" @@ -48,6 +50,7 @@ #include "uisettings.h" #include "qtuisettings.h" #include "jumpkeyhandler.h" +#include "sessionsettings.h" #include "selectionmodelsynchronizer.h" #include "mappedselectionmodel.h" @@ -108,6 +111,9 @@ MainWin::MainWin(QWidget *parent) connect(desktopNotifications, SIGNAL(NotificationClosed(uint, uint)), this, SLOT(desktopNotificationClosed(uint, uint))); connect(desktopNotifications, SIGNAL(ActionInvoked(uint, const QString&)), this, SLOT(desktopNotificationInvoked(uint, const QString&))); #endif + QtUiApplication* app = dynamic_cast qApp; + connect(app, SIGNAL(saveStateToSession(const QString&)), this, SLOT(saveStateToSession(const QString&))); + connect(app, SIGNAL(saveStateToSessionSettings(SessionSettings&)), this, SLOT(saveStateToSessionSettings(SessionSettings&))); } void MainWin::init() { @@ -158,6 +164,7 @@ void MainWin::init() { // attach the BufferWidget to the BufferModel and the default selection ui.bufferWidget->setModel(Client::bufferModel()); ui.bufferWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel()); + ui.menuViews->addAction(ui.bufferWidget->searchBar()->toggleViewAction()); _titleSetter.setModel(Client::bufferModel()); _titleSetter.setSelectionModel(Client::bufferModel()->standardSelectionModel()); @@ -763,3 +770,19 @@ void MainWin::on_actionDebugNetworkModel_triggered(bool) { view->resize(610, 300); view->show(); } + +void MainWin::saveStateToSession(const QString &sessionId) { + return; + SessionSettings s(sessionId); + + s.setValue("MainWinSize", size()); + s.setValue("MainWinPos", pos()); + s.setValue("MainWinState", saveState()); +} + +void MainWin::saveStateToSessionSettings(SessionSettings & s) +{ + s.setValue("MainWinSize", size()); + s.setValue("MainWinPos", pos()); + s.setValue("MainWinState", saveState()); +}