Mercurial > octave
comparison libgui/src/main-window.h @ 31619:ad014fc78bd6
use individual local gui_settings objects
Previously, we created a single gui_settings object (derived from
QSettings) and accessed it from the resource_manager object. That
design is not necessary and is not the way QSettings was designed to
be used. Instead of managing a single object, we should be using
individual QSettings objects where needed. Each individual QSettings
object manages thread-safe access to a single global collection of
settings. The Qt docs say that operations on QSettings are not thread
safe, but that means that you can't create a QSettings object in one
thread and use it in another without some locking. I'm not sure
whether we were doing that correctly, but with this change it no
longer matters. Each QSettings object does perform locking when
reading or writing the underlying global data.
* resource-manager.h, resource-manager.cc
(resource_manager::m_settings): Delete data member.
(resource_manager::get_settings): Delete.
* annotation-dialog.cc, QTerminal.cc, QTerminal.h, command-widget.cc,
command-widget.h, community-news.cc, dialog.cc,
documentation-bookmarks.cc, documentation-bookmarks.h,
documentation-dock-widget.cc, documentation-dock-widget.h,
documentation.cc, documentation.h, dw-main-window.cc,
dw-main-window.h, external-editor-interface.cc, files-dock-widget.cc,
files-dock-widget.h, find-files-dialog.cc, history-dock-widget.cc,
history-dock-widget.h, file-editor-interface.h, file-editor-tab.cc,
file-editor-tab.h, file-editor.cc, file-editor.h, find-dialog.cc,
octave-qscintilla.cc, main-window.cc, main-window.h, news-reader.cc,
octave-dock-widget.cc, octave-dock-widget.h, qt-interpreter-events.cc,
qt-interpreter-events.h, release-notes.cc, resource-manager.cc,
resource-manager.h, set-path-dialog.cc, settings-dialog.cc,
settings-dialog.h, shortcut-manager.cc, shortcut-manager.h,
terminal-dock-widget.cc, terminal-dock-widget.h, variable-editor.cc,
variable-editor.h, welcome-wizard.cc, workspace-model.cc,
workspace-model.h, workspace-view.cc: Use local gui_settings objects
instead of accessing a pointer to a single gui_settings object owned
by the resource_manager object.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 02 Dec 2022 14:23:53 -0500 |
parents | 0b402f523f09 |
children | ca7d58406f82 |
comparison
equal
deleted
inserted
replaced
31618:cd833a9baaa7 | 31619:ad014fc78bd6 |
---|---|
97 void close_gui_signal (void); | 97 void close_gui_signal (void); |
98 | 98 |
99 void active_dock_changed (octave_dock_widget *, octave_dock_widget *); | 99 void active_dock_changed (octave_dock_widget *, octave_dock_widget *); |
100 void editor_focus_changed (bool); | 100 void editor_focus_changed (bool); |
101 | 101 |
102 void settings_changed (const gui_settings *); | 102 void settings_changed (void); |
103 void init_terminal_size_signal (void); | 103 void init_terminal_size_signal (void); |
104 void init_window_menu (void); | 104 void init_window_menu (void); |
105 void new_file_signal (const QString&); | 105 void new_file_signal (const QString&); |
106 void open_file_signal (const QString&); | 106 void open_file_signal (const QString&); |
107 void open_file_signal (const QString& file, const QString& enc, int line); | 107 void open_file_signal (const QString& file, const QString& enc, int line); |
154 void open_contribute_page (void); | 154 void open_contribute_page (void); |
155 void open_donate_page (void); | 155 void open_donate_page (void); |
156 void process_settings_dialog_request (const QString& desired_tab | 156 void process_settings_dialog_request (const QString& desired_tab |
157 = QString ()); | 157 = QString ()); |
158 void show_about_octave (void); | 158 void show_about_octave (void); |
159 void notice_settings (const gui_settings *settings, | 159 void notice_settings (bool update_by_worker = false); |
160 bool update_by_worker = false); | |
161 QPalette getFusionDarkPalette(); | 160 QPalette getFusionDarkPalette(); |
162 void prepare_to_exit (void); | 161 void prepare_to_exit (void); |
163 void go_to_previous_widget (void); | 162 void go_to_previous_widget (void); |
164 void reset_windows (void); | 163 void reset_windows (void); |
165 void do_reset_windows (bool show = true, bool save = true, | 164 void do_reset_windows (bool show = true, bool save = true, |
197 const QString& file, int line, | 196 const QString& file, int line, |
198 const QString& cond); | 197 const QString& cond); |
199 | 198 |
200 void read_settings (void); | 199 void read_settings (void); |
201 void init_terminal_size (void); | 200 void init_terminal_size (void); |
202 void set_window_layout (gui_settings *settings); | 201 void set_window_layout (void); |
203 void write_settings (void); | 202 void write_settings (void); |
204 | 203 |
205 void copyClipboard (void); | 204 void copyClipboard (void); |
206 void pasteClipboard (void); | 205 void pasteClipboard (void); |
207 void selectAll (void); | 206 void selectAll (void); |