Skip to content

Commit 99b983d

Browse files
remember window position on close widget (#33)
1 parent d73650b commit 99b983d

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

mainwindow.cpp

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -123,22 +123,31 @@ updateTimer->start(1000);
123123
}
124124

125125
void MainWindow::setWindowPosition() {
126-
QScreen *primaryScreen = QGuiApplication::primaryScreen();
127-
QRect screenGeometry = primaryScreen->geometry();
126+
QSettings settings("Nepdate", "NepdateWidget");
127+
QPoint savedPos = settings.value("MainWindow/pos", QPoint(-1, -1)).toPoint();
128128

129-
int x = screenGeometry.left() + (screenGeometry.width() - width()) / 1.3; // Before statusbar in most cases.
130-
int offsetY = 10; // Number of pixels to move downward
131-
int y = screenGeometry.bottom() - height() + offsetY;
129+
if (savedPos != QPoint(-1, -1)) {
130+
move(savedPos);
131+
} else {
132+
QScreen *primaryScreen = QGuiApplication::primaryScreen();
133+
QRect screenGeometry = primaryScreen->geometry();
134+
135+
int x = screenGeometry.left() + (screenGeometry.width() - width()) / 1.3; // Before statusbar in most cases.
136+
int offsetY = 10; // Number of pixels to move downward
137+
int y = screenGeometry.bottom() - height() + offsetY;
132138

133139
#ifdef Q_OS_MAC
134140
int dockHeight = 0; //No idea how mac os handles dock
135141
#endif
136-
move(x, y);
142+
move(x, y);
143+
}
137144
}
138145

139146

140147
MainWindow::~MainWindow()
141148
{
149+
QSettings settings("Nepdate", "NepdateWidget");
150+
settings.setValue("MainWindow/pos", this->pos());
142151
delete ui;
143152
}
144153

0 commit comments

Comments
 (0)