X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=75f2c8393cbb9545c176dbc9a462b09d1cb1d587;hp=79f20aa85742385df3eafd2eeb53c1494cfb9fa9;hb=d98055b722222402eaa0543dacd133b9e3eaa52e;hpb=a9cc264bc4ee3e51ede21b79276704d4043e3656 diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 79f20aa8..75f2c839 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-09 by the Quassel Project * + * Copyright (C) 2005-2010 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -247,6 +247,9 @@ void MainWin::saveStateToSettings(UiSettings &s) { s.setValue("MainWinMinimized", isMinimized()); s.setValue("MainWinMaximized", isMaximized()); s.setValue("MainWinHidden", !isVisible()); + BufferId lastBufId = Client::bufferModel()->currentBuffer(); + if(lastBufId.isValid()) + s.setValue("LastUsedBufferId", lastBufId.toInt()); #ifdef HAVE_KDE saveAutoSaveSettings(); @@ -751,6 +754,12 @@ void MainWin::setConnectedState() { IrcConnectionWizard *wizard = new IrcConnectionWizard(this, Qt::Sheet); wizard->show(); } + else { + QtUiSettings s; + BufferId lastUsedBufferId(s.value("LastUsedBufferId").toInt()); + if(lastUsedBufferId.isValid()) + Client::bufferModel()->switchToBuffer(lastUsedBufferId); + } } void MainWin::loadLayout() { @@ -758,9 +767,9 @@ void MainWin::loadLayout() { int accountId = Client::currentCoreAccount().accountId().toInt(); QByteArray state = s.value(QString("MainWinState-%1").arg(accountId)).toByteArray(); if(state.isEmpty()) { - // Make sure that the default bufferview is shown - if(_bufferViews.count()) - _bufferViews.at(0)->show(); + foreach(BufferViewDock *view, _bufferViews) + view->show(); + _layoutLoaded = true; return; } @@ -1180,4 +1189,3 @@ void MainWin::on_actionDebugLog_triggered() { void MainWin::showStatusBarMessage(const QString &message) { statusBar()->showMessage(message, 10000); } -