#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"
#include "uisettings.h"
#include "qtuisettings.h"
#include "jumpkeyhandler.h"
+#include "sessionsettings.h"
#include "selectionmodelsynchronizer.h"
#include "mappedselectionmodel.h"
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<QtUiApplication*> qApp;
+ connect(app, SIGNAL(saveStateToSession(const QString&)), this, SLOT(saveStateToSession(const QString&)));
+ connect(app, SIGNAL(saveStateToSessionSettings(SessionSettings&)), this, SLOT(saveStateToSessionSettings(SessionSettings&)));
}
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());
void MainWin::messagesInserted(const QModelIndex &parent, int start, int end) {
Q_UNUSED(parent);
+
if(QApplication::activeWindow() != 0)
return;
- // FIXME
- return;
-
for(int i = start; i <= end; i++) {
QModelIndex idx = Client::messageModel()->index(i, ChatLineModel::ContentsColumn);
if(!idx.isValid()) {
continue;
}
Message::Flags flags = (Message::Flags)idx.data(ChatLineModel::FlagsRole).toInt();
+ if(flags.testFlag(Message::Backlog)) continue;
+ flags |= Message::Backlog; // we only want to trigger a highlight once!
+ Client::messageModel()->setData(idx, (int)flags, ChatLineModel::FlagsRole);
+
BufferId bufId = idx.data(ChatLineModel::BufferIdRole).value<BufferId>();
BufferInfo::Type bufType = Client::networkModel()->bufferType(bufId);
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());
+}