annotate libgui/src/settings-dialog.cc @ 29524:730cac3d6d5a

allow reloading default colors and styles in the preferences dialog * gui-settings.h: define constants for the new button texts and related tooltips * resource-manager.cc (read_lexer_settings): new argument indicating that only the defaults have to be reloaded ignoring current settings file entries, do not write lexer styles into the settings file in this case but only configure the given lexer accordingly * resource-manager.h: new argument for read_lexer_settings * settings-dialog.cc (settings_dialog): checkbox for second editor color mode now added via code together with the new button for reloading the default styles, connect button signal with update_editor_lexers; (update_editor_lexers): argument now used for reloading default values, which is also passed to all calls of update_lexer, get the mode from the checkbox; (update_lexer): new argument, which is also passed to read_lexer_settings, also update font style elements from the lexer configures with the default values and not only the color pickers; (write_lexer_settings): remove mode argument and get mode from checkbox, save it into settings file here (write_changed_settings): instead here, call write_lexer_settings without mode parameter; (read_workspace_colors): add button for reloading default values, connect to update_workspace_colors; (update_workspace_colors): get mode from the checkbox, not as argument, get colors from settings or the default values; (read_terminal_colors): see read_workspace_colors; (update_terminal_colors): see update_workspace_colors; (read_varedit_colors): see read_workspace_colors; (update_varedit_colors): see update_workspace_colors; * settings-dialog.h: new arg in update color slots, changed arguments in update and write lexer slots * settings-dialog.ui: remove the color check box for the editor styles and add a grid layout instead
author Torsten Lilge <ttl-octave@mailbox.org>
date Sun, 11 Apr 2021 19:22:31 +0200
parents 5384bb4efc51
children 3d34b70b5a49
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
1 ////////////////////////////////////////////////////////////////////////
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
2 //
29358
0a5b15007766 update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 29143
diff changeset
3 // Copyright (C) 2011-2021 The Octave Project Developers
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
4 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
5 // See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 // distribution or <https://octave.org/copyright/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
7 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
8 // This file is part of Octave.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
9 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
10 // Octave is free software: you can redistribute it and/or modify it
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
11 // under the terms of the GNU General Public License as published by
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
12 // the Free Software Foundation, either version 3 of the License, or
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
13 // (at your option) any later version.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
14 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
15 // Octave is distributed in the hope that it will be useful, but
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
18 // GNU General Public License for more details.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
19 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
20 // You should have received a copy of the GNU General Public License
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
21 // along with Octave; see the file COPYING. If not, see
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
22 // <https://www.gnu.org/licenses/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
23 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
24 ////////////////////////////////////////////////////////////////////////
13674
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13672
diff changeset
25
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
26 // Programming Note: this file has many lines longer than 80 characters
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
27 // due to long function, variable, and property names. Please don't
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
28 // break those lines as it tends to make this code even harder to read.
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
29
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21301
diff changeset
30 #if defined (HAVE_CONFIG_H)
21301
40de9f8f23a6 Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents: 21213
diff changeset
31 # include "config.h"
15286
ae9079bbc627 Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents: 15274
diff changeset
32 #endif
ae9079bbc627 Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents: 15274
diff changeset
33
25410
cdaa884568b1 add Qt include needed to build against Qt 5.11 (bug #53978)
Mike Miller <mtmiller@octave.org>
parents: 25103
diff changeset
34 #include <QButtonGroup>
15972
22ab4fe661d7 gui: selectable language in settings dialog
Torsten <ttl@justmail.de>
parents: 15914
diff changeset
35 #include <QDir>
27412
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27276
diff changeset
36 #include <QFileDialog>
15972
22ab4fe661d7 gui: selectable language in settings dialog
Torsten <ttl@justmail.de>
parents: 15914
diff changeset
37 #include <QFileInfo>
17676
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 16865
diff changeset
38 #include <QHash>
22177
6e9f5408c0db Save settings in Qt convention, delete all children in destructors (bug #45366)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22022
diff changeset
39 #include <QMessageBox>
25480
00bfb85bfb28 improve panes in gui preferences dialog
Torsten <mttl@mailbox.org>
parents: 25469
diff changeset
40 #include <QScrollBar>
26227
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
41 #include <QStyleFactory>
20731
83611b387bc5 provide a user preference for the encoding used by the editor (bug #45597)
Torsten <ttl@justmail.de>
parents: 20706
diff changeset
42 #include <QTextCodec>
27412
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27276
diff changeset
43 #include <QVector>
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
44
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21301
diff changeset
45 #if defined (HAVE_QSCINTILLA)
21203
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
46 # include "octave-qscintilla.h"
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
47 # include "octave-txt-lexer.h"
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
48 # include <QScrollArea>
16667
7f6f0b3f7369 Allow build to continue without QScintilla lexer for Octave
Ben Abbott <bpabbott@mac.com>
parents: 16646
diff changeset
49
21203
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
50 # if defined (HAVE_QSCI_QSCILEXEROCTAVE_H)
21213
f7d1050b9b53 maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents: 21203
diff changeset
51 # define HAVE_LEXER_OCTAVE 1
21203
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
52 # include <Qsci/qscilexeroctave.h>
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
53 # elif defined (HAVE_QSCI_QSCILEXERMATLAB_H)
21213
f7d1050b9b53 maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents: 21203
diff changeset
54 # define HAVE_LEXER_MATLAB 1
21203
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
55 # include <Qsci/qscilexermatlab.h>
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
56 # endif
16677
f6dfc7705623 * settings-dialog.cc: enable octave lexer editor styles if lexer is present
Torsten <ttl@justmail.de>
parents: 16667
diff changeset
57
21203
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
58 # include <Qsci/qscilexercpp.h>
29165
617d3aa713a4 add java file support in gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29162
diff changeset
59 # include <Qsci/qscilexerjava.h>
21203
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
60 # include <Qsci/qscilexerbash.h>
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
61 # include <Qsci/qscilexerperl.h>
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
62 # include <Qsci/qscilexerbatch.h>
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21045
diff changeset
63 # include <Qsci/qscilexerdiff.h>
16402
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents: 16379
diff changeset
64 #endif
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents: 16379
diff changeset
65
27560
3fcc650de22f split gui-preferences.h into one file per widget
John W. Eaton <jwe@octave.org>
parents: 27412
diff changeset
66 #include "gui-preferences-all.h"
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
67 #include "octave-qobject.h"
27412
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27276
diff changeset
68 #include "settings-dialog.h"
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27276
diff changeset
69 #include "variable-editor.h"
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27276
diff changeset
70 #include "workspace-model.h"
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27276
diff changeset
71
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
72 namespace octave
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
73 {
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
74
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
75 settings_dialog::settings_dialog (QWidget *p, base_qobject& oct_qobj,
27620
45bb5bbaf291 don't use singleton pattern for resource manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27613
diff changeset
76 const QString& desired_tab)
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
77 : QDialog (p), Ui::settings_dialog (), m_octave_qobj (oct_qobj)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
78 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
79 setupUi (this);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
80
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
81 resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
82 gui_settings *settings = rmgr.get_settings ();
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
83
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
84 if (! settings)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
85 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
86 QMessageBox msgBox
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
87 (QMessageBox::Warning, tr ("Octave Preferences"),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
88 tr ("Unable to save preferences. Missing preferences file or unknown directory."));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
89
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
90 msgBox.exec ();
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
91
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
92 return;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
93 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
94
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
95 // look for available language files and the actual settings
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
96 QString qm_dir_name = rmgr.get_gui_translation_dir ();
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
97 QDir qm_dir (qm_dir_name);
27935
f1844e33f621 maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents: 27923
diff changeset
98 QFileInfoList qm_files = qm_dir.entryInfoList (QStringList ("*.qm"),
f1844e33f621 maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents: 27923
diff changeset
99 QDir::Files | QDir::Readable, QDir::Name);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
100
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
101 for (int i = 0; i < qm_files.length (); i++) // insert available languages
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
102 comboBox_language->addItem (qm_files.at (i).baseName ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
103 // System at beginning
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
104 comboBox_language->insertItem (0, tr ("System setting"));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
105 comboBox_language->insertSeparator (1); // separator after System
27805
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
106 QString language = settings->value (global_language.key,
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
107 global_language.def).toString ();
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
108 if (language == global_language.def.toString ())
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
109 language = tr ("System setting");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
110 int selected = comboBox_language->findText (language);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
111 if (selected >= 0)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
112 comboBox_language->setCurrentIndex (selected);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
113 else
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
114 comboBox_language->setCurrentIndex (0); // System is default
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
115
26227
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
116 // Global style
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
117 QStringList styles = QStyleFactory::keys();
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
118 combo_styles->addItems (styles);
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
119 combo_styles->insertItem (0, global_style.def.toString ());
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
120 combo_styles->insertSeparator (1);
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
121 QString current_style = settings->value (global_style).toString ();
26227
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
122 if (current_style == global_style.def.toString ())
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
123 current_style = global_style.def.toString ();
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
124 selected = combo_styles->findText (current_style);
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
125 if (selected >= 0)
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
126 combo_styles->setCurrentIndex (selected);
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
127 else
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
128 combo_styles->setCurrentIndex (0);
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
129
26140
8fb8cb4a03f8 preference for (not) using system icon theme
Torsten <mttl@mailbox.org>
parents: 26135
diff changeset
130 // icon size and theme
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
131 QButtonGroup *icon_size_group = new QButtonGroup (this);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
132 icon_size_group->addButton (icon_size_small);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
133 icon_size_group->addButton (icon_size_normal);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
134 icon_size_group->addButton (icon_size_large);
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
135 int icon_size = settings->value (global_icon_size).toInt ();
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
136 icon_size_normal->setChecked (true); // the default
26135
a332d83cc659 fix use of icon size preferences
Torsten <mttl@mailbox.org>
parents: 26096
diff changeset
137 icon_size_small->setChecked (icon_size < 0);
a332d83cc659 fix use of icon size preferences
Torsten <mttl@mailbox.org>
parents: 26096
diff changeset
138 icon_size_large->setChecked (icon_size > 0);
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
139 cb_system_icon_theme->setChecked (settings->value (global_icon_theme).toBool ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
140
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
141 // which icon has to be selected
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
142 QButtonGroup *icon_group = new QButtonGroup (this);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
143 icon_group->addButton (general_icon_octave);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
144 icon_group->addButton (general_icon_graphic);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
145 icon_group->addButton (general_icon_letter);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
146 QString widget_icon_set =
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
147 settings->value (dw_icon_set).toString ();
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
148 general_icon_octave->setChecked (true); // the default (if invalid set)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
149 general_icon_octave->setChecked (widget_icon_set == "NONE");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
150 general_icon_graphic->setChecked (widget_icon_set == "GRAPHIC");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
151 general_icon_letter->setChecked (widget_icon_set == "LETTER");
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
152
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
153 // custom title bar of dock widget
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
154 QColor bg_color = settings->value (dw_title_bg_color).value<QColor> ();
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
155 m_widget_title_bg_color = new color_picker (bg_color);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
156 m_widget_title_bg_color->setEnabled (false);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
157 layout_widget_bgtitle->addWidget (m_widget_title_bg_color, 0);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
158
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
159 connect (cb_widget_custom_style, SIGNAL (toggled (bool)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
160 m_widget_title_bg_color, SLOT (setEnabled (bool)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
161
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
162 QColor bg_color_active = settings->value (dw_title_bg_color_active).value<QColor> ();
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
163 m_widget_title_bg_color_active = new color_picker (bg_color_active);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
164 m_widget_title_bg_color_active->setEnabled (false);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
165 layout_widget_bgtitle_active->addWidget (m_widget_title_bg_color_active, 0);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
166
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
167 connect (cb_widget_custom_style, SIGNAL (toggled (bool)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
168 m_widget_title_bg_color_active, SLOT (setEnabled (bool)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
169
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
170 QColor fg_color = settings->value (dw_title_fg_color).value<QColor> ();
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
171 m_widget_title_fg_color = new color_picker (fg_color);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
172 m_widget_title_fg_color->setEnabled (false);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
173 layout_widget_fgtitle->addWidget (m_widget_title_fg_color, 0);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
174
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
175 connect (cb_widget_custom_style, SIGNAL (toggled (bool)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
176 m_widget_title_fg_color, SLOT (setEnabled (bool)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
177
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
178 QColor fg_color_active = settings->value (dw_title_fg_color_active).value<QColor> ();
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
179 m_widget_title_fg_color_active = new color_picker (fg_color_active);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
180 m_widget_title_fg_color_active->setEnabled (false);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
181 layout_widget_fgtitle_active->addWidget (m_widget_title_fg_color_active, 0);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
182
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
183 connect (cb_widget_custom_style, SIGNAL (toggled (bool)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
184 m_widget_title_fg_color_active, SLOT (setEnabled (bool)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
185
27935
f1844e33f621 maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents: 27923
diff changeset
186 sb_3d_title->setValue (settings->value (dw_title_3d.key,
f1844e33f621 maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents: 27923
diff changeset
187 dw_title_3d.def).toInt ());
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
188 cb_widget_custom_style->setChecked (settings->value (dw_title_custom_style).toBool ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
189
26096
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
190 // Native file dialogs.
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
191 // FIXME: This preference can be deprecated / removed if all display
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
192 // managers, especially KDE, run those dialogs without hangs or
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
193 // delays from the start (bug #54607).
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
194 cb_use_native_file_dialogs->setChecked (settings->value (global_use_native_dialogs).toBool ());
26096
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
195
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
196 // Cursor blinking: consider old terminal related setting if not yet set
26096
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
197 // FIXME: This pref. can be deprecated / removed if Qt adds support for
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
198 // getting the cursor blink preferences from all OS environments
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
199 if (settings->contains (global_cursor_blinking.key))
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
200 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
201 // Preference exists, read its value
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
202 cb_cursor_blinking->setChecked (settings->value
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
203 (global_cursor_blinking.key, global_cursor_blinking.def).toBool ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
204 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
205 else
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
206 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
207 // Pref. does not exist, so take old terminal related pref.
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
208 cb_cursor_blinking->setChecked (settings->value
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
209 (cs_cursor_blinking.key, cs_cursor_blinking.def).toBool ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
210 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
211
29202
66af654b3485 provide focus follows mouse for widgets in the main window (bug #59701)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29165
diff changeset
212 // focus follows mouse
66af654b3485 provide focus follows mouse for widgets in the main window (bug #59701)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29165
diff changeset
213 cb_focus_follows_mouse->setChecked (
66af654b3485 provide focus follows mouse for widgets in the main window (bug #59701)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29165
diff changeset
214 settings->value (dw_focus_follows_mouse).toBool ());
66af654b3485 provide focus follows mouse for widgets in the main window (bug #59701)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29165
diff changeset
215
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
216 // prompt on exit
27805
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
217 cb_prompt_to_exit->setChecked (
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
218 settings->value (global_prompt_to_exit.key, global_prompt_to_exit.def).toBool ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
219
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
220 // Main status bar
27805
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
221 cb_status_bar->setChecked (
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
222 settings->value (global_status_bar.key, global_status_bar.def).toBool ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
223
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
224 // Octave startup
27805
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
225 cb_restore_octave_dir->setChecked (
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
226 settings->value (global_restore_ov_dir.key, global_restore_ov_dir.def).toBool ());
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
227 le_octave_dir->setText (settings->value (global_ov_startup_dir.key,
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
228 global_ov_startup_dir.def).toString ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
229
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
230 connect (pb_octave_dir, SIGNAL (pressed (void)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
231 this, SLOT (get_octave_dir (void)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
232
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
233 //
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
234 // editor
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
235 //
27805
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
236 useCustomFileEditor->setChecked (
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
237 settings->value (global_use_custom_editor.key, global_use_custom_editor.def).toBool ());
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
238 customFileEditor->setText (
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
239 settings->value (global_custom_editor.key, global_custom_editor.def).toString ());
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
240 editor_showLineNumbers->setChecked (settings->value (ed_show_line_numbers).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
241 editor_linenr_size->setValue (settings->value (ed_line_numbers_size).toInt ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
242
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
243 rmgr.combo_encoding (editor_combo_encoding);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
244
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
245 editor_highlightCurrentLine->setChecked (settings->value (ed_highlight_current_line).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
246 editor_long_line_marker->setChecked (settings->value (ed_long_line_marker).toBool ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
247 bool long_line =
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
248 settings->value (ed_long_line_marker_line).toBool ();
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
249 editor_long_line_marker_line->setChecked (long_line);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
250 bool long_back =
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
251 settings->value (ed_long_line_marker_background).toBool ();
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
252 editor_long_line_marker_background->setChecked (long_back);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
253 if (! (long_line || long_back))
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
254 editor_long_line_marker_line->setChecked (true);
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
255 editor_long_line_column->setValue (settings->value (ed_long_line_column).toInt ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
256 editor_break_checkbox->setChecked (settings->value (ed_break_lines).toBool ());
28334
f54cc65a487b fix break long editor lines preference (bug #58396)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27935
diff changeset
257 editor_break_comments_checkbox->setChecked (settings->value (ed_break_lines_comments).toBool ());
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
258 editor_wrap_checkbox->setChecked (settings->value (ed_wrap_lines).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
259 cb_edit_status_bar->setChecked (settings->value (ed_show_edit_status_bar).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
260 cb_edit_tool_bar->setChecked (settings->value (ed_show_toolbar).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
261 cb_code_folding->setChecked (settings->value (ed_code_folding).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
262 editor_highlight_all_occurrences->setChecked (settings->value (ed_highlight_all_occurrences).toBool ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
263
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
264 editor_auto_endif->setCurrentIndex (settings->value (ed_auto_endif).toInt () );
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
265 editor_codeCompletion->setChecked (settings->value (ed_code_completion).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
266 editor_spinbox_ac_threshold->setValue (settings->value (ed_code_completion_threshold).toInt ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
267 editor_checkbox_ac_keywords->setChecked (settings->value (ed_code_completion_keywords).toBool ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
268 editor_checkbox_ac_builtins->setEnabled (editor_checkbox_ac_keywords->isChecked ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
269 editor_checkbox_ac_functions->setEnabled (editor_checkbox_ac_keywords->isChecked ());
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
270 editor_checkbox_ac_builtins->setChecked (settings->value (ed_code_completion_octave_builtins).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
271 editor_checkbox_ac_functions->setChecked (settings->value (ed_code_completion_octave_functions).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
272 editor_checkbox_ac_document->setChecked (settings->value (ed_code_completion_document).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
273 editor_checkbox_ac_case->setChecked (settings->value (ed_code_completion_case).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
274 editor_checkbox_ac_replace->setChecked (settings->value (ed_code_completion_replace).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
275 editor_ws_checkbox->setChecked (settings->value (ed_show_white_space).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
276 editor_ws_indent_checkbox->setChecked (settings->value (ed_show_white_space_indent).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
277 cb_show_eol->setChecked (settings->value (ed_show_eol_chars).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
278 cb_show_hscrollbar->setChecked (settings->value (ed_show_hscroll_bar).toBool ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
279
27890
5ca326b3c0d5 fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27867
diff changeset
280 for (int i = 0; i < ed_tab_position_names.length (); i++)
5ca326b3c0d5 fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27867
diff changeset
281 editor_combox_tab_pos->insertItem (i,
5ca326b3c0d5 fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27867
diff changeset
282 tr (ed_tab_position_names.at (i).toStdString ().data ()));
27276
7455523fdf01 style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents: 27102
diff changeset
283 editor_combox_tab_pos->setCurrentIndex
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
284 (settings->value (ed_tab_position).toInt ());
27055
b38807a23fd2 add a preference for the tab positions in the editor (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 26530
diff changeset
285
29467
80457383d5e1 allow rotated tabs in the file editor (bug #60276)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29359
diff changeset
286 editor_cb_tabs_rotated->setChecked (settings->value (ed_tabs_rotated).toBool ());
80457383d5e1 allow rotated tabs in the file editor (bug #60276)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29359
diff changeset
287 editor_sb_tabs_max_width->setValue (settings->value (ed_tabs_max_width).toInt ());
80457383d5e1 allow rotated tabs in the file editor (bug #60276)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29359
diff changeset
288
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
289 int selected_comment_string, selected_uncomment_string;
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
290
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
291 if (settings->contains (ed_comment_str.key)) // new version (radio buttons)
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
292 selected_comment_string = settings->value (ed_comment_str).toInt ();
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
293 else // old version (combo box)
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
294 selected_comment_string = settings->value (ed_comment_str_old.key, ed_comment_str.def).toInt ();
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
295
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
296 selected_uncomment_string = settings->value (ed_uncomment_str).toInt ();
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
297
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
298 for (int i = 0; i < ed_comment_strings_count; i++)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
299 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
300 m_rb_comment_strings[i] = new QRadioButton ();
26530
dc02f20df07d Use check boxes for "uncommenting text" strings in editor properties (bug #55404).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26518
diff changeset
301 m_rb_uncomment_strings[i] = new QCheckBox ();
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
302
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
303 connect (m_rb_comment_strings[i], SIGNAL (clicked (bool)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
304 m_rb_uncomment_strings[i], SLOT (setChecked (bool)));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
305 connect (m_rb_comment_strings[i], SIGNAL (toggled (bool)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
306 m_rb_uncomment_strings[i], SLOT (setDisabled (bool)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
307
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
308 m_rb_comment_strings[i]->setText (ed_comment_strings.at(i));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
309 m_rb_comment_strings[i]->setChecked (i == selected_comment_string);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
310 layout_comment_strings->addWidget (m_rb_comment_strings[i]);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
311
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
312 m_rb_uncomment_strings[i]->setText (ed_comment_strings.at(i));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
313 m_rb_uncomment_strings[i]->setAutoExclusive (false);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
314 m_rb_uncomment_strings[i]->setChecked ( 1 << i & selected_uncomment_string);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
315 layout_uncomment_strings->addWidget (m_rb_uncomment_strings[i]);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
316 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
317
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
318
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
319 combo_eol_mode->setCurrentIndex (settings->value (ed_default_eol_mode).toInt ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
320 editor_auto_ind_checkbox->setChecked (settings->value (ed_auto_indent).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
321 editor_tab_ind_checkbox->setChecked (settings->value (ed_tab_indents_line).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
322 editor_bs_unind_checkbox->setChecked (settings->value (ed_backspace_unindents_line).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
323 editor_ind_guides_checkbox->setChecked (settings->value (ed_show_indent_guides).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
324 editor_ind_width_spinbox->setValue (settings->value (ed_indent_width).toInt ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
325 editor_ind_uses_tabs_checkbox->setChecked (settings->value (ed_indent_uses_tabs).toBool ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
326 editor_tab_width_spinbox->setValue (settings->value (ed_tab_width).toInt ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
327 editor_restoreSession->setChecked (settings->value (ed_restore_session).toBool ());
27849
28d7ec92bae6 replace prefs literals by symbolic constant in main window
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27818
diff changeset
328 editor_create_new_file->setChecked (settings->value (ed_create_new_file).toBool ());
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
329 editor_reload_changed_files->setChecked (settings->value (ed_always_reload_changed_files).toBool ());
28132
4cfe24f56336 add editor prefs for forcing coding standards (bug #57860, bug #57861)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27935
diff changeset
330 editor_force_newline->setChecked (settings->value (ed_force_newline).toBool ());
4cfe24f56336 add editor prefs for forcing coding standards (bug #57860, bug #57861)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27935
diff changeset
331 editor_remove_trailing_spaces->setChecked (settings->value (ed_rm_trailing_spaces).toBool ());
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
332 editor_hiding_closes_files->setChecked (settings->value (ed_hiding_closes_files).toBool ());
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
333 editor_show_dbg_file->setChecked (settings->value (ed_show_dbg_file).toBool ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
334
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
335 // terminal
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
336 QString default_font = settings->value (global_mono_font).toString ();
26008
38a881b8fbec do not use courier new as default font (bug #54086)
Torsten <mttl@mailbox.org>
parents: 25974
diff changeset
337 terminal_fontName->setCurrentFont (QFont (settings->value (cs_font.key, default_font).toString ()));
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
338 terminal_fontSize->setValue (settings->value (cs_font_size).toInt ());
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
339 terminal_history_buffer->setValue (settings->value (cs_hist_buffer).toInt ());
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
340 terminal_cursorUseForegroundColor->setChecked (settings->value (cs_cursor_use_fgcol).toBool ());
27849
28d7ec92bae6 replace prefs literals by symbolic constant in main window
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27818
diff changeset
341 terminal_focus_command->setChecked (settings->value (cs_focus_cmd).toBool ());
28d7ec92bae6 replace prefs literals by symbolic constant in main window
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27818
diff changeset
342 terminal_print_dbg_location->setChecked (settings->value (cs_dbg_location).toBool ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
343
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
344 QString cursor_type
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
345 = settings->value (cs_cursor).toString ();
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
346
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
347 QStringList items;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
348 items << QString ("0") << QString ("1") << QString ("2");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
349 terminal_cursorType->addItems (items);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
350 terminal_cursorType->setItemText (0, tr ("IBeam Cursor"));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
351 terminal_cursorType->setItemText (1, tr ("Block Cursor"));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
352 terminal_cursorType->setItemText (2, tr ("Underline Cursor"));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
353
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
354 for (unsigned int i = 0; i < cs_cursor_types.size (); i++)
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
355 {
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
356 if (cursor_type.toStdString () == cs_cursor_types[i])
27935
f1844e33f621 maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents: 27923
diff changeset
357 {
f1844e33f621 maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents: 27923
diff changeset
358 terminal_cursorType->setCurrentIndex (i);
f1844e33f621 maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents: 27923
diff changeset
359 break;
f1844e33f621 maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents: 27923
diff changeset
360 }
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
361 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
362
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
363 read_terminal_colors (settings);
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
364
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
365 // file browser
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
366 connect (sync_octave_directory, SIGNAL (toggled (bool)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
367 this, SLOT (set_disabled_pref_file_browser_dir (bool)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
368
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
369 sync_octave_directory->setChecked (settings->value (fb_sync_octdir).toBool ());
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
370 cb_restore_file_browser_dir->setChecked (settings->value (fb_restore_last_dir).toBool ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
371 le_file_browser_dir->setText (settings->value (fb_startup_dir.key).toString ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
372
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
373 connect (pb_file_browser_dir, SIGNAL (pressed (void)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
374 this, SLOT (get_file_browser_dir (void)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
375
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
376 le_file_browser_extensions->setText (settings->value (fb_txt_file_ext).toString ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
377
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
378 checkbox_allow_web_connect->setChecked (settings->value (nr_allow_connection).toBool ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
379
28409
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
380 // Proxy
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
381 bool use_proxy = settings->value (global_use_proxy.key, global_use_proxy.def).toBool ();
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
382 use_proxy_server->setChecked (use_proxy);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
383 // Fill combo box and activate current one
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
384 QString proxy_type_string = settings->value (global_proxy_type.key, global_proxy_type.def).toString ();
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
385 proxy_type->addItems (global_proxy_all_types);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
386 for (int i = 0; i < global_proxy_all_types.length (); i++)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
387 {
28409
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
388 if (proxy_type->itemText (i) == proxy_type_string)
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
389 {
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
390 proxy_type->setCurrentIndex (i);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
391 break;
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
392 }
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
393 }
28409
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
394 // Fill all line edits
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
395 proxy_host_name->setText (settings->value (global_proxy_host.key, global_proxy_host.def).toString ());
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
396 proxy_port->setText (settings->value (global_proxy_port.key, global_proxy_port.def).toString ());
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
397 proxy_username->setText (settings->value (global_proxy_user.key, global_proxy_user.def).toString ());
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
398 proxy_password->setText (settings->value (global_proxy_pass.key, global_proxy_pass.def).toString ());
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
399 // Connect relevant signals for dis-/enabling some elements
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
400 connect (proxy_type, SIGNAL (currentIndexChanged (int)),
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
401 this, SLOT (proxy_items_update (void)));
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
402 connect (use_proxy_server, SIGNAL (toggled (bool)),
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
403 this, SLOT (proxy_items_update (void)));
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
404 // Check whehter line edits have to be enabled
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
405 proxy_items_update ();
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
406
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
407 // Workspace
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
408 read_workspace_colors (settings);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
409
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
410 // variable editor
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
411 varedit_columnWidth->setValue (settings->value (ve_column_width).toInt ());
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
412 varedit_rowHeight->setValue (settings->value (ve_row_height).toInt ());
27662
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
413
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
414 varedit_font->setCurrentFont (QFont (settings->value (ve_font_name.key,
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
415 settings->value (cs_font.key, default_font)).toString ()));
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
416 varedit_fontSize->setValue (settings->value (ve_font_size).toInt ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
417 connect (varedit_useTerminalFont, SIGNAL (toggled (bool)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
418 varedit_font, SLOT (setDisabled (bool)));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
419 connect (varedit_useTerminalFont, SIGNAL (toggled (bool)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
420 varedit_fontSize, SLOT (setDisabled (bool)));
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
421 varedit_useTerminalFont->setChecked (settings->value (ve_use_terminal_font).toBool ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
422 varedit_font->setDisabled (varedit_useTerminalFont->isChecked ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
423 varedit_fontSize->setDisabled (varedit_useTerminalFont->isChecked ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
424
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
425 varedit_alternate->setChecked (settings->value (ve_alternate_rows).toBool ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
426
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
427 // variable editor colors
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
428 read_varedit_colors (settings);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
429
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
430 // shortcuts
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
431
27630
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
432 shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager ();
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
433
27818
fa0582694fda replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27805
diff changeset
434 cb_prevent_readline_conflicts->setChecked (
fa0582694fda replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27805
diff changeset
435 settings->value (sc_prevent_rl_conflicts.key,
fa0582694fda replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27805
diff changeset
436 sc_prevent_rl_conflicts.def).toBool ());
29084
2a70a068c4ab add option for using alt-modifer in command windows readline (bug #59478)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28409
diff changeset
437 cb_prevent_readline_conflicts_menu->setChecked (
2a70a068c4ab add option for using alt-modifer in command windows readline (bug #59478)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28409
diff changeset
438 settings->value (sc_prevent_rl_conflicts_menu.key,
2a70a068c4ab add option for using alt-modifer in command windows readline (bug #59478)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28409
diff changeset
439 sc_prevent_rl_conflicts_menu.def).toBool ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
440
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
441 // initialize the tree view with all shortcut data
27630
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
442 scmgr.fill_treewidget (shortcuts_treewidget);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
443
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
444 // connect the buttons for import/export of the shortcut sets
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
445 connect (btn_import_shortcut_set, SIGNAL (clicked (void)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
446 this, SLOT (import_shortcut_set (void)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
447
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
448 connect (btn_export_shortcut_set, SIGNAL (clicked (void)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
449 this, SLOT (export_shortcut_set (void)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
450
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
451 connect (btn_default_shortcut_set, SIGNAL (clicked (void)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
452 this, SLOT (default_shortcut_set (void)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
453
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
454 #if defined (HAVE_QSCINTILLA)
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
455
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
456 int ed_mode = settings->value (ed_color_mode).toInt ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
457
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
458 QCheckBox *cb_color_mode = new QCheckBox (settings_color_modes,
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
459 group_box_editor_styles);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
460 cb_color_mode->setToolTip (settings_color_modes_tooltip);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
461 cb_color_mode->setChecked (ed_mode > 0);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
462 cb_color_mode->setObjectName (ed_color_mode.key);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
463
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
464 QPushButton *pb_reload_default_colors = new QPushButton (settings_reload_styles);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
465 pb_reload_default_colors->setToolTip (settings_reload_styles_tooltip);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
466
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
467 editor_style_grid->addWidget (cb_color_mode, 0, 0);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
468 editor_style_grid->addWidget (pb_reload_default_colors, 0, 1);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
469 editor_style_grid->addItem (new QSpacerItem (5,5,QSizePolicy::Expanding), 0, 2);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
470
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
471
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
472
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
473 // update colors depending on second theme selection
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
474 connect (cb_color_mode, SIGNAL (stateChanged (int)),
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
475 this, SLOT (update_editor_lexers (int)));
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
476 connect (pb_reload_default_colors, &QPushButton::clicked,
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
477 [=] () { update_editor_lexers (settings_reload_default_colors_flag); });
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
478
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
479 // finally read the lexer colors using the update slot
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
480 update_editor_lexers ();
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
481
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
482 #endif
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
483
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
484 // which tab is the desired one?
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
485 show_tab (desired_tab);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
486
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
487 // connect button box signal
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
488 connect (button_box, SIGNAL (clicked (QAbstractButton *)),
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
489 this, SLOT (button_clicked (QAbstractButton *)));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
490
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
491 // restore last geometry
27867
99371079780f use symbolic constants for settings dialogs prefs
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27861
diff changeset
492 if (settings->contains (sd_geometry.key))
99371079780f use symbolic constants for settings dialogs prefs
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27861
diff changeset
493 restoreGeometry (settings->value (sd_geometry).toByteArray ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
494 else
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
495 setGeometry (QRect (10,50,1000,600));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
496 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
497
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
498 void settings_dialog::show_tab (const QString& tab)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
499 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
500 if (tab.isEmpty ())
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
501 {
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
502 resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
503 gui_settings *settings = rmgr.get_settings ();
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
504 if (settings)
27867
99371079780f use symbolic constants for settings dialogs prefs
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27861
diff changeset
505 tabWidget->setCurrentIndex (settings->value (sd_last_tab).toInt ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
506 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
507 else
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
508 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
509 QHash <QString, QWidget*> tab_hash;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
510 tab_hash["editor"] = tab_editor;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
511 tab_hash["editor_styles"] = tab_editor;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
512 tabWidget->setCurrentIndex (tabWidget->indexOf (tab_hash.value (tab)));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
513 if (tab == "editor_styles")
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
514 tab_editor_scroll_area->ensureWidgetVisible (group_box_editor_styles);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
515 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
516 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
517
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
518 void settings_dialog::get_octave_dir (void)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
519 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
520 get_dir (le_octave_dir, tr ("Set Octave Startup Directory"));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
521 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
522
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
523 void settings_dialog::get_file_browser_dir (void)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
524 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
525 get_dir (le_file_browser_dir, tr ("Set File Browser Startup Directory"));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
526 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
527
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
528 void settings_dialog::get_dir (QLineEdit *line_edit, const QString& title)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
529 {
26096
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
530 // FIXME: Remove, if for all common KDE versions (bug #54607) is resolved.
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
531 int opts = QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks;
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
532 resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
533 gui_settings *settings = rmgr.get_settings ();
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
534 if (! settings->value (global_use_native_dialogs).toBool ())
26096
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
535 opts |= QFileDialog::DontUseNativeDialog;
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
536
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
537 QString dir = QFileDialog::getExistingDirectory
26096
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
538 (this, title, line_edit->text (), QFileDialog::Option (opts));
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
539
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
540 line_edit->setText (dir);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
541 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
542
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
543 void settings_dialog::button_clicked (QAbstractButton *button)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
544 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
545 QDialogButtonBox::ButtonRole button_role = button_box->buttonRole (button);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
546
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
547 if (button_role == QDialogButtonBox::ApplyRole
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
548 || button_role == QDialogButtonBox::AcceptRole)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
549 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
550 write_changed_settings (button_role == QDialogButtonBox::AcceptRole);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
551 emit apply_new_settings ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
552 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
553
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
554 if (button_role == QDialogButtonBox::RejectRole
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
555 || button_role == QDialogButtonBox::AcceptRole)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
556 close ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
557 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
558
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
559 void settings_dialog::set_disabled_pref_file_browser_dir (bool disable)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
560 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
561 cb_restore_file_browser_dir->setDisabled (disable);
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
562
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
563 if (! disable)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
564 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
565 le_file_browser_dir->setDisabled (cb_restore_file_browser_dir->isChecked ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
566 pb_file_browser_dir->setDisabled (cb_restore_file_browser_dir->isChecked ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
567 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
568 else
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
569 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
570 le_file_browser_dir->setDisabled (disable);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
571 pb_file_browser_dir->setDisabled (disable);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
572 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
573 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
574
28409
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
575 // slot for updating enabled state of proxy settings
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
576 void settings_dialog::proxy_items_update (void)
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
577 {
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
578 bool use_proxy = use_proxy_server->isChecked ();
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
579
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
580 bool manual = false;
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
581 for (int i = 0; i < global_proxy_manual_types.length (); i++)
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
582 {
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
583 if (proxy_type->currentIndex () == global_proxy_manual_types.at (i))
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
584 {
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
585 manual = true;
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
586 break;
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
587 }
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
588 }
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
589
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
590 proxy_type->setEnabled (use_proxy);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
591 proxy_host_name_label->setEnabled (use_proxy && manual);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
592 proxy_host_name->setEnabled (use_proxy && manual);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
593 proxy_port_label->setEnabled (use_proxy && manual);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
594 proxy_port->setEnabled (use_proxy && manual);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
595 proxy_username_label->setEnabled (use_proxy && manual);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
596 proxy_username->setEnabled (use_proxy && manual);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
597 proxy_password_label->setEnabled (use_proxy && manual);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
598 proxy_password->setEnabled (use_proxy && manual);
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
599 }
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
600
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
601 // slots for import/export of shortcut sets
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
602
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
603 void settings_dialog::import_shortcut_set (void)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
604 {
27630
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
605 shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager ();
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
606
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
607 scmgr.import_export (shortcut_manager::OSC_IMPORT);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
608 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
609
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
610 void settings_dialog::export_shortcut_set (void)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
611 {
27630
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
612 shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager ();
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
613
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
614 scmgr.import_export (shortcut_manager::OSC_EXPORT);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
615 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
616
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
617 void settings_dialog::default_shortcut_set (void)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
618 {
27630
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
619 shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager ();
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
620
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
621 scmgr.import_export (shortcut_manager::OSC_DEFAULT);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
622 }
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
623
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
624 void settings_dialog::update_editor_lexers (int def)
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
625 {
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
626 #if defined (HAVE_QSCINTILLA)
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
627 QCheckBox *cb_color_mode
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
628 = group_box_editor_styles->findChild <QCheckBox *> (ed_color_mode.key);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
629
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
630 int m = 0;
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
631 if (cb_color_mode && cb_color_mode->isChecked ())
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
632 m = 1;
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
633
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
634 // editor styles: create lexer, read settings, and
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
635 // create or update dialog elements
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
636 QsciLexer *lexer;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
637
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
638 resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
639 gui_settings *settings = rmgr.get_settings ();
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
640
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
641 #if defined (HAVE_LEXER_OCTAVE)
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
642 lexer = new QsciLexerOctave ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
643 update_lexer (lexer, settings, m, def);
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
644 delete lexer;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
645 #elif defined (HAVE_LEXER_MATLAB)
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
646 lexer = new QsciLexerMatlab ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
647 update_lexer (lexer, settings, m, def);
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
648 delete lexer;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
649 #endif
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
650
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
651 lexer = new QsciLexerCPP ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
652 update_lexer (lexer, settings, m, def);
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
653 delete lexer;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
654
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
655 lexer = new QsciLexerJava ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
656 update_lexer (lexer, settings, m, def);
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
657 delete lexer;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
658
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
659 lexer = new QsciLexerPerl ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
660 update_lexer (lexer, settings, m, def);
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
661 delete lexer;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
662
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
663 lexer = new QsciLexerBatch ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
664 update_lexer (lexer, settings, m, def);
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
665 delete lexer;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
666
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
667 lexer = new QsciLexerDiff ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
668 update_lexer (lexer, settings, m, def);
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
669 delete lexer;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
670
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
671 lexer = new QsciLexerBash ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
672 update_lexer (lexer, settings, m, def);
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
673 delete lexer;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
674
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
675 lexer = new octave_txt_lexer ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
676 update_lexer (lexer, settings, m, def);
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
677 delete lexer;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
678 #endif
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
679 }
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
680
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
681 #if defined (HAVE_QSCINTILLA)
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
682
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
683 void settings_dialog::update_lexer (QsciLexer *lexer, gui_settings *settings,
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
684 int mode, int def)
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
685 {
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
686 // Get lexer settings and copy from default settings if not yet
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
687 // available in normal settings file
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
688 resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
689 rmgr.read_lexer_settings (lexer, settings, mode, def);
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
690
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
691 // When reloading default styles, the style tabs do already exists.
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
692 // Otherwise, check if they exist or not.
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
693 QString lexer_name = lexer->language ();
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
694
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
695 int index = -1;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
696 for (int i = 0; i < tabs_editor_lexers->count (); i++)
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
697 {
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
698 if (tabs_editor_lexers->tabText (i) == lexer_name)
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
699 {
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
700 index = i;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
701 break;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
702 }
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
703 }
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
704
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
705 if (index == -1)
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
706 {
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
707 // This is not an update, call get_lexer_settings for building
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
708 // the settings tab
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
709 get_lexer_settings (lexer, settings);
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
710 return;
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
711 }
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
712
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
713 // Update the styles elements in all styles
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
714 int styles[ed_max_lexer_styles]; // array for saving valid styles
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
715 int max_style = rmgr.get_valid_lexer_styles (lexer, styles);
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
716 QWidget *tab = tabs_editor_lexers->widget (index);
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
717 int default_size = 0;
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
718 QString default_family;
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
719
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
720 for (int i = 0; i < max_style; i++) // create dialog elements for all styles
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
721 {
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
722 QString actual_name = lexer->description (styles[i]);
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
723 color_picker *bg_color
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
724 = tab->findChild <color_picker *> (actual_name + "_bg_color");
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
725 if (bg_color)
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
726 {
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
727 // Update
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
728 if (styles[i] == 0)
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
729 bg_color->set_color (lexer->defaultPaper ());
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
730 else
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
731 {
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
732 if (lexer->paper (styles[i]) == lexer->defaultPaper ())
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
733 bg_color->set_color (settings_color_no_change);
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
734 else
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
735 bg_color->set_color (lexer->paper (styles[i]));
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
736 }
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
737 }
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
738
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
739 color_picker *color = tab->findChild <color_picker *> (actual_name + "_color");
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
740 if (color)
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
741 color->set_color (lexer->color (styles[i]));
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
742
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
743 QFont font = lexer->font (styles[i]);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
744
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
745 QCheckBox *cb = tab->findChild <QCheckBox *> (actual_name + "_bold");
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
746 if (cb)
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
747 cb->setChecked (font.bold ());
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
748 cb = tab->findChild <QCheckBox *> (actual_name + "_italic");
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
749 if (cb)
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
750 cb->setChecked (font.italic ());
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
751 cb = tab->findChild <QCheckBox *> (actual_name + "_underline");
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
752 if (cb)
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
753 cb->setChecked (font.underline ());
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
754
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
755 QFontComboBox *fcb = tab->findChild <QFontComboBox *> (actual_name + "_font");
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
756 if (fcb)
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
757 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
758 if (styles[i] == 0)
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
759 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
760 default_family = font.family ();
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
761 fcb->setEditText (default_family);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
762 }
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
763 else
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
764 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
765 if (font.family () == default_family)
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
766 fcb->setEditText (lexer->description (0));
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
767 else
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
768 fcb->setEditText (font.family ());
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
769 }
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
770 }
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
771 QSpinBox *fs = tab->findChild <QSpinBox *> (actual_name + "_size");
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
772 if (fs)
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
773 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
774 if (styles[i] == 0)
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
775 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
776 default_size = font.pointSize ();
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
777 fs->setValue (default_size);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
778 }
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
779 else
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
780 fs->setValue (font.pointSize () - default_size);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
781 }
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
782 }
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
783
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
784 }
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
785
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
786 void settings_dialog::get_lexer_settings (QsciLexer *lexer,
27611
0495b64288f7 use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents: 27583
diff changeset
787 gui_settings *settings)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
788 {
29162
bb6bb306b8a6 copy lexer settings from default settings file for new languages
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29148
diff changeset
789 resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
790
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
791 int styles[ed_max_lexer_styles]; // array for saving valid styles
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
792 // (enum is not continuous)
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
793 int max_style = rmgr.get_valid_lexer_styles (lexer, styles);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
794 QGridLayout *style_grid = new QGridLayout ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
795 QVector<QLabel*> description (max_style);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
796 QVector<QFontComboBox*> select_font (max_style);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
797 QVector<QSpinBox*> font_size (max_style);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
798 QVector<QCheckBox*> attrib_font (3 * max_style);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
799 QVector<color_picker*> color (max_style);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
800 QVector<color_picker*> bg_color (max_style);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
801 int default_size = 10;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
802 QFont default_font = QFont ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
803 int label_width;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
804 QColor default_color = QColor ();
20279
3a745710eaca Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents: 19913
diff changeset
805
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
806 for (int i = 0; i < max_style; i++) // create dialog elements for all styles
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
807 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
808 QString actual_name = lexer->description (styles[i]);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
809 QFont actual_font = lexer->font (styles[i]);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
810 description[i] = new QLabel (actual_name);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
811 description[i]->setWordWrap (true);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
812 label_width = 24*description[i]->fontMetrics ().averageCharWidth ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
813 description[i]->setMaximumSize (label_width, QWIDGETSIZE_MAX);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
814 description[i]->setMinimumSize (label_width, 1);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
815 select_font[i] = new QFontComboBox ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
816 select_font[i]->setObjectName (actual_name + "_font");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
817 select_font[i]->setMaximumSize (label_width, QWIDGETSIZE_MAX);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
818 select_font[i]->setMinimumSize (label_width, 1);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
819 font_size[i] = new QSpinBox ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
820 font_size[i]->setObjectName (actual_name + "_size");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
821 if (styles[i] == 0) // the default
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
822 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
823 select_font[i]->setCurrentFont (actual_font);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
824 default_font = actual_font;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
825 font_size[i]->setRange (6, 24);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
826 default_size = actual_font.pointSize ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
827 font_size[i]->setValue (default_size);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
828 default_color = lexer->defaultPaper ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
829 bg_color[i] = new color_picker (default_color);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
830 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
831 else // other styles
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
832 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
833 select_font[i]->setCurrentFont (actual_font);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
834 if (actual_font.family () == default_font.family ())
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
835 select_font[i]->setEditText (lexer->description (0));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
836 font_size[i]->setRange (-4, 4);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
837 font_size[i]->setValue (actual_font.pointSize ()-default_size);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
838 font_size[i]->setToolTip (QObject::tr ("Difference to the default size"));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
839 if (lexer->paper (styles[i]) == default_color)
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
840 bg_color[i] = new color_picker (settings_color_no_change);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
841 else
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
842 bg_color[i] = new color_picker (lexer->paper (styles[i]));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
843 bg_color[i]->setToolTip
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
844 (QObject::tr ("Background color, pink (255, 0, 255) means default"));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
845 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
846 attrib_font[0+3*i] = new QCheckBox (QObject::tr ("b", "short form for bold"));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
847 attrib_font[1+3*i] = new QCheckBox (QObject::tr ("i", "short form for italic"));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
848 attrib_font[2+3*i] = new QCheckBox (QObject::tr ("u", "short form for underlined"));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
849 attrib_font[0+3*i]->setChecked (actual_font.bold ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
850 attrib_font[0+3*i]->setObjectName (actual_name + "_bold");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
851 attrib_font[1+3*i]->setChecked (actual_font.italic ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
852 attrib_font[1+3*i]->setObjectName (actual_name + "_italic");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
853 attrib_font[2+3*i]->setChecked (actual_font.underline ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
854 attrib_font[2+3*i]->setObjectName (actual_name + "_underline");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
855 color[i] = new color_picker (lexer->color (styles[i]));
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
856 color[i]->setObjectName (actual_name + "_color");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
857 bg_color[i]->setObjectName (actual_name + "_bg_color");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
858 int column = 1;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
859 style_grid->addWidget (description[i], i, column++);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
860 style_grid->addWidget (select_font[i], i, column++);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
861 style_grid->addWidget (font_size[i], i, column++);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
862 style_grid->addWidget (attrib_font[0+3*i], i, column++);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
863 style_grid->addWidget (attrib_font[1+3*i], i, column++);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
864 style_grid->addWidget (attrib_font[2+3*i], i, column++);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
865 style_grid->addWidget (color[i], i, column++);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
866 style_grid->addWidget (bg_color[i], i, column++);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
867 }
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
868
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
869 // place grid with elements into the tab
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
870 QScrollArea *scroll_area = new QScrollArea ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
871 QWidget *scroll_area_contents = new QWidget ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
872 scroll_area_contents->setObjectName (QString (lexer->language ()) + "_styles");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
873 scroll_area_contents->setLayout (style_grid);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
874 scroll_area->setWidget (scroll_area_contents);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
875 tabs_editor_lexers->addTab (scroll_area, lexer->language ());
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
876
27867
99371079780f use symbolic constants for settings dialogs prefs
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27861
diff changeset
877 tabs_editor_lexers->setCurrentIndex (settings->value (sd_last_editor_styles_tab).toInt ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
878 }
20279
3a745710eaca Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents: 19913
diff changeset
879
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
880 void settings_dialog::write_lexer_settings (QsciLexer *lexer,
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
881 gui_settings *settings)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
882 {
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
883 resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
25953
526b51129c06 inherit Ui class in settings dialog instead of using pointer to member
John W. Eaton <jwe@octave.org>
parents: 25870
diff changeset
884
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
885 QCheckBox *cb_color_mode
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
886 = group_box_editor_styles->findChild <QCheckBox *> (ed_color_mode.key);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
887 int mode = 0;
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
888 if (cb_color_mode && cb_color_mode->isChecked ())
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
889 mode = 1;
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
890
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
891 settings->setValue (ed_color_mode.key, mode);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
892
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
893 QWidget *tab = tabs_editor_lexers->
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
894 findChild <QWidget *> (QString (lexer->language ()) + "_styles");
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
895 int styles[ed_max_lexer_styles]; // array for saving valid styles
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
896 // (enum is not continuous)
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
897 int max_style = rmgr.get_valid_lexer_styles (lexer, styles);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
898 QFontComboBox *select_font;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
899 QSpinBox *font_size;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
900 QCheckBox *attrib_font[3];
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
901 color_picker *color;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
902 color_picker *bg_color;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
903 int default_size = 10;
26008
38a881b8fbec do not use courier new as default font (bug #54086)
Torsten <mttl@mailbox.org>
parents: 25974
diff changeset
904
38a881b8fbec do not use courier new as default font (bug #54086)
Torsten <mttl@mailbox.org>
parents: 25974
diff changeset
905 QString default_font_name
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
906 = settings->value (global_mono_font).toString ();
26008
38a881b8fbec do not use courier new as default font (bug #54086)
Torsten <mttl@mailbox.org>
parents: 25974
diff changeset
907 QFont default_font = QFont (default_font_name, 10, -1, 0);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
908 QColor default_color = QColor ();
20279
3a745710eaca Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents: 19913
diff changeset
909
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
910 for (int i = 0; i < max_style; i++) // get dialog elements and their contents
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
911 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
912 QString actual_name = lexer->description (styles[i]);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
913 select_font = tab->findChild <QFontComboBox *> (actual_name + "_font");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
914 font_size = tab->findChild <QSpinBox *> (actual_name + "_size");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
915 attrib_font[0] = tab->findChild <QCheckBox *> (actual_name + "_bold");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
916 attrib_font[1] = tab->findChild <QCheckBox *> (actual_name + "_italic");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
917 attrib_font[2] = tab->findChild <QCheckBox *> (actual_name + "_underline");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
918 color = tab->findChild <color_picker *> (actual_name + "_color");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
919 bg_color = tab->findChild <color_picker *> (actual_name + "_bg_color");
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
920 QFont new_font = default_font;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
921 if (select_font)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
922 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
923 new_font = select_font->currentFont ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
924 if (styles[i] == 0)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
925 default_font = new_font;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
926 else if (select_font->currentText () == lexer->description (0))
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
927 new_font = default_font;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
928 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
929 if (font_size)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
930 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
931 if (styles[i] == 0)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
932 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
933 default_size = font_size->value ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
934 new_font.setPointSize (font_size->value ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
935 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
936 else
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
937 new_font.setPointSize (font_size->value ()+default_size);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
938 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
939 if (attrib_font[0])
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
940 new_font.setBold (attrib_font[0]->isChecked ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
941 if (attrib_font[1])
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
942 new_font.setItalic (attrib_font[1]->isChecked ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
943 if (attrib_font[2])
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
944 new_font.setUnderline (attrib_font[2]->isChecked ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
945 lexer->setFont (new_font, styles[i]);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
946 if (styles[i] == 0)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
947 lexer->setDefaultFont (new_font);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
948 if (color)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
949 lexer->setColor (color->color (), styles[i]);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
950 if (bg_color)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
951 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
952 if (styles[i] == 0)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
953 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
954 default_color = bg_color->color ();
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
955 lexer->setPaper (default_color, styles[i]);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
956 lexer->setDefaultPaper (default_color);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
957 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
958 else
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
959 {
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
960 if (bg_color->color () == settings_color_no_change)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
961 lexer->setPaper (default_color, styles[i]);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
962 else
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
963 lexer->setPaper (bg_color->color (), styles[i]);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
964 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
965 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
966 }
20279
3a745710eaca Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents: 19913
diff changeset
967
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
968 const char* group = QString ("Scintilla" + settings_color_modes_ext[mode])
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
969 .toStdString ().c_str ();
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
970
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
971 lexer->writeSettings (*settings, group);
20279
3a745710eaca Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents: 19913
diff changeset
972
27867
99371079780f use symbolic constants for settings dialogs prefs
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27861
diff changeset
973 settings->setValue (sd_last_editor_styles_tab.key,
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
974 tabs_editor_lexers->currentIndex ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
975 settings->sync ();
29498
5384bb4efc51 rearrange default lexer settings and add second color mode to gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29488
diff changeset
976 }
20279
3a745710eaca Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents: 19913
diff changeset
977
3a745710eaca Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents: 19913
diff changeset
978 #endif
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
979
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
980 void settings_dialog::write_changed_settings (bool closing)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
981 {
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
982 resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
983 gui_settings *settings = rmgr.get_settings ();
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
984
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
985 // the icon set
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
986 QString widget_icon_set = "NONE";
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
987 if (general_icon_letter->isChecked ())
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
988 widget_icon_set = "LETTER";
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
989 else if (general_icon_graphic->isChecked ())
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
990 widget_icon_set = "GRAPHIC";
27665
a1271c5b621a replace preference literals by symbolic constants for dock widgets
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27663
diff changeset
991 settings->setValue (dw_icon_set.key, widget_icon_set);
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
992
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
993 // language
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
994 QString language = comboBox_language->currentText ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
995 if (language == tr ("System setting"))
27805
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
996 language = global_language.def.toString ();
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
997 settings->setValue (global_language.key, language);
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
998
26227
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
999 // style
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
1000 QString selected_style = combo_styles->currentText ();
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
1001 if (selected_style == global_style.def.toString ())
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
1002 selected_style = global_style.def.toString ();
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
1003 settings->setValue (global_style.key, selected_style);
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 26140
diff changeset
1004
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1005 // dock widget title bar
27665
a1271c5b621a replace preference literals by symbolic constants for dock widgets
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27663
diff changeset
1006 settings->setValue (dw_title_custom_style.key, cb_widget_custom_style->isChecked ());
a1271c5b621a replace preference literals by symbolic constants for dock widgets
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27663
diff changeset
1007 settings->setValue (dw_title_3d.key, sb_3d_title->value ());
a1271c5b621a replace preference literals by symbolic constants for dock widgets
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27663
diff changeset
1008 settings->setValue (dw_title_bg_color.key, m_widget_title_bg_color->color ());
a1271c5b621a replace preference literals by symbolic constants for dock widgets
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27663
diff changeset
1009 settings->setValue (dw_title_bg_color_active.key, m_widget_title_bg_color_active->color ());
a1271c5b621a replace preference literals by symbolic constants for dock widgets
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27663
diff changeset
1010 settings->setValue (dw_title_fg_color.key, m_widget_title_fg_color->color ());
a1271c5b621a replace preference literals by symbolic constants for dock widgets
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27663
diff changeset
1011 settings->setValue (dw_title_fg_color_active.key, m_widget_title_fg_color_active->color ());
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1012
26140
8fb8cb4a03f8 preference for (not) using system icon theme
Torsten <mttl@mailbox.org>
parents: 26135
diff changeset
1013 // icon size and theme
26135
a332d83cc659 fix use of icon size preferences
Torsten <mttl@mailbox.org>
parents: 26096
diff changeset
1014 int icon_size = icon_size_large->isChecked () - icon_size_small->isChecked ();
a332d83cc659 fix use of icon size preferences
Torsten <mttl@mailbox.org>
parents: 26096
diff changeset
1015 settings->setValue (global_icon_size.key, icon_size);
26140
8fb8cb4a03f8 preference for (not) using system icon theme
Torsten <mttl@mailbox.org>
parents: 26135
diff changeset
1016 settings->setValue (global_icon_theme.key, cb_system_icon_theme->isChecked ());
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1017
26096
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
1018 // native file dialogs
27570
775412096ae4 use symbolic constants for file dock widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27563
diff changeset
1019 settings->setValue (global_use_native_dialogs.key, cb_use_native_file_dialogs->isChecked ());
26096
1002b49ce7b3 Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 26008
diff changeset
1020
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1021 // cursor blinking
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1022 settings->setValue (global_cursor_blinking.key, cb_cursor_blinking->isChecked ());
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1023
29202
66af654b3485 provide focus follows mouse for widgets in the main window (bug #59701)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29165
diff changeset
1024 // focus follows mouse
66af654b3485 provide focus follows mouse for widgets in the main window (bug #59701)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29165
diff changeset
1025 settings->setValue (dw_focus_follows_mouse.key, cb_focus_follows_mouse->isChecked ());
66af654b3485 provide focus follows mouse for widgets in the main window (bug #59701)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29165
diff changeset
1026
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1027 // promp to exit
27805
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
1028 settings->setValue (global_prompt_to_exit.key, cb_prompt_to_exit->isChecked ());
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1029
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1030 // status bar
27805
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
1031 settings->setValue (global_status_bar.key, cb_status_bar->isChecked ());
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1032
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1033 // Octave startup
27805
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
1034 settings->setValue (global_restore_ov_dir.key, cb_restore_octave_dir->isChecked ());
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
1035 settings->setValue (global_ov_startup_dir.key, le_octave_dir->text ());
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1036
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1037 //editor
27805
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
1038 settings->setValue (global_use_custom_editor.key, useCustomFileEditor->isChecked ());
dccc551aa83b replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27726
diff changeset
1039 settings->setValue (global_custom_editor.key, customFileEditor->text ());
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1040 settings->setValue (ed_show_line_numbers.key, editor_showLineNumbers->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1041 settings->setValue (ed_line_numbers_size.key, editor_linenr_size->value ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1042 settings->setValue (ed_highlight_current_line.key, editor_highlightCurrentLine->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1043 settings->setValue (ed_long_line_marker.key, editor_long_line_marker->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1044 settings->setValue (ed_long_line_marker_line.key, editor_long_line_marker_line->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1045 settings->setValue (ed_long_line_marker_background.key, editor_long_line_marker_background->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1046 settings->setValue (ed_long_line_column.key, editor_long_line_column->value ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1047 settings->setValue (ed_break_lines.key, editor_break_checkbox->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1048 settings->setValue (ed_break_lines_comments.key, editor_break_comments_checkbox->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1049 settings->setValue (ed_wrap_lines.key, editor_wrap_checkbox->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1050 settings->setValue (ed_code_folding.key, cb_code_folding->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1051 settings->setValue (ed_show_edit_status_bar.key, cb_edit_status_bar->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1052 settings->setValue (ed_show_toolbar.key, cb_edit_tool_bar->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1053 settings->setValue (ed_highlight_all_occurrences.key, editor_highlight_all_occurrences->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1054 settings->setValue (ed_code_completion.key, editor_codeCompletion->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1055 settings->setValue (ed_code_completion_threshold.key, editor_spinbox_ac_threshold->value ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1056 settings->setValue (ed_code_completion_keywords.key, editor_checkbox_ac_keywords->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1057 settings->setValue (ed_code_completion_octave_builtins.key, editor_checkbox_ac_builtins->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1058 settings->setValue (ed_code_completion_octave_functions.key, editor_checkbox_ac_functions->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1059 settings->setValue (ed_code_completion_document.key, editor_checkbox_ac_document->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1060 settings->setValue (ed_code_completion_case.key, editor_checkbox_ac_case->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1061 settings->setValue (ed_code_completion_replace.key, editor_checkbox_ac_replace->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1062 settings->setValue (ed_auto_endif.key, editor_auto_endif->currentIndex ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1063 settings->setValue (ed_show_white_space.key, editor_ws_checkbox->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1064 settings->setValue (ed_show_white_space_indent.key, editor_ws_indent_checkbox->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1065 settings->setValue (ed_show_eol_chars.key, cb_show_eol->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1066 settings->setValue (ed_show_hscroll_bar.key, cb_show_hscrollbar->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1067 settings->setValue (ed_default_eol_mode.key, combo_eol_mode->currentIndex ());
24475
8cb985e362f3 Allow uncommenting with any kind of comment (bug #52695):
Torsten <mttl@mailbox.org>
parents: 24290
diff changeset
1068
27055
b38807a23fd2 add a preference for the tab positions in the editor (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 26530
diff changeset
1069 settings->setValue (ed_tab_position.key, editor_combox_tab_pos->currentIndex ());
29467
80457383d5e1 allow rotated tabs in the file editor (bug #60276)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29359
diff changeset
1070 settings->setValue (ed_tabs_rotated.key, editor_cb_tabs_rotated->isChecked ());
80457383d5e1 allow rotated tabs in the file editor (bug #60276)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29359
diff changeset
1071 settings->setValue (ed_tabs_max_width.key, editor_sb_tabs_max_width->value ());
27055
b38807a23fd2 add a preference for the tab positions in the editor (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 26530
diff changeset
1072
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1073 // Comment strings
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1074 int rb_uncomment = 0;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1075 for (int i = 0; i < ed_comment_strings_count; i++)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1076 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1077 if (m_rb_comment_strings[i]->isChecked ())
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1078 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1079 settings->setValue (ed_comment_str.key, i);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1080 if (i < 3)
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1081 settings->setValue (ed_comment_str_old.key, i);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1082 else
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1083 settings->setValue (ed_comment_str_old.key, ed_comment_str.def);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1084 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1085 if (m_rb_uncomment_strings[i]->isChecked ())
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1086 rb_uncomment = rb_uncomment + (1 << i);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1087 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1088 settings->setValue (ed_uncomment_str.key, rb_uncomment);
24475
8cb985e362f3 Allow uncommenting with any kind of comment (bug #52695):
Torsten <mttl@mailbox.org>
parents: 24290
diff changeset
1089
27562
d7876110e854 use symbolic preference keys if available
John W. Eaton <jwe@octave.org>
parents: 27560
diff changeset
1090 settings->setValue (ed_default_enc.key, editor_combo_encoding->currentText ());
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1091 settings->setValue (ed_auto_indent.key, editor_auto_ind_checkbox->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1092 settings->setValue (ed_tab_indents_line.key, editor_tab_ind_checkbox->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1093 settings->setValue (ed_backspace_unindents_line.key, editor_bs_unind_checkbox->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1094 settings->setValue (ed_show_indent_guides.key, editor_ind_guides_checkbox->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1095 settings->setValue (ed_indent_width.key, editor_ind_width_spinbox->value ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1096 settings->setValue (ed_indent_uses_tabs.key, editor_ind_uses_tabs_checkbox->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1097 settings->setValue (ed_tab_width.key, editor_tab_width_spinbox->value ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1098 settings->setValue (ed_restore_session.key, editor_restoreSession->isChecked ());
27849
28d7ec92bae6 replace prefs literals by symbolic constant in main window
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27818
diff changeset
1099 settings->setValue (ed_create_new_file.key, editor_create_new_file->isChecked ());
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1100 settings->setValue (ed_hiding_closes_files.key, editor_hiding_closes_files->isChecked ());
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27849
diff changeset
1101 settings->setValue (ed_always_reload_changed_files.key, editor_reload_changed_files->isChecked ());
28132
4cfe24f56336 add editor prefs for forcing coding standards (bug #57860, bug #57861)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27935
diff changeset
1102 settings->setValue (ed_force_newline.key, editor_force_newline->isChecked ());
4cfe24f56336 add editor prefs for forcing coding standards (bug #57860, bug #57861)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27935
diff changeset
1103 settings->setValue (ed_rm_trailing_spaces.key, editor_remove_trailing_spaces->isChecked ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1104 settings->setValue (ed_show_dbg_file.key, editor_show_dbg_file->isChecked ());
25622
a7ee69d23f32 add a gui preference for opening files when debugging in console (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25617
diff changeset
1105
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1106 // file browser
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1107 settings->setValue (fb_sync_octdir.key, sync_octave_directory->isChecked ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1108 settings->setValue (fb_restore_last_dir.key, cb_restore_file_browser_dir->isChecked ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1109 settings->setValue (fb_startup_dir.key, le_file_browser_dir->text ());
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1110 settings->setValue (fb_txt_file_ext.key, le_file_browser_extensions->text ());
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1111
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1112 // network
27613
deb8877f2c34 use symbolic constants for preferences key and default values in news reader
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27611
diff changeset
1113 settings->setValue (nr_allow_connection.key, checkbox_allow_web_connect->isChecked ());
28409
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
1114 settings->setValue (global_use_proxy.key, use_proxy_server->isChecked ());
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
1115 settings->setValue (global_proxy_type.key, proxy_type->currentText ());
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
1116 settings->setValue (global_proxy_host.key, proxy_host_name->text ());
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
1117 settings->setValue (global_proxy_port.key, proxy_port->text ());
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
1118 settings->setValue (global_proxy_user.key, proxy_username->text ());
ed8d11b1027d reorganize network preferences in settings dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28340
diff changeset
1119 settings->setValue (global_proxy_pass.key, proxy_password->text ());
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1120
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1121 // command window
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1122 settings->setValue (cs_font_size.key, terminal_fontSize->value ());
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1123 settings->setValue (cs_font.key, terminal_fontName->currentFont ().family ());
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1124 settings->setValue (cs_cursor_use_fgcol.key, terminal_cursorUseForegroundColor->isChecked ());
29143
a43cf0300dcd fix focus command window after command execution (bug #59609)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28334
diff changeset
1125 settings->setValue (cs_focus_cmd.key, terminal_focus_command->isChecked ());
27849
28d7ec92bae6 replace prefs literals by symbolic constant in main window
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27818
diff changeset
1126 settings->setValue (cs_dbg_location.key, terminal_print_dbg_location->isChecked ());
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1127 settings->setValue (cs_hist_buffer.key, terminal_history_buffer->value ());
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1128 write_terminal_colors (settings);
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1129
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1130 // the cursor
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1131 QString cursor_type;
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1132 unsigned int cursor_int = terminal_cursorType->currentIndex ();
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1133 if ((cursor_int > 0) && (cursor_int < cs_cursor_types.size ()))
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1134 cursor_type = QString (cs_cursor_types[cursor_int].data ());
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1135 else
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1136 cursor_type = cs_cursor.def.toString ();
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1137
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1138 settings->setValue (cs_cursor.key, cursor_type);
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1139
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1140 #if defined (HAVE_QSCINTILLA)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1141 // editor styles: create lexer, get dialog contents, and write settings
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1142 QsciLexer *lexer;
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1143
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1144 #if defined (HAVE_LEXER_OCTAVE)
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1145
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1146 lexer = new QsciLexerOctave ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1147 write_lexer_settings (lexer, settings);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1148 delete lexer;
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1149
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1150 #elif defined (HAVE_LEXER_MATLAB)
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1151
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1152 lexer = new QsciLexerMatlab ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1153 write_lexer_settings (lexer, settings);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1154 delete lexer;
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1155
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1156 #endif
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1157
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1158 lexer = new QsciLexerCPP ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1159 write_lexer_settings (lexer, settings);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1160 delete lexer;
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1161
29165
617d3aa713a4 add java file support in gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29162
diff changeset
1162 lexer = new QsciLexerJava ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1163 write_lexer_settings (lexer, settings);
29165
617d3aa713a4 add java file support in gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29162
diff changeset
1164 delete lexer;
617d3aa713a4 add java file support in gui editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29162
diff changeset
1165
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1166 lexer = new QsciLexerPerl ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1167 write_lexer_settings (lexer, settings);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1168 delete lexer;
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1169
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1170 lexer = new QsciLexerBatch ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1171 write_lexer_settings (lexer, settings);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1172 delete lexer;
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1173
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1174 lexer = new QsciLexerDiff ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1175 write_lexer_settings (lexer, settings);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1176 delete lexer;
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1177
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1178 lexer = new QsciLexerBash ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1179 write_lexer_settings (lexer, settings);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1180 delete lexer;
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1181
27102
84ff9953faa1 where possible, eliminate octave:: namespace qualifier inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27055
diff changeset
1182 lexer = new octave_txt_lexer ();
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1183 write_lexer_settings (lexer, settings);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1184 delete lexer;
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1185
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1186 #endif
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1187
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1188 // Workspace
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1189 write_workspace_colors (settings);
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1190
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1191 // Variable editor
27662
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1192 settings->setValue (ve_column_width.key, varedit_columnWidth->value ());
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1193 settings->setValue (ve_row_height.key, varedit_rowHeight->value ());
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1194 settings->setValue (ve_use_terminal_font.key, varedit_useTerminalFont->isChecked ());
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1195 settings->setValue (ve_alternate_rows.key, varedit_alternate->isChecked ());
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1196 settings->setValue (ve_font_name.key, varedit_font->currentFont ().family ());
27562
d7876110e854 use symbolic preference keys if available
John W. Eaton <jwe@octave.org>
parents: 27560
diff changeset
1197 settings->setValue (ve_font_size.key, varedit_fontSize->value ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1198 write_varedit_colors (settings);
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1199
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1200 // shortcuts
27630
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
1201
27818
fa0582694fda replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27805
diff changeset
1202 settings->setValue (sc_prevent_rl_conflicts.key, cb_prevent_readline_conflicts->isChecked ());
29084
2a70a068c4ab add option for using alt-modifer in command windows readline (bug #59478)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28409
diff changeset
1203 settings->setValue (sc_prevent_rl_conflicts_menu.key, cb_prevent_readline_conflicts_menu->isChecked ());
27630
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
1204 shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager ();
262cdd0f7619 don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
1205 scmgr.write_shortcuts (settings, closing);
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1206
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1207 // settings dialog's geometry
27867
99371079780f use symbolic constants for settings dialogs prefs
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27861
diff changeset
1208 settings->setValue (sd_last_tab.key, tabWidget->currentIndex ());
99371079780f use symbolic constants for settings dialogs prefs
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27861
diff changeset
1209 settings->setValue (sd_geometry.key, saveGeometry ());
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1210
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1211 settings->sync ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1212 }
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1213
27611
0495b64288f7 use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents: 27583
diff changeset
1214 void settings_dialog::read_workspace_colors (gui_settings *settings)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1215 {
25974
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1216 // Construct the grid with all color related settings
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1217 QGridLayout *style_grid = new QGridLayout ();
27660
30e84a3d58e5 replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27630
diff changeset
1218 QVector<QLabel*> description (ws_colors_count);
30e84a3d58e5 replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27630
diff changeset
1219 QVector<color_picker*> color (ws_colors_count);
16610
a1f613e5066d workspace view colors based upon variable scope (derived from Dan's patch #8013)
Torsten <ttl@justmail.de>
parents: 16525
diff changeset
1220
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1221 int column = 0;
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1222 const int color_columns = 3; // place colors in so many columns
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1223 int row = 0;
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1224 int mode = settings->value (ws_color_mode).toInt ();
25974
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1225
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1226 m_ws_enable_colors = new QCheckBox (tr ("Enable attribute colors"));
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1227 style_grid->addWidget (m_ws_enable_colors, row++, column, 1, 4);
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1228
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1229 m_ws_hide_tool_tips = new QCheckBox (tr ("Hide tools tips"));
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1230 style_grid->addWidget (m_ws_hide_tool_tips, row++, column, 1, 4);
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1231 connect (m_ws_enable_colors, SIGNAL (toggled (bool)),
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1232 m_ws_hide_tool_tips, SLOT(setEnabled (bool)));
27276
7455523fdf01 style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents: 27102
diff changeset
1233 m_ws_hide_tool_tips->setChecked
27672
a36443e94f8a simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents: 27668
diff changeset
1234 (settings->value (ws_hide_tool_tips).toBool ());
25974
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1235
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1236 QCheckBox *cb_color_mode = new QCheckBox (settings_color_modes);
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1237 cb_color_mode->setToolTip (settings_color_modes_tooltip);
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1238 cb_color_mode->setChecked (mode == 1);
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1239 cb_color_mode->setObjectName (ws_color_mode.key);
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1240 connect (m_ws_enable_colors, SIGNAL (toggled (bool)),
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1241 cb_color_mode, SLOT (setEnabled (bool)));
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1242 style_grid->addWidget (cb_color_mode, row, column);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1243
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1244 QPushButton *pb_reload_default_colors = new QPushButton (settings_reload_colors);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1245 pb_reload_default_colors->setToolTip (settings_reload_colors_tooltip);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1246 connect (m_ws_enable_colors, SIGNAL (toggled (bool)),
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1247 pb_reload_default_colors, SLOT (setEnabled (bool)));
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1248 style_grid->addWidget (pb_reload_default_colors, row+1, column++);
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1249
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1250 bool colors_enabled = settings->value (ws_enable_colors).toBool ();
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1251
27660
30e84a3d58e5 replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27630
diff changeset
1252 for (int i = 0; i < ws_colors_count; i++)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1253 {
27890
5ca326b3c0d5 fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27867
diff changeset
1254 description[i] = new QLabel (" "
5ca326b3c0d5 fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27867
diff changeset
1255 + tr (ws_color_names.at (i).toStdString ().data ()));
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1256 description[i]->setAlignment (Qt::AlignRight);
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1257 description[i]->setEnabled (colors_enabled);
25974
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1258 connect (m_ws_enable_colors, SIGNAL (toggled (bool)),
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1259 description[i], SLOT(setEnabled (bool)));
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1260
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1261 QColor setting_color = settings->color_value (ws_colors[i], mode);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1262 color[i] = new color_picker (setting_color);
27660
30e84a3d58e5 replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27630
diff changeset
1263 color[i]->setObjectName (ws_colors[i].key);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1264 color[i]->setMinimumSize (30, 10);
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1265 color[i]->setEnabled (colors_enabled);
25974
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1266 connect (m_ws_enable_colors, SIGNAL (toggled (bool)),
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1267 color[i], SLOT(setEnabled (bool)));
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1268
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1269 style_grid->addWidget (description[i], row, 3*column);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1270 style_grid->addWidget (color[i], row, 3*column+1);
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1271 if (++column > color_columns)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1272 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1273 style_grid->setColumnStretch (4*column, 10);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1274 row++;
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1275 column = 1;
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1276 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1277 }
16610
a1f613e5066d workspace view colors based upon variable scope (derived from Dan's patch #8013)
Torsten <ttl@justmail.de>
parents: 16525
diff changeset
1278
25974
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1279 // Load enable settings at the end for having signals already connected
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1280 m_ws_enable_colors->setChecked (colors_enabled);
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1281 m_ws_hide_tool_tips->setEnabled (colors_enabled);
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1282 cb_color_mode->setEnabled (colors_enabled);
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1283 pb_reload_default_colors->setEnabled (colors_enabled);
25974
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1284
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1285 // place grid with elements into the tab
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1286 workspace_colors_box->setLayout (style_grid);
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1287
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1288 // update colors depending on second theme selection or reloading
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1289 // the dfault values
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1290 connect (cb_color_mode, SIGNAL (stateChanged (int)),
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1291 this, SLOT (update_workspace_colors (int)));
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1292 connect (pb_reload_default_colors, &QPushButton::clicked,
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1293 [=] () { update_workspace_colors (settings_reload_default_colors_flag); });
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1294 }
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1295
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1296 void settings_dialog::update_workspace_colors (int def)
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1297 {
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1298 QCheckBox *cb_color_mode
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1299 = workspace_colors_box->findChild <QCheckBox *> (ws_color_mode.key);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1300
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1301 int m = 0;
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1302 if (cb_color_mode && cb_color_mode->isChecked ())
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1303 m = 1;
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1304
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1305 resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1306 gui_settings *settings = rmgr.get_settings ();
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1307
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1308 color_picker *c_picker;
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1309
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1310 for (unsigned int i = 0; i < ws_colors_count; i++)
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1311 {
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1312 c_picker = workspace_colors_box->findChild <color_picker *> (ws_colors[i].key);
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1313 if (c_picker)
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1314 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1315 if (def != settings_reload_default_colors_flag)
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1316 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1317 // Get current value from settings or the default
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1318 c_picker->set_color (settings->color_value (ws_colors[i], m));
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1319 }
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1320 else
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1321 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1322 // Get the default value
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1323 c_picker->set_color (settings->get_color_value (ws_colors[i].def, m));
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1324 }
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1325 }
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1326 }
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1327 }
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1328
27611
0495b64288f7 use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents: 27583
diff changeset
1329 void settings_dialog::write_workspace_colors (gui_settings *settings)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1330 {
25974
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1331 settings->setValue (ws_enable_colors.key, m_ws_enable_colors->isChecked ());
c3cd63006870 add preference for disabling workspace colors for different attributes
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
1332 settings->setValue (ws_hide_tool_tips.key, m_ws_hide_tool_tips->isChecked ());
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1333
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1334 QCheckBox *cb_color_mode
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1335 = workspace_colors_box->findChild <QCheckBox *> (ws_color_mode.key);
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1336
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1337 int mode = 0;
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1338 if (cb_color_mode && cb_color_mode->isChecked ())
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1339 mode = 1;
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1340
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1341 color_picker *color;
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1342
27660
30e84a3d58e5 replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27630
diff changeset
1343 for (int i = 0; i < ws_colors_count; i++)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1344 {
27660
30e84a3d58e5 replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27630
diff changeset
1345 color = workspace_colors_box->findChild <color_picker *> (ws_colors[i].key);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1346 if (color)
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1347 settings->set_color_value (ws_colors[i], color->color (), mode);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1348 }
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1349
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1350 settings->setValue (ws_color_mode.key, mode);
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1351
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1352 settings->sync ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1353 }
24011
9107bae20480 style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents: 23996
diff changeset
1354
27611
0495b64288f7 use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents: 27583
diff changeset
1355 void settings_dialog::read_terminal_colors (gui_settings *settings)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1356 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1357 QGridLayout *style_grid = new QGridLayout ();
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1358 QVector<QLabel*> description (cs_colors_count);
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1359 QVector<color_picker*> color (cs_colors_count);
16620
818eef7b2618 allow terminal colors to be set from preferences dialog
John W. Eaton <jwe@octave.org>
parents: 16610
diff changeset
1360
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1361 int mode = settings->value (cs_color_mode).toInt ();
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1362
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1363 QCheckBox *cb_color_mode = new QCheckBox (settings_color_modes);
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1364 cb_color_mode->setToolTip (settings_color_modes_tooltip);
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1365 cb_color_mode->setChecked (mode == 1);
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1366 cb_color_mode->setObjectName (cs_color_mode.key);
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1367 style_grid->addWidget (cb_color_mode, 0, 0);
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1368
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1369 QPushButton *pb_reload_default_colors = new QPushButton (settings_reload_colors);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1370 pb_reload_default_colors->setToolTip (settings_reload_colors_tooltip);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1371 style_grid->addWidget (pb_reload_default_colors, 1, 0);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1372
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1373 int column = 1; // column 0 is for the color mode checkbox
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1374 const int color_columns = 2; // place colors in so many columns
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1375 int row = 0;
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1376 for (unsigned int i = 0; i < cs_colors_count; i++)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1377 {
27890
5ca326b3c0d5 fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27867
diff changeset
1378 description[i] = new QLabel (" "
5ca326b3c0d5 fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27867
diff changeset
1379 + tr (cs_color_names.at (i).toStdString ().data ()));
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1380 description[i]->setAlignment (Qt::AlignRight);
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1381 QColor setting_color = settings->color_value (cs_colors[i], mode);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1382 color[i] = new color_picker (setting_color);
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1383 color[i]->setObjectName (cs_colors[i].key);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1384 color[i]->setMinimumSize (30, 10);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1385 style_grid->addWidget (description[i], row, 2*column);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1386 style_grid->addWidget (color[i], row, 2*column+1);
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1387 if (++column > color_columns)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1388 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1389 style_grid->setColumnStretch (3*column, 10);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1390 row++;
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1391 column = 1;
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1392 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1393 }
16620
818eef7b2618 allow terminal colors to be set from preferences dialog
John W. Eaton <jwe@octave.org>
parents: 16610
diff changeset
1394
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1395 // place grid with elements into the tab
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1396 terminal_colors_box->setLayout (style_grid);
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1397
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1398 // update colors depending on second theme selection
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1399 connect (cb_color_mode, SIGNAL (stateChanged (int)),
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1400 this, SLOT (update_terminal_colors (int)));
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1401 connect (pb_reload_default_colors, &QPushButton::clicked,
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1402 [=] () { update_terminal_colors (settings_reload_default_colors_flag); });
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1403 }
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1404
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1405 void settings_dialog::update_terminal_colors (int def)
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1406 {
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1407 QCheckBox *cb_color_mode
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1408 = terminal_colors_box->findChild <QCheckBox *> (cs_color_mode.key);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1409
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1410 int m = 0;
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1411 if (cb_color_mode && cb_color_mode->isChecked ())
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1412 m = 1;
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1413
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1414 resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1415 gui_settings *settings = rmgr.get_settings ();
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1416
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1417 color_picker *c_picker;
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1418
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1419 for (unsigned int i = 0; i < cs_colors_count; i++)
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1420 {
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1421 c_picker = terminal_colors_box->findChild <color_picker *> (cs_colors[i].key);
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1422 if (c_picker)
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1423 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1424 if (def != settings_reload_default_colors_flag)
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1425 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1426 // Get current value from settings or the default
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1427 c_picker->set_color (settings->color_value (cs_colors[i], m));
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1428 }
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1429 else
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1430 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1431 // Get the default value
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1432 c_picker->set_color (settings->get_color_value (cs_colors[i].def, m));
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1433 }
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1434 }
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1435 }
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1436 }
16402
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents: 16379
diff changeset
1437
27611
0495b64288f7 use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents: 27583
diff changeset
1438 void settings_dialog::write_terminal_colors (gui_settings *settings)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1439 {
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1440 QCheckBox *cb_color_mode
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1441 = terminal_colors_box->findChild <QCheckBox *> (cs_color_mode.key);
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1442
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1443 int mode = 0;
29487
00674bc1446d provide second color mode for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29484
diff changeset
1444 if (cb_color_mode && cb_color_mode->isChecked ())
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1445 mode = 1;
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1446
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1447 color_picker *color;
16620
818eef7b2618 allow terminal colors to be set from preferences dialog
John W. Eaton <jwe@octave.org>
parents: 16610
diff changeset
1448
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1449 for (int i = 0; i < cs_color_names.size (); i++)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1450 {
27583
315c35e6037c use symbolic constants for command widget preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27570
diff changeset
1451 color = terminal_colors_box->findChild <color_picker *> (cs_colors[i].key);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1452 if (color)
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1453 settings->set_color_value (cs_colors[i], color->color (), mode);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1454 }
19632
101ce4eaa56c prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents: 19631
diff changeset
1455
29484
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1456 settings->setValue (cs_color_mode.key, mode);
bed2fd5b8263 allow a second color theme for the console window (dark mode)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29468
diff changeset
1457
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1458 settings->sync ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1459 }
18310
03a8428adef7 gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents: 18309
diff changeset
1460
27611
0495b64288f7 use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents: 27583
diff changeset
1461 void settings_dialog::read_varedit_colors (gui_settings *settings)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1462 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1463 QGridLayout *style_grid = new QGridLayout ();
27662
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1464 QVector<QLabel*> description (ve_colors_count);
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1465 QVector<color_picker*> color (ve_colors_count);
18310
03a8428adef7 gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents: 18309
diff changeset
1466
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1467 int mode = settings->value (ve_color_mode).toInt ();
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1468
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1469 QCheckBox *cb_color_mode = new QCheckBox (settings_color_modes);
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1470 cb_color_mode->setToolTip (settings_color_modes_tooltip);
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1471 cb_color_mode->setChecked (mode == 1);
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1472 cb_color_mode->setObjectName (ve_color_mode.key);
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1473 style_grid->addWidget (cb_color_mode, 0, 0);
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1474
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1475 QPushButton *pb_reload_default_colors = new QPushButton (settings_reload_colors);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1476 pb_reload_default_colors->setToolTip (settings_reload_colors_tooltip);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1477 style_grid->addWidget (pb_reload_default_colors, 1, 0);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1478
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1479 int column = 1;
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1480 int color_columns = 2;
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1481 int row = 0;
27662
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1482 for (int i = 0; i < ve_colors_count; i++)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1483 {
27890
5ca326b3c0d5 fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27867
diff changeset
1484 description[i] = new QLabel (" "
5ca326b3c0d5 fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27867
diff changeset
1485 + tr (ve_color_names.at (i).toStdString ().data ()));
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1486 description[i]->setAlignment (Qt::AlignRight);
27662
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1487
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1488 QColor setting_color = settings->color_value (ve_colors[i], mode);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1489 color[i] = new color_picker (setting_color);
27662
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1490 color[i]->setObjectName (ve_colors[i].key);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1491 color[i]->setMinimumSize (30, 10);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1492 style_grid->addWidget (description[i], row, 2*column);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1493 style_grid->addWidget (color[i], row, 2*column+1);
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1494 if (++column > color_columns)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1495 {
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1496 style_grid->setColumnStretch (3*column, 10);
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1497 row++;
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1498 column = 1;
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1499 }
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1500 }
23927
e3a36f84d01d provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents: 23810
diff changeset
1501
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1502 // place grid with elements into the tab
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1503 varedit_colors_box->setLayout (style_grid);
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1504
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1505 // update colors depending on second theme selection
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1506 connect (cb_color_mode, SIGNAL (stateChanged (int)),
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1507 this, SLOT (update_varedit_colors (int)));
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1508 connect (pb_reload_default_colors, &QPushButton::clicked,
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1509 [=] () { update_varedit_colors (settings_reload_default_colors_flag); });
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1510 }
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1511
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1512 void settings_dialog::update_varedit_colors (int def)
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1513 {
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1514 QCheckBox *cb_color_mode
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1515 = varedit_colors_box->findChild <QCheckBox *> (ve_color_mode.key);
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1516
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1517 int m = 0;
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1518 if (cb_color_mode && cb_color_mode->isChecked ())
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1519 m = 1;
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1520
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1521 resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1522 gui_settings *settings = rmgr.get_settings ();
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1523
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1524 color_picker *c_picker;
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1525
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1526 for (unsigned int i = 0; i < ve_colors_count; i++)
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1527 {
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1528 c_picker = varedit_colors_box->findChild <color_picker *> (ve_colors[i].key);
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1529 if (c_picker)
29524
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1530 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1531 if (def != settings_reload_default_colors_flag)
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1532 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1533 // Get current value from settings or the default
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1534 c_picker->set_color (settings->color_value (ve_colors[i], m));
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1535 }
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1536 else
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1537 {
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1538 // Get the default value
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1539 c_picker->set_color (settings->get_color_value (ve_colors[i].def, m));
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1540 }
730cac3d6d5a allow reloading default colors and styles in the preferences dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29498
diff changeset
1541 }
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1542 }
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1543 }
18310
03a8428adef7 gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents: 18309
diff changeset
1544
27611
0495b64288f7 use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents: 27583
diff changeset
1545 void settings_dialog::write_varedit_colors (gui_settings *settings)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1546 {
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1547 QCheckBox *cb_color_mode
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1548 = varedit_colors_box->findChild <QCheckBox *> (ve_color_mode.key);
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1549
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1550 int mode = 0;
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1551 if (cb_color_mode && cb_color_mode->isChecked ())
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1552 mode = 1;
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1553
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1554 color_picker *color;
18822
3f6280d0a36b allow export and import of shortcut sets
Torsten <ttl@justmail.de>
parents: 18733
diff changeset
1555
27662
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1556 for (int i = 0; i < ve_colors_count; i++)
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1557 {
27662
3b078b750181 replace preference literals by symbolic constants for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27660
diff changeset
1558 color = varedit_colors_box->findChild <color_picker *> (ve_colors[i].key);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1559 if (color)
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1560 settings->set_color_value (ve_colors[i], color->color (), mode);
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1561 }
18822
3f6280d0a36b allow export and import of shortcut sets
Torsten <ttl@justmail.de>
parents: 18733
diff changeset
1562
29488
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1563 settings->setValue (ve_color_mode.key, mode);
2a251de6c1a5 provide second color mode for variable editor
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29487
diff changeset
1564
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1565 settings->sync ();
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25953
diff changeset
1566 }
20702
b6b16d8c8b57 possibility to set all shortcuts to default values and check overwriting
Torsten <ttl@justmail.de>
parents: 20685
diff changeset
1567 }