# HG changeset patch # User Torsten # Date 1541938957 -3600 # Node ID ecd86b8b8979462f3bc779364a1c6f7c6afd0a99 # Parent afc3d1da58e533989abdb6f350ecd4c2da7f515a use constants for icon size preferences instead of hard coded numbers * gui-preferences.h: define constants for icons size preferences key and default value as well as array with possible icon sizes * documentation.cc (notice_settings): use constants for preferences key and default value, get index for array with possible sizes from preferences value and set icons size accordingly * files-dock-widget.cc (notice_settings): dito * file-editor.cc (notice_settings): dito * main-window.cc (notice_settings): dito * variable-editor.cc (notice_settings): dito diff -r afc3d1da58e5 -r ecd86b8b8979 libgui/src/documentation.cc --- a/libgui/src/documentation.cc Sat Nov 10 22:00:38 2018 -0800 +++ b/libgui/src/documentation.cc Sun Nov 11 13:22:37 2018 +0100 @@ -49,6 +49,7 @@ #include "documentation.h" #include "resource-manager.h" #include "shortcut-manager.h" +#include "gui-preferences.h" namespace octave { @@ -422,18 +423,12 @@ void documentation::notice_settings (const QSettings *settings) { // Icon size in the toolbar. - - int icon_size_settings = settings->value ("toolbar_icon_size", 0).toInt (); - QStyle *st = style (); - int icon_size = st->pixelMetric (QStyle::PM_ToolBarIconSize); + int size_idx = settings->value (global_icon_size.key, + global_icon_size.def).toInt (); + size_idx = (size_idx > 0) - (size_idx < 0) + 1; // Make valid index from 0 to 2 - // FIXME: Magic numbers. Use enum? - - if (icon_size_settings == 1) - icon_size = st->pixelMetric (QStyle::PM_LargeIconSize); - else if (icon_size_settings == -1) - icon_size = st->pixelMetric (QStyle::PM_SmallIconSize); - + QStyle *st = style (); + int icon_size = st->pixelMetric (global_icon_sizes[size_idx]); m_tool_bar->setIconSize (QSize (icon_size, icon_size)); // Shortcuts diff -r afc3d1da58e5 -r ecd86b8b8979 libgui/src/files-dock-widget.cc --- a/libgui/src/files-dock-widget.cc Sat Nov 10 22:00:38 2018 -0800 +++ b/libgui/src/files-dock-widget.cc Sun Nov 11 13:22:37 2018 +0100 @@ -800,15 +800,12 @@ { // Qsettings pointer is checked before emitting. - int icon_size_settings = settings->value ("toolbar_icon_size",0).toInt (); - QStyle *st = style (); - int icon_size = st->pixelMetric (QStyle::PM_ToolBarIconSize); + int size_idx = settings->value (global_icon_size.key, + global_icon_size.def).toInt (); + size_idx = (size_idx > 0) - (size_idx < 0) + 1; // Make valid index from 0 to 2 - if (icon_size_settings == 1) - icon_size = st->pixelMetric (QStyle::PM_LargeIconSize); - else if (icon_size_settings == -1) - icon_size = st->pixelMetric (QStyle::PM_SmallIconSize); - + QStyle *st = style (); + int icon_size = st->pixelMetric (global_icon_sizes[size_idx]); m_navigation_tool_bar->setIconSize (QSize (icon_size,icon_size)); // filenames are always shown, other columns can be hidden by settings diff -r afc3d1da58e5 -r ecd86b8b8979 libgui/src/gui-preferences.h --- a/libgui/src/gui-preferences.h Sat Nov 10 22:00:38 2018 -0800 +++ b/libgui/src/gui-preferences.h Sun Nov 11 13:22:37 2018 +0100 @@ -29,6 +29,7 @@ #include #include +#include // Structure for the definition of pairs: key and default value @@ -52,6 +53,16 @@ #endif const gui_pref global_mono_font ("monospace_font", global_font_family); +// Icon size (in preferences: values -1, 0, 1) +const QStyle::PixelMetric global_icon_sizes[3] = +{ + QStyle::PM_SmallIconSize, + QStyle::PM_LargeIconSize, + QStyle::PM_ToolBarIconSize +}; + +const gui_pref global_icon_size ("toolbar_icon_size", QVariant (0)); + // Console preferences diff -r afc3d1da58e5 -r ecd86b8b8979 libgui/src/m-editor/file-editor.cc --- a/libgui/src/m-editor/file-editor.cc Sat Nov 10 22:00:38 2018 -0800 +++ b/libgui/src/m-editor/file-editor.cc Sun Nov 11 13:22:37 2018 +0100 @@ -1060,16 +1060,13 @@ void file_editor::notice_settings (const QSettings *settings) { - int icon_size_settings = settings->value ("toolbar_icon_size",0).toInt (); + int size_idx = settings->value (global_icon_size.key, + global_icon_size.def).toInt (); + size_idx = (size_idx > 0) - (size_idx < 0) + 1; // Make valid index from 0 to 2 + QStyle *st = style (); - int icon_size = st->pixelMetric (QStyle::PM_ToolBarIconSize); - - if (icon_size_settings == 1) - icon_size = st->pixelMetric (QStyle::PM_LargeIconSize); - else if (icon_size_settings == -1) - icon_size = st->pixelMetric (QStyle::PM_SmallIconSize); - - m_tool_bar->setIconSize (QSize (icon_size,icon_size)); + int icon_size = st->pixelMetric (global_icon_sizes[size_idx]); + m_tool_bar->setIconSize (QSize (icon_size, icon_size)); int tab_width_min = settings->value ("editor/notebook_tab_width_min", 160) .toInt (); diff -r afc3d1da58e5 -r ecd86b8b8979 libgui/src/main-window.cc --- a/libgui/src/main-window.cc Sat Nov 10 22:00:38 2018 -0800 +++ b/libgui/src/main-window.cc Sun Nov 11 13:22:37 2018 +0100 @@ -763,15 +763,12 @@ else m_release_notes_icon = ":/actions/icons/logo.png"; - int icon_size_settings = settings->value ("toolbar_icon_size",0).toInt (); + int size_idx = settings->value (global_icon_size.key, + global_icon_size.def).toInt (); + size_idx = (size_idx > 0) - (size_idx < 0) + 1; // Make valid index from 0 to 2 + QStyle *st = style (); - int icon_size = st->pixelMetric (QStyle::PM_ToolBarIconSize); - - if (icon_size_settings == 1) - icon_size = st->pixelMetric (QStyle::PM_LargeIconSize); - else if (icon_size_settings == -1) - icon_size = st->pixelMetric (QStyle::PM_SmallIconSize); - + int icon_size = st->pixelMetric (global_icon_sizes[size_idx]); m_main_tool_bar->setIconSize (QSize (icon_size,icon_size)); if (settings->value ("show_status_bar",true).toBool ()) diff -r afc3d1da58e5 -r ecd86b8b8979 libgui/src/variable-editor.cc --- a/libgui/src/variable-editor.cc Sat Nov 10 22:00:38 2018 -0800 +++ b/libgui/src/variable-editor.cc Sun Nov 11 13:22:37 2018 +0100 @@ -1403,17 +1403,12 @@ // Icon size in the toolbar. - int icon_size_settings = settings->value ("toolbar_icon_size", 0).toInt (); - QStyle *st = style (); - int icon_size = st->pixelMetric (QStyle::PM_ToolBarIconSize); - - // FIXME: Magic numbers. Use enum? + int size_idx = settings->value (global_icon_size.key, + global_icon_size.def).toInt (); + size_idx = (size_idx > 0) - (size_idx < 0) + 1; // Make valid index from 0 to 2 - if (icon_size_settings == 1) - icon_size = st->pixelMetric (QStyle::PM_LargeIconSize); - else if (icon_size_settings == -1) - icon_size = st->pixelMetric (QStyle::PM_SmallIconSize); - + QStyle *st = style (); + int icon_size = st->pixelMetric (global_icon_sizes[size_idx]); m_tool_bar->setIconSize (QSize (icon_size, icon_size)); }