Mercurial > octave
changeset 31620:6dfaaf8ecf3b
use gui_settings to store icon fallbacks
* gui-preferences-global.h (global_icon_fallbacks): New gui_pref.
* resource-manager.cc, resource-manager.h
(resource_manager::m_icon_fallbacks): Delete member variable.
(resource_manager::config_icon_theme, resource_manager::icon):
Use gui_settings to store icon fallback themes.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 02 Dec 2022 18:31:30 -0500 |
parents | ad014fc78bd6 |
children | 0645ea65ca6b |
files | libgui/src/gui-preferences-global.h libgui/src/resource-manager.cc libgui/src/resource-manager.h |
diffstat | 3 files changed, 20 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/gui-preferences-global.h Fri Dec 02 14:23:53 2022 -0500 +++ b/libgui/src/gui-preferences-global.h Fri Dec 02 18:31:30 2022 -0500 @@ -118,6 +118,9 @@ }; const gui_pref +global_icon_fallbacks ("icon_fallbacks", QVariant (QStringList ())); + +const gui_pref global_status_bar ("show_status_bar", QVariant (true));
--- a/libgui/src/resource-manager.cc Fri Dec 02 14:23:53 2022 -0500 +++ b/libgui/src/resource-manager.cc Fri Dec 02 18:31:30 2022 -0500 @@ -64,8 +64,7 @@ namespace octave { resource_manager::resource_manager (void) - : m_settings_directory (), m_settings_file (), - m_temporary_files (), m_icon_fallbacks () + : m_settings_directory (), m_settings_file (), m_temporary_files () { // Location, name, and format of settings file determined by // settings in qt_application class construtor. @@ -142,8 +141,6 @@ void resource_manager::config_icon_theme (void) { - m_icon_fallbacks.clear (); - int theme = global_icon_theme_index.def.toInt (); gui_settings settings; @@ -162,22 +159,26 @@ QIcon::setThemeName (global_all_icon_themes.at (theme)); + QStringList icon_fallbacks; + // set the required fallback search paths switch (theme) { case ICON_THEME_SYSTEM: - m_icon_fallbacks << global_icon_paths.at (ICON_THEME_OCTAVE); - m_icon_fallbacks << global_icon_paths.at (ICON_THEME_TANGO); + icon_fallbacks << global_icon_paths.at (ICON_THEME_OCTAVE); + icon_fallbacks << global_icon_paths.at (ICON_THEME_TANGO); break; case ICON_THEME_TANGO: - m_icon_fallbacks << global_icon_paths.at (ICON_THEME_OCTAVE); + icon_fallbacks << global_icon_paths.at (ICON_THEME_OCTAVE); break; case ICON_THEME_OCTAVE: - m_icon_fallbacks << global_icon_paths.at (ICON_THEME_TANGO); + icon_fallbacks << global_icon_paths.at (ICON_THEME_TANGO); break; } - m_icon_fallbacks << global_icon_paths.at (ICON_THEME_CURSORS); + icon_fallbacks << global_icon_paths.at (ICON_THEME_CURSORS); + + settings.setValue (global_icon_fallbacks.key, icon_fallbacks); } QString resource_manager::get_settings_directory (void) @@ -578,9 +579,14 @@ else if ((! icon_alt_name.isEmpty ()) && QIcon::hasThemeIcon (icon_alt_name)) return QIcon (QIcon::fromTheme (icon_alt_name)); - for (int i = 0; i < m_icon_fallbacks.length (); i++ ) + gui_settings settings; + + QStringList icon_fallbacks + = settings.value (global_icon_fallbacks.key).toStringList (); + + for (int i = 0; i < icon_fallbacks.length (); i++ ) { - QString icon_file (m_icon_fallbacks.at (i) + icon_name + ".png"); + QString icon_file (icon_fallbacks.at (i) + icon_name + ".png"); if (QFile (icon_file).exists ()) return QIcon (icon_file); }