installEventFilter(new JumpKeyHandler(this));
QtUiApplication* app = qobject_cast<QtUiApplication*> qApp;
- connect(app, SIGNAL(saveStateToSession(const QString&)), SLOT(saveStateToSession(const QString&)));
- connect(app, SIGNAL(saveStateToSessionSettings(SessionSettings&)), SLOT(saveStateToSessionSettings(SessionSettings&)));
connect(app, SIGNAL(aboutToQuit()), SLOT(aboutToQuit()));
}
}
void MainWin::restoreStateFromSettings(UiSettings &s) {
+ _normalSize = s.value("MainWinSize", size()).toSize();
+ _normalPos = s.value("MainWinPos", pos()).toPoint();
+
restoreGeometry(s.value("MainWinGeometry").toByteArray());
if(isMaximized()) {
// restoreGeometry() fails if the windows was maximized, so we resize and position explicitly
- resize(s.value("MainWinSize", QSize(800, 500)).toSize());
- move(s.value("MainWinPos").toPoint());
+ resize(_normalSize);
+ move(_normalPos);
}
restoreState(s.value("MainWinState").toByteArray());
if(!(windowState() & Qt::WindowMaximized))
_normalPos = event->pos();
- event->ignore();
+ QMainWindow::moveEvent(event);
}
void MainWin::resizeEvent(QResizeEvent *event) {
if(!(windowState() & Qt::WindowMaximized))
_normalSize = event->size();
- event->ignore();
+ QMainWindow::resizeEvent(event);
}
void MainWin::closeEvent(QCloseEvent *event) {
QtUiSettings s;
QtUiApplication* app = qobject_cast<QtUiApplication*> qApp;
Q_ASSERT(app);
- if(!app->aboutToQuit() && s.value("UseSystemTrayIcon").toBool() && s.value("MinimizeOnClose").toBool()) {
- toggleMinimizedToTray();
+ if(!app->isAboutToQuit() && s.value("UseSystemTrayIcon").toBool() && s.value("MinimizeOnClose").toBool()) {
+ hideToTray();
event->ignore();
} else {
event->accept();
logWidget->show();
}
-// FIXME
-void MainWin::saveStateToSession(const QString &sessionId) {
- return;
- SessionSettings s(sessionId);
-
- s.setValue("MainWinSize", size());
- s.setValue("MainWinPos", pos());
- s.setValue("MainWinState", saveState());
-}
-
-// FIXME
-void MainWin::saveStateToSessionSettings(SessionSettings & s)
-{
- s.setValue("MainWinSize", size());
- s.setValue("MainWinPos", pos());
- s.setValue("MainWinState", saveState());
-}
-
void MainWin::showStatusBarMessage(const QString &message) {
statusBar()->showMessage(message, 10000);
}