Skip to content

Commit 4920f8e

Browse files
authored
Merge pull request #76 from daandres/settings
User Settings
2 parents 9291fe4 + 057dfc5 commit 4920f8e

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

src/main.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
int main(int argc, char *argv[])
1212
{
1313
QApplication app(argc, argv);
14+
app.setOrganizationName("pixelannotationtool_org");
15+
app.setOrganizationDomain("pixelannotationtool_domain");
16+
app.setApplicationName("PixelAnnotationTool");
1417

1518
MainWindow win;
1619
win.show();

src/main_window.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <QColorDialog>
1616
#include <QTextStream>
1717
#include <QMimeData>
18+
#include <QSettings>
1819
#include "pixel_annotation_tool_version.h"
1920

2021
#include "about_dialog.h"
@@ -88,6 +89,35 @@ MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags flags)
8889
list_label->setEnabled(false);
8990

9091
setAcceptDrops(true);
92+
readSettings();
93+
}
94+
95+
void MainWindow::writeSettings()
96+
{
97+
QSettings settings;
98+
99+
settings.setValue("window/size", size());
100+
settings.setValue("window/pos", pos());
101+
settings.setValue("pen_size", spinbox_pen_size->value());
102+
settings.setValue("alpha", spinbox_alpha->value());
103+
settings.setValue("scale", spinbox_scale->value());
104+
}
105+
106+
void MainWindow::readSettings()
107+
{
108+
QSettings settings;
109+
110+
resize(settings.value("window/size", QSize(1511, 967)).toSize());
111+
move(settings.value("window/pos", QPoint(0, 0)).toPoint());
112+
spinbox_pen_size->setValue(settings.value("pen_size", QVariant(30)).toInt());
113+
spinbox_alpha->setValue(settings.value("alpha", QVariant(0.4)).toDouble());
114+
spinbox_scale->setValue(settings.value("scale", QVariant(1.0)).toDouble());
115+
}
116+
117+
void MainWindow::closeEvent(QCloseEvent *event)
118+
{
119+
writeSettings();
120+
event->accept();
91121
}
92122

93123
void MainWindow::dragEnterEvent(QDragEnterEvent *e) {

src/main_window.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ class MainWindow : public QMainWindow, public Ui::MainWindow {
3232

3333
private:
3434

35+
void writeSettings();
36+
void readSettings();
3537
void loadConfigLabels();
3638
void openDirectory();
3739
QString stringForShortCut(int id) const;
@@ -72,6 +74,9 @@ class MainWindow : public QMainWindow, public Ui::MainWindow {
7274
void dragEnterEvent(QDragEnterEvent *e) override;
7375
void dropEvent(QDropEvent *e) override;
7476

77+
protected:
78+
void closeEvent(QCloseEvent *event) override;
79+
7580
public slots:
7681

7782
void changeLabel(QListWidgetItem*, QListWidgetItem*);

0 commit comments

Comments
 (0)