Warning, file /graphics/glaxnimate/src/gui/settings/toolbar_settings.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 #include "toolbar_settings.hpp" 0008 0009 #include <QApplication> 0010 0011 #include "widgets/settings/toolbar_settings_widget.hpp" 0012 0013 #include <QMainWindow> 0014 #include <QToolBar> 0015 0016 using namespace glaxnimate::gui; 0017 0018 Qt::ToolButtonStyle settings::ToolbarSettingsGroup::button_style = Qt::ToolButtonIconOnly; 0019 int settings::ToolbarSettingsGroup::icon_size_extent = 22; 0020 int settings::ToolbarSettingsGroup::tool_icon_size_extent = 32; 0021 0022 QWidget * settings::ToolbarSettingsGroup::make_widget ( QWidget * parent ) 0023 { 0024 return new ToolbarSettingsWidget(parent); 0025 } 0026 0027 void settings::ToolbarSettingsGroup::load(QSettings& settings) 0028 { 0029 icon_size_extent = settings.value("icon_size", icon_size_extent).toInt(); 0030 tool_icon_size_extent = settings.value("tool_icon_size", tool_icon_size_extent).toInt(); 0031 button_style = Qt::ToolButtonStyle(settings.value("button_style", int(button_style)).toInt()); 0032 } 0033 0034 void settings::ToolbarSettingsGroup::save(QSettings& settings) 0035 { 0036 settings.setValue("icon_size", icon_size_extent); 0037 settings.setValue("tool_icon_size", tool_icon_size_extent); 0038 settings.setValue("button_style", int(button_style)); 0039 } 0040 0041 void settings::ToolbarSettingsGroup::apply() 0042 { 0043 for ( QWidget *widget : QApplication::topLevelWidgets() ) 0044 { 0045 if ( auto window = qobject_cast<QMainWindow*>(widget) ) 0046 { 0047 window->setIconSize(icon_size()); 0048 window->setToolButtonStyle(button_style); 0049 if ( auto tb_tools = window->findChild<QToolBar*>("toolbar_tools") ) 0050 { 0051 tb_tools->setIconSize(tool_icon_size()); 0052 } 0053 } 0054 } 0055 }