-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings_dialog.cpp
More file actions
111 lines (94 loc) · 3.83 KB
/
settings_dialog.cpp
File metadata and controls
111 lines (94 loc) · 3.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include "settings_dialog.h"
#include "ui_settings_dialog.h"
#include "program_settings.h"
#include <QFileDialog>
#include <iostream>
Settings_dialog::Settings_dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Settings_dialog)
{
ui->setupUi(this);
dirModified = false;
fd = new QFileDialog(this);
fd->setFileMode(QFileDialog::DirectoryOnly);
}
Settings_dialog::~Settings_dialog()
{
delete ui;
}
void Settings_dialog::on_buttonBox_accepted()
{
jarr::Attribute at;
program_settings->modify(DIR1_SETT,
ui->dir1Line->text().toStdString());
program_settings->modify(DIR2_SETT,
ui->dir2Line->text().toStdString());
program_settings->modify(TIME_SETT,
at.to_string(ui->slideTimeSpinBox->value()));
program_settings->modify(MAX_HEIGHT_SETT,
jarr::Attribute::to_string(ui->maxHeightSpinBox->value()));
program_settings->modify(MAX_WIDTH_SETT,
jarr::Attribute::to_string(ui->maxWidthSpinBox->value()));
program_settings->modify(RANDOM_SETT,
ui->randomCheckBox->isChecked() ? "1" : "0");
if(ui->orderByComboBox->currentIndex() !=
program_settings->retrive_as_int(ORDER_BY_SETT))
{
this->dirModified = true;
std::cout << "changed order" << std::endl;
}
program_settings->modify(ORDER_BY_SETT,
jarr::Attribute::to_string(ui->orderByComboBox->currentIndex()));
program_settings->modify(SHOW_DEBUG,
ui->showDebugCheckBox->isChecked() ? "1" : "0");
program_settings->modify(X_WIN_OFFSET,
jarr::Attribute::to_string(ui->win_x_offset_spinBox->value()));
program_settings->modify(Y_WIN_OFFSET,
jarr::Attribute::to_string(ui->win_y_offset_spinBox->value()));
program_settings->save();
this->hide();
}
void Settings_dialog::loadSettings(jarr::Settings settings)
{
this->ui->dir1Line->setText(settings.retrive(DIR1_SETT).c_str());
this->ui->dir2Line->setText(settings.retrive(DIR2_SETT).c_str());
this->ui->slideTimeSpinBox->setValue(settings.retrive_as_int(TIME_SETT));
this->ui->maxHeightSpinBox->setValue(settings.retrive_as_int(MAX_HEIGHT_SETT));
this->ui->maxWidthSpinBox->setValue(settings.retrive_as_int(MAX_WIDTH_SETT));
this->ui->randomCheckBox->setChecked(settings.retrive_as_int(RANDOM_SETT));
this->ui->orderByComboBox->setCurrentIndex(settings.retrive_as_int(ORDER_BY_SETT));
this->ui->showDebugCheckBox->setChecked(settings.retrive_as_int(SHOW_DEBUG));
this->ui->win_x_offset_spinBox->setValue(settings.retrive_as_int(X_WIN_OFFSET));
this->ui->win_y_offset_spinBox->setValue(settings.retrive_as_int(Y_WIN_OFFSET));
}
void Settings_dialog::on_selectDir2Button_clicked()
{
fd->setDirectory(program_settings->retrive(DIR2_SETT).c_str());
fd->exec();
this->ui->dir2Line->setText(fd->selectedFiles().front());
fd = new QFileDialog(this);
fd->setFileMode(QFileDialog::DirectoryOnly);
}
void Settings_dialog::on_selectDir1Button_clicked()
{
QString newDir;
fd->setDirectory(program_settings->retrive(DIR1_SETT).c_str());
fd->exec();
newDir = fd->selectedFiles().front();
if(newDir.toStdString().compare(program_settings->retrive(DIR1_SETT)))
{
dirModified = true;
this->ui->dir1Line->setText(newDir);
// program_settings->modify(DIR1_SETT,newDir.toStdString());
}
fd = new QFileDialog(this);
fd->setFileMode(QFileDialog::DirectoryOnly);
}
void Settings_dialog::on_buttonBox_rejected()
{
this->hide();
}
void Settings_dialog::Destroy2()
{
this->destroy(true,true);
}