-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings.cpp
More file actions
80 lines (68 loc) · 3.98 KB
/
settings.cpp
File metadata and controls
80 lines (68 loc) · 3.98 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
#include "settings.h"
#include "ui_settings.h"
bool Settings::compare(QString arg1, QString arg2) {
return Ui::scheme_name_map[arg1].first < Ui::scheme_name_map[arg2].first;
}
Settings::Settings(QWidget *parent) : QWidget(parent), ui(new Ui::Settings) {
ui->setupUi(this);
QList<QString> strings = QList<QString>(Ui::scheme_name_map.keys());
std::sort(strings.begin(), strings.end(), compare);
QStringListModel *model = new QStringListModel();
model->setStringList(strings);
ui->in_amplitude_color_scheme_combo_box->setModel(model);
ui->size_combo_box->setFont(QFont("Arial", 10, QFont::Normal));
ui->in_amplitude_color_scheme_combo_box->setFont(QFont("Arial", 10, QFont::Normal));
ui->out_amplitude_color_scheme_combo_box->setFont(QFont("Arial", 10, QFont::Normal));
ui->in_phase_color_scheme_combo_box->setFont(QFont("Arial", 10, QFont::Normal));
ui->out_phase_color_scheme_combo_box->setFont(QFont("Arial", 10, QFont::Normal));
ui->intensity_color_scheme_combo_box->setFont(QFont("Arial", 10, QFont::Normal));
ui->oam_color_scheme_combo_box->setFont(QFont("Arial", 10, QFont::Normal));
ui->in_amplitude_color_scheme_combo_box->setModel(model);
ui->out_amplitude_color_scheme_combo_box->setModel(model);
ui->in_phase_color_scheme_combo_box->setModel(model);
ui->out_phase_color_scheme_combo_box->setModel(model);
ui->intensity_color_scheme_combo_box->setModel(model);
ui->oam_color_scheme_combo_box->setModel(model);
}
Settings::~Settings() {
delete ui;
}
void Settings::initialize_color_maps() {
on_in_amplitude_color_scheme_combo_box_textActivated("огненная");
on_in_phase_color_scheme_combo_box_textActivated("радужная");
on_out_amplitude_color_scheme_combo_box_textActivated("огненная");
on_out_phase_color_scheme_combo_box_textActivated("радужная");
on_intensity_color_scheme_combo_box_textActivated("огненная");
on_oam_color_scheme_combo_box_textActivated("радужная");
}
void Settings::on_size_combo_box_textActivated(const QString &arg1) {
QSize size;
QStringList list = arg1.split("×");
size.setHeight(list.at(0).toInt());
size.setWidth(list.at(1).toInt());
emit send_size(size);
}
void Settings::choose_scheme_template(const QString &arg1, QLabel* label, QComboBox* combo_box, void (Settings::*signal)(scheme)) {
QPixmap pixmap(":/scales/" + Ui::scheme_name_map[arg1].second + "_256.bmp");
label->setPixmap(pixmap);
combo_box->setCurrentIndex(Ui::scheme_name_map[arg1].first);
emit (this->*signal)((scheme)Ui::scheme_name_map[arg1].first);
}
void Settings::on_in_amplitude_color_scheme_combo_box_textActivated(const QString &arg1) {
choose_scheme_template(arg1, ui->in_amplitude_color_scheme_label, ui->in_amplitude_color_scheme_combo_box, &Settings::send_in_amplitude_color_scheme);
}
void Settings::on_in_phase_color_scheme_combo_box_textActivated(const QString &arg1) {
choose_scheme_template(arg1, ui->in_phase_color_scheme_label, ui->in_phase_color_scheme_combo_box, &Settings::send_in_phase_color_scheme);
}
void Settings::on_out_amplitude_color_scheme_combo_box_textActivated(const QString &arg1) {
choose_scheme_template(arg1, ui->out_amplitude_color_scheme_label, ui->out_amplitude_color_scheme_combo_box, &Settings::send_out_amplitude_color_scheme);
}
void Settings::on_out_phase_color_scheme_combo_box_textActivated(const QString &arg1) {
choose_scheme_template(arg1, ui->out_phase_color_scheme_label, ui->out_phase_color_scheme_combo_box, &Settings::send_out_phase_color_scheme);
}
void Settings::on_intensity_color_scheme_combo_box_textActivated(const QString &arg1) {
choose_scheme_template(arg1, ui->intensity_color_scheme_label, ui->intensity_color_scheme_combo_box, &Settings::send_intensity_color_scheme);
}
void Settings::on_oam_color_scheme_combo_box_textActivated(const QString &arg1) {
choose_scheme_template(arg1, ui->oam_color_scheme_label, ui->oam_color_scheme_combo_box, &Settings::send_oam_color_scheme);
}