MCPcopy Create free account
hub / github.com/comaps/comaps / PreferencesDialog

Method PreferencesDialog

qt/preferences_dialog.cpp:33–250  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31namespace qt
32{
33PreferencesDialog::PreferencesDialog(QWidget * parent, Framework & framework)
34 : QDialog(parent, Qt::WindowTitleHint | Qt::WindowSystemMenuHint)
35{
36 QIcon icon(":/ui/logo.png");
37 setWindowIcon(icon);
38 setWindowTitle(tr("Preferences"));
39
40 QButtonGroup * unitsGroup = new QButtonGroup(this);
41 QGroupBox * unitsRadioBox = new QGroupBox("System of measurement");
42 {
43 QHBoxLayout * layout = new QHBoxLayout();
44
45 QRadioButton * radioButton = new QRadioButton("Metric");
46 layout->addWidget(radioButton);
47 unitsGroup->addButton(radioButton, static_cast<int>(Units::Metric));
48
49 radioButton = new QRadioButton("Imperial (foot)");
50 layout->addWidget(radioButton);
51 unitsGroup->addButton(radioButton, static_cast<int>(Units::Imperial));
52
53 unitsRadioBox->setLayout(layout);
54
55 Units u;
56 if (!settings::Get(settings::kMeasurementUnits, u))
57 {
58 // Set default measurement from system locale
59 if (QLocale::system().measurementSystem() == QLocale::MetricSystem)
60 u = Units::Metric;
61 else
62 u = Units::Imperial;
63 }
64 unitsGroup->button(static_cast<int>(u))->setChecked(true);
65
66 // Temporary to pass the address of overloaded function.
67 void (QButtonGroup::*buttonClicked)(int) = &QButtonGroup::idClicked;
68 connect(unitsGroup, buttonClicked, [&framework](int i)
69 {
70 Units u = Units::Metric;
71 switch (i)
72 {
73 case 0: u = Units::Metric; break;
74 case 1: u = Units::Imperial; break;
75 }
76
77 settings::Set(settings::kMeasurementUnits, u);
78 framework.SetupMeasurementSystem();
79 });
80 }
81
82 QCheckBox * largeFontCheckBox = new QCheckBox("Use larger font on the map");
83 {
84 largeFontCheckBox->setChecked(framework.LoadLargeFontsSize());
85 connect(largeFontCheckBox, &QCheckBox::stateChanged,
86 [&framework](int i) { framework.SetLargeFontsSize(static_cast<bool>(i)); });
87 }
88
89 QCheckBox * transliterationCheckBox = new QCheckBox("Transliterate to Latin");
90 {

Callers

nothing calls this directly

Calls 15

GetFunction · 0.85
MapStyleIsDarkFunction · 0.85
GetLightMapStyleVariantFunction · 0.85
GetDarkMapStyleVariantFunction · 0.85
doneFunction · 0.85
LoadLargeFontsSizeMethod · 0.80
SetLargeFontsSizeMethod · 0.80
LoadTransliterationMethod · 0.80
SaveTransliterationMethod · 0.80
AllowTransliterationMethod · 0.80

Tested by

no test coverage detected