X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=88968936b9c55749e00b1448c43dd6db2463878e;hp=a7c99ff9474e5e0d4afbdfd7ee7f7d76786daeb7;hb=f091c08e33f4cc2ed63afebab0ae90f2dad55139;hpb=a117d3bd1592bae3b14630c953790a005b3c3a3d diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index a7c99ff9..88968936 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -20,6 +20,8 @@ #include "mainwin.h" #include "aboutdlg.h" +#include "action.h" +#include "actioncollection.h" #include "bufferview.h" #include "bufferviewconfig.h" #include "bufferviewfilter.h" @@ -66,7 +68,6 @@ #include "settingspages/networkssettingspage.h" #include "settingspages/notificationssettingspage.h" -#include "global.h" #include "qtuistyle.h" MainWin::MainWin(QWidget *parent) @@ -83,7 +84,8 @@ MainWin::MainWin(QWidget *parent) offlineTrayIcon(":/icons/quassel-icon-offline.png"), trayIconActive(false), - timer(new QTimer(this)) + timer(new QTimer(this)), + _actionCollection(new ActionCollection(this)) { UiSettings uiSettings; QString style = uiSettings.value("Style", QString("")).toString(); @@ -98,6 +100,8 @@ MainWin::MainWin(QWidget *parent) systray->setIcon(offlineTrayIcon); setWindowIconText("Quassel IRC"); + QtUi::actionCollection()->addAssociatedWidget(this); + statusBar()->showMessage(tr("Waiting for core...")); installEventFilter(new JumpKeyHandler(this)); @@ -111,7 +115,7 @@ 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; + QtUiApplication* app = qobject_cast qApp; connect(app, SIGNAL(saveStateToSession(const QString&)), this, SLOT(saveStateToSession(const QString&))); connect(app, SIGNAL(saveStateToSessionSettings(SessionSettings&)), this, SLOT(saveStateToSessionSettings(SessionSettings&))); } @@ -123,8 +127,6 @@ void MainWin::init() { else resize(QSize(800, 500)); - Client::signalProxy()->attachSignal(this, SIGNAL(requestBacklog(BufferInfo, QVariant, QVariant))); - connect(QApplication::instance(), SIGNAL(aboutToQuit()), this, SLOT(saveLayout())); connect(Client::instance(), SIGNAL(networkCreated(NetworkId)), this, SLOT(clientNetworkCreated(NetworkId))); @@ -143,6 +145,7 @@ void MainWin::init() { setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); // setup stuff... + setupActions(); setupMenus(); setupViews(); setupNickWidget(); @@ -164,7 +167,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()); + ui.menuViews->addAction(QtUi::actionCollection()->action("toggleSearchBar")); _titleSetter.setModel(Client::bufferModel()); _titleSetter.setSelectionModel(Client::bufferModel()->standardSelectionModel()); @@ -177,6 +180,11 @@ MainWin::~MainWin() { s.setValue("MainWinState", saveState()); } +void MainWin::setupActions() { + + +} + void MainWin::setupMenus() { connect(ui.actionConnectCore, SIGNAL(triggered()), this, SLOT(showCoreConnectionDlg())); connect(ui.actionDisconnectCore, SIGNAL(triggered()), Client::instance(), SLOT(disconnectFromCore())); @@ -398,9 +406,7 @@ void MainWin::connectedToCore() { connect(Client::bufferViewManager(), SIGNAL(bufferViewConfigDeleted(int)), this, SLOT(removeBufferView(int))); connect(Client::bufferViewManager(), SIGNAL(initDone()), this, SLOT(loadLayout())); - foreach(BufferInfo id, Client::allBufferInfos()) { - Client::backlogManager()->requestBacklog(id.bufferId(), 500, -1); - } + Client::backlogManager()->requestInitialBacklog(); setConnectedState(); } @@ -774,7 +780,7 @@ void MainWin::on_actionDebugNetworkModel_triggered(bool) { void MainWin::saveStateToSession(const QString &sessionId) { return; SessionSettings s(sessionId); - + s.setValue("MainWinSize", size()); s.setValue("MainWinPos", pos()); s.setValue("MainWinState", saveState());