Mercurial > octave-antonio
changeset 19847:597fc0fd8e54
make size of toolbar icons depending on scaling of display
* files-dock-widget.cc (notice_settings): set icon size to small, normal or
large by using qt pixel metrics
* file-editor.cc notice_settings): set icon size to small, normal or
large by using qt pixel metrics
* main-window.cc (notice_settings): set icon size to small, normal or
large by using qt pixel metrics
* settings-dialog.ui: use radio buttons for small, normal and large icon
size instead of spin box with pixel sizes
* settings-dialog.cc (settings_dialog): initialize the radio buttons depending
on the settings file;
(write_changed_settings): save the icon size depending on radio buttons
author | Torsten <ttl@justmail.de> |
---|---|
date | Tue, 24 Feb 2015 09:35:34 +0100 |
parents | 72fe9df87fe8 |
children | 9b7ca334a104 |
files | libgui/src/files-dock-widget.cc libgui/src/m-editor/file-editor.cc libgui/src/main-window.cc libgui/src/settings-dialog.cc libgui/src/settings-dialog.ui |
diffstat | 5 files changed, 64 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/files-dock-widget.cc Tue Feb 24 07:12:13 2015 +0100 +++ b/libgui/src/files-dock-widget.cc Tue Feb 24 09:35:34 2015 +0100 @@ -774,9 +774,15 @@ { // Qsettings pointer is checked before emitting. - int icon_size = settings->value ("toolbar_icon_size",16).toInt (); - if (icon_size > 16) - icon_size = icon_size - 4; + int icon_size_settings = settings->value ("toolbar_icon_size",0).toInt (); + 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); + _navigation_tool_bar->setIconSize (QSize (icon_size,icon_size)); // file names are always shown, other columns can be hidden by settings
--- a/libgui/src/m-editor/file-editor.cc Tue Feb 24 07:12:13 2015 +0100 +++ b/libgui/src/m-editor/file-editor.cc Tue Feb 24 09:35:34 2015 +0100 @@ -1128,8 +1128,16 @@ void file_editor::notice_settings (const QSettings *settings) { - int icon_size = settings->value ("toolbar_icon_size", 16).toInt (); - _tool_bar->setIconSize (QSize (icon_size, icon_size)); + int icon_size_settings = settings->value ("toolbar_icon_size",0).toInt (); + 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); + + _tool_bar->setIconSize (QSize (icon_size,icon_size)); int tab_width_min = settings->value ("editor/notebook_tab_width_min", 160) .toInt ();
--- a/libgui/src/main-window.cc Tue Feb 24 07:12:13 2015 +0100 +++ b/libgui/src/main-window.cc Tue Feb 24 09:35:34 2015 +0100 @@ -731,7 +731,15 @@ else _release_notes_icon = ":/actions/icons/logo.png"; - int icon_size = settings->value ("toolbar_icon_size",16).toInt (); + int icon_size_settings = settings->value ("toolbar_icon_size",0).toInt (); + 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); + _main_tool_bar->setIconSize (QSize (icon_size,icon_size)); if (settings->value ("show_status_bar",true).toBool ())
--- a/libgui/src/settings-dialog.cc Tue Feb 24 07:12:13 2015 +0100 +++ b/libgui/src/settings-dialog.cc Tue Feb 24 09:35:34 2015 +0100 @@ -85,10 +85,21 @@ else ui->comboBox_language->setCurrentIndex (0); // System is default - ui->toolbar_icon_size->setValue (settings->value ("toolbar_icon_size", - 16).toInt ()); + // icon size + QButtonGroup *icon_size_group = new QButtonGroup (this); + icon_size_group->addButton (ui->icon_size_small); + icon_size_group->addButton (ui->icon_size_normal); + icon_size_group->addButton (ui->icon_size_large); + int icon_size = settings->value ("toolbar_icon_size", 0).toInt (); + ui->icon_size_normal->setChecked (true); // the default + ui->icon_size_small->setChecked (icon_size == -1); + ui->icon_size_large->setChecked (icon_size == 1); // which icon has to be selected + QButtonGroup *icon_group = new QButtonGroup (this); + icon_group->addButton (ui->general_icon_octave); + icon_group->addButton (ui->general_icon_graphic); + icon_group->addButton (ui->general_icon_letter); QString widget_icon_set = settings->value ("DockWidgets/widget_icon_set","NONE").toString (); ui->general_icon_octave-> setChecked (true); // the default (if invalid set) @@ -643,7 +654,12 @@ _widget_title_fg_color_active->color ()); // icon size - settings->setValue ("toolbar_icon_size", ui->toolbar_icon_size->value ()); + int icon_size = 0; + if (ui->icon_size_small->isChecked ()) + icon_size = -1; + else if (ui->icon_size_large->isChecked ()) + icon_size = 1; + settings->setValue ("toolbar_icon_size", icon_size); // promp to exit settings->setValue ("prompt_to_exit", ui->cb_prompt_to_exit->isChecked ());
--- a/libgui/src/settings-dialog.ui Tue Feb 24 07:12:13 2015 +0100 +++ b/libgui/src/settings-dialog.ui Tue Feb 24 09:35:34 2015 +0100 @@ -119,18 +119,26 @@ <item row="2" column="1"> <layout class="QHBoxLayout" name="horizontalLayout_6"> <item> - <widget class="QSpinBox" name="toolbar_icon_size"> - <property name="minimum"> - <number>16</number> + <widget class="QRadioButton" name="icon_size_small"> + <property name="text"> + <string>Small</string> </property> - <property name="maximum"> - <number>32</number> + </widget> + </item> + <item> + <widget class="QRadioButton" name="icon_size_normal"> + <property name="text"> + <string> Normal</string> </property> - <property name="singleStep"> - <number>4</number> + <property name="checked"> + <bool>true</bool> </property> - <property name="value"> - <number>24</number> + </widget> + </item> + <item> + <widget class="QRadioButton" name="icon_size_large"> + <property name="text"> + <string>Large</string> </property> </widget> </item>