X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdialogs%2Fsettings.cpp;h=1cd7d23c8bf83068e97a91a1e6d518feb528d34b;hp=b79772ff0dc078e99916cc678aef7a849043184d;hb=8962d7b3b640b5f07f26a4b4ebee839c4880b69d;hpb=374c697f74ba8abbfe2a014416eb398bb460d1c3 diff --git a/pv/dialogs/settings.cpp b/pv/dialogs/settings.cpp index b79772ff..1cd7d23c 100644 --- a/pv/dialogs/settings.cpp +++ b/pv/dialogs/settings.cpp @@ -204,6 +204,7 @@ QPlainTextEdit *Settings::create_log_view() const QWidget *Settings::get_general_settings_form(QWidget *parent) const { GlobalSettings settings; + QCheckBox *cb; QWidget *form = new QWidget(parent); QVBoxLayout *form_layout = new QVBoxLayout(form); @@ -249,6 +250,10 @@ QWidget *Settings::get_general_settings_form(QWidget *parent) const description_2->setAlignment(Qt::AlignRight); general_layout->addRow(description_2); + cb = create_checkbox(GlobalSettings::Key_General_SaveWithSetup, + SLOT(on_general_save_with_setup_changed(int))); + general_layout->addRow(tr("Save session &setup along with .sr file"), cb); + return form; } @@ -300,7 +305,7 @@ QWidget *Settings::get_view_settings_form(QWidget *parent) const settings.value(GlobalSettings::Key_View_FillSignalHighAreaColor).value())); connect(high_fill_cb, SIGNAL(selected(QColor)), this, SLOT(on_view_fillSignalHighAreaColor_changed(QColor))); - trace_view_layout->addRow(tr("Fill high areas of logic signals"), high_fill_cb); + trace_view_layout->addRow(tr("Color to fill high areas of logic signals with"), high_fill_cb); cb = create_checkbox(GlobalSettings::Key_View_ShowAnalogMinorGrid, SLOT(on_view_showAnalogMinorGrid_changed(int))); @@ -319,6 +324,13 @@ QWidget *Settings::get_view_settings_form(QWidget *parent) const SLOT(on_view_snapDistance_changed(int))); trace_view_layout->addRow(tr("Maximum distance from edges before cursors snap to them"), snap_distance_sb); + ColorButton* cursor_fill_cb = new ColorButton(parent); + cursor_fill_cb->set_color(QColor::fromRgba( + settings.value(GlobalSettings::Key_View_CursorFillColor).value())); + connect(cursor_fill_cb, SIGNAL(selected(QColor)), + this, SLOT(on_view_cursorFillColor_changed(QColor))); + trace_view_layout->addRow(tr("Color to fill cursor area with"), cursor_fill_cb); + QComboBox *thr_disp_mode_cb = new QComboBox(); thr_disp_mode_cb->addItem(tr("None"), GlobalSettings::ConvThrDispMode_None); thr_disp_mode_cb->addItem(tr("Background"), GlobalSettings::ConvThrDispMode_Background); @@ -572,6 +584,24 @@ void Settings::on_general_theme_changed_changed(int state) GlobalSettings settings; settings.setValue(GlobalSettings::Key_General_Theme, state); settings.apply_theme(); + + QMessageBox msg(this); + msg.setStandardButtons(QMessageBox::Yes | QMessageBox::No); + msg.setIcon(QMessageBox::Question); + + if (settings.current_theme_is_dark()) { + msg.setText(tr("You selected a dark theme.\n" \ + "Should I set the user-adjustable colors to better suit your choice?\n\n" \ + "Please keep in mind that PulseView may need a restart to display correctly.")); + if (msg.exec() == QMessageBox::Yes) + settings.set_dark_theme_default_colors(); + } else { + msg.setText(tr("You selected a bright theme.\n" \ + "Should I set the user-adjustable colors to better suit your choice?\n\n" \ + "Please keep in mind that PulseView may need a restart to display correctly.")); + if (msg.exec() == QMessageBox::Yes) + settings.set_bright_theme_default_colors(); + } } void Settings::on_general_style_changed(int state) @@ -587,6 +617,12 @@ void Settings::on_general_style_changed(int state) settings.apply_theme(); } +void Settings::on_general_save_with_setup_changed(int state) +{ + GlobalSettings settings; + settings.setValue(GlobalSettings::Key_General_SaveWithSetup, state ? true : false); +} + void Settings::on_view_zoomToFitDuringAcq_changed(int state) { GlobalSettings settings; @@ -653,6 +689,12 @@ void Settings::on_view_snapDistance_changed(int value) settings.setValue(GlobalSettings::Key_View_SnapDistance, value); } +void Settings::on_view_cursorFillColor_changed(QColor color) +{ + GlobalSettings settings; + settings.setValue(GlobalSettings::Key_View_CursorFillColor, color.rgba()); +} + void Settings::on_view_conversionThresholdDispMode_changed(int state) { GlobalSettings settings; @@ -713,8 +755,7 @@ void Settings::on_log_saveToFile_clicked(bool checked) if (out_stream.status() == QTextStream::Ok) { QMessageBox msg(this); - msg.setText(tr("Success")); - msg.setInformativeText(tr("Log saved to %1.").arg(file_name)); + msg.setText(tr("Success") + "\n\n" + tr("Log saved to %1.").arg(file_name)); msg.setStandardButtons(QMessageBox::Ok); msg.setIcon(QMessageBox::Information); msg.exec(); @@ -724,8 +765,7 @@ void Settings::on_log_saveToFile_clicked(bool checked) } QMessageBox msg(this); - msg.setText(tr("Error")); - msg.setInformativeText(tr("File %1 could not be written to.").arg(file_name)); + msg.setText(tr("Error") + "\n\n" + tr("File %1 could not be written to.").arg(file_name)); msg.setStandardButtons(QMessageBox::Ok); msg.setIcon(QMessageBox::Warning); msg.exec();