#include "settingspages/chatmonitorsettingspage.h"
#include "settingspages/chatviewsettingspage.h"
#include "settingspages/connectionsettingspage.h"
+#include "settingspages/coreaccountsettingspage.h"
#include "settingspages/generalsettingspage.h"
#include "settingspages/highlightsettingspage.h"
#include "settingspages/identitiessettingspage.h"
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, QKeySequence::Find))->setCheckable(true);
+ 0, 0, QKeySequence::Find))->setCheckable(true);
coll->addAction("ShowAwayLog", new Action(tr("Show Away Log"), coll,
- this, SLOT(showAwayLog())));
+ this, SLOT(showAwayLog())));
coll->addAction("ToggleMenuBar", new Action(SmallIcon("show-menu"), tr("Show &Menubar"), coll,
0, 0, tr("Ctrl+M")))->setCheckable(true);
if(dock && actionData.toInt() == bufferViewConfigId) {
removeAction(action);
_bufferViews.removeAll(dock);
+ Client::bufferViewOverlay()->removeView(dock->bufferViewId());
dock->deleteLater();
}
}
Q_ASSERT(action);
BufferViewDock *dock = qobject_cast<BufferViewDock *>(action->parent());
Q_ASSERT(dock);
+
+ // Make sure we don't toggle backlog fetch for a view we've already removed
+ if(!_bufferViews.contains(dock))
+ return;
+
if(enabled) {
Client::bufferViewOverlay()->addView(dock->bufferViewId());
BufferViewConfig *config = dock->config();
void MainWin::loadLayout() {
QtUiSettings s;
int accountId = Client::currentCoreAccount().toInt();
- restoreState(s.value(QString("MainWinState-%1").arg(accountId)).toByteArray(), accountId);
+ 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();
+ return;
+ }
+
+ restoreState(state, accountId);
_layoutLoaded = true;
}
if(dock && actionData.toInt() != -1) {
removeAction(action);
_bufferViews.removeAll(dock);
+ Client::bufferViewOverlay()->removeView(dock->bufferViewId());
dock->deleteLater();
}
}
dlg->registerSettingsPage(new AliasesSettingsPage(dlg));
dlg->registerSettingsPage(new IgnoreListSettingsPage(dlg));
+ if(Quassel::runMode() != Quassel::Monolithic) {
+ dlg->registerSettingsPage(new CoreAccountSettingsPage(dlg));
+ }
+
dlg->show();
}