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);