diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-07-16 20:45:58 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-07-16 20:45:58 +0000 |
| commit | 6ab39cf9ef8c41efa9e563a95f29bbc2386a0c0a (patch) | |
| tree | 6f2ab7a160d9385cb20321298648a24eec668196 /src/plugins | |
| parent | a494118d3ece22bf5f9edcafb69500ad442a4add (diff) | |
| download | qmmp-6ab39cf9ef8c41efa9e563a95f29bbc2386a0c0a.tar.gz qmmp-6ab39cf9ef8c41efa9e563a95f29bbc2386a0c0a.tar.bz2 qmmp-6ab39cf9ef8c41efa9e563a95f29bbc2386a0c0a.zip | |
qsui: added feature to change toolbar icon size
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7310 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins')
| -rw-r--r-- | src/plugins/Ui/qsui/actionmanager.cpp | 10 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/actionmanager.h | 3 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/forms/qsuisettings.ui | 43 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuisettings.cpp | 38 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuisettings.h | 1 |
5 files changed, 83 insertions, 12 deletions
diff --git a/src/plugins/Ui/qsui/actionmanager.cpp b/src/plugins/Ui/qsui/actionmanager.cpp index 36f450154..fd095ed5f 100644 --- a/src/plugins/Ui/qsui/actionmanager.cpp +++ b/src/plugins/Ui/qsui/actionmanager.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2016 by Ilya Kotov * + * Copyright (C) 2010-2017 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -23,6 +23,7 @@ #include <QIcon> #include <QFile> #include <QApplication> +#include <QStyle> #include <QWidgetAction> #include <qmmp/qmmp.h> #include "actionmanager.h" @@ -237,7 +238,7 @@ QToolBar *ActionManager::createToolBar(ActionManager::ToolBarInfo info, QWidget QToolBar *toolBar = new QToolBar(info.title, parent); updateToolBar(toolBar, info); toolBar->setProperty("uid", info.uid); - toolBar->setIconSize(QSize(16,16)); + toolBar->setIconSize(info.iconSize); toolBar->setObjectName("Toolbar" + info.uid); return toolBar; } @@ -245,6 +246,7 @@ QToolBar *ActionManager::createToolBar(ActionManager::ToolBarInfo info, QWidget void ActionManager::updateToolBar(QToolBar *toolBar, ActionManager::ToolBarInfo info) { toolBar->clear(); + toolBar->setIconSize(info.iconSize); foreach (QString name, info.actionNames) { if(name == "separator") @@ -284,6 +286,9 @@ QList<ActionManager::ToolBarInfo> ActionManager::readToolBarSettings() const { QList<ToolBarInfo> list; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + int iconSize = settings.value("Simple/toolbar_icon_size", -1).toInt(); + if(iconSize <= 0) + iconSize = qApp->style()->pixelMetric(QStyle::PM_ToolBarIconSize); int size = settings.beginReadArray("SimpleUiToolbars"); for(int i = 0; i < size; ++i) { @@ -292,6 +297,7 @@ QList<ActionManager::ToolBarInfo> ActionManager::readToolBarSettings() const info.title = settings.value("title").toString(); info.actionNames = settings.value("actions").toStringList(); info.uid = settings.value("uid").toString(); + info.iconSize = QSize(iconSize, iconSize); list.append(info); } settings.endArray(); diff --git a/src/plugins/Ui/qsui/actionmanager.h b/src/plugins/Ui/qsui/actionmanager.h index b14de3470..e68c525e8 100644 --- a/src/plugins/Ui/qsui/actionmanager.h +++ b/src/plugins/Ui/qsui/actionmanager.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2016 by Ilya Kotov * + * Copyright (C) 2010-2017 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -117,6 +117,7 @@ public: QString title; QString uid; QStringList actionNames; + QSize iconSize; }; QAction *action(int type); diff --git a/src/plugins/Ui/qsui/forms/qsuisettings.ui b/src/plugins/Ui/qsui/forms/qsuisettings.ui index d24255bcd..17f5ad10b 100644 --- a/src/plugins/Ui/qsui/forms/qsuisettings.ui +++ b/src/plugins/Ui/qsui/forms/qsuisettings.ui @@ -942,6 +942,49 @@ </widget> </item> <item> + <widget class="QGroupBox" name="groupBox_7"> + <property name="title"> + <string>Toolbars</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_5"> + <item> + <layout class="QFormLayout" name="formLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_18"> + <property name="text"> + <string>Icon size:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QComboBox" name="toolBarIconSizeComboBox"/> + </item> + </layout> + </item> + <item> + <spacer name="horizontalSpacer_8"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>125</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="customizeToolBarButton"> + <property name="text"> + <string>Customize...</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> <spacer name="verticalSpacer_2"> <property name="orientation"> <enum>Qt::Vertical</enum> diff --git a/src/plugins/Ui/qsui/qsuisettings.cpp b/src/plugins/Ui/qsui/qsuisettings.cpp index dc175e914..4f32123bf 100644 --- a/src/plugins/Ui/qsui/qsuisettings.cpp +++ b/src/plugins/Ui/qsui/qsuisettings.cpp @@ -29,6 +29,7 @@ #include "shortcutitem.h" #include "shortcutdialog.h" #include "popupsettings.h" +#include "toolbareditor.h" #include "qsuisettings.h" QSUISettings::QSUISettings(QWidget *parent) : QWidget(parent) @@ -36,6 +37,14 @@ QSUISettings::QSUISettings(QWidget *parent) : QWidget(parent) m_ui.setupUi(this); //setup icons m_ui.popupTemplateButton->setIcon(QIcon::fromTheme("configure")); + m_ui.customizeToolBarButton->setIcon(QIcon::fromTheme("configure")); + //icon sizes + m_ui.toolBarIconSizeComboBox->addItem(tr("Default"), -1); + m_ui.toolBarIconSizeComboBox->addItem(tr("16x16"), 16); + m_ui.toolBarIconSizeComboBox->addItem(tr("22x22"), 22); + m_ui.toolBarIconSizeComboBox->addItem(tr("32x32"), 32); + m_ui.toolBarIconSizeComboBox->addItem(tr("48x48"), 48); + m_ui.toolBarIconSizeComboBox->addItem(tr("64x64"), 64); //load settings readSettings(); loadFonts(); @@ -127,6 +136,21 @@ void QSUISettings::on_popupTemplateButton_clicked() p->deleteLater(); } +void QSUISettings::on_customizeToolBarButton_clicked() +{ + ToolBarEditor editor(this); + editor.exec(); +} + +void QSUISettings::on_resetFontsButton_clicked() +{ + QSettings settings (Qmmp::configFile(), QSettings::IniFormat); + settings.remove("Simple/pl_font"); + settings.remove("Simple/pl_tabs_font"); + settings.remove("Simple/pl_header_font"); + loadFonts(); +} + void QSUISettings::readSettings() { QSettings settings (Qmmp::configFile(), QSettings::IniFormat); @@ -170,6 +194,9 @@ void QSUISettings::readSettings() m_ui.plTextHlCurrentColor->setColor(settings.value("pl_hl_text_color", highlighted).toString()); m_ui.plGrBgColor->setColor(settings.value("pl_group_bg", group_bg).toString()); m_ui.plGrTextColor->setColor(settings.value("pl_group_text", group_text).toString()); + //toolbar + int index = m_ui.toolBarIconSizeComboBox->findData(settings.value("toolbar_icon_size", -1).toInt()); + m_ui.toolBarIconSizeComboBox->setCurrentIndex(index > 0 ? index : 0); settings.endGroup(); } @@ -207,18 +234,11 @@ void QSUISettings::writeSettings() settings.setValue("pl_tabs_font", m_ui.tabsFontLabel->font().toString()); settings.setValue("pl_header_font", m_ui.columnFontLabel->font().toString()); settings.setValue("use_system_fonts", m_ui.systemFontsCheckBox->isChecked()); + int index = m_ui.toolBarIconSizeComboBox->currentIndex(); + settings.setValue("toolbar_icon_size", m_ui.toolBarIconSizeComboBox->itemData(index)); settings.endGroup(); } -void QSUISettings::on_resetFontsButton_clicked() -{ - QSettings settings (Qmmp::configFile(), QSettings::IniFormat); - settings.remove("Simple/pl_font"); - settings.remove("Simple/pl_tabs_font"); - settings.remove("Simple/pl_header_font"); - loadFonts(); -} - void QSUISettings::addWindowTitleString(const QString &str) { if (m_ui.windowTitleLineEdit->cursorPosition () < 1) diff --git a/src/plugins/Ui/qsui/qsuisettings.h b/src/plugins/Ui/qsui/qsuisettings.h index ea052aab1..e94a72de5 100644 --- a/src/plugins/Ui/qsui/qsuisettings.h +++ b/src/plugins/Ui/qsui/qsuisettings.h @@ -42,6 +42,7 @@ private slots: void on_columnFontButton_clicked(); void on_tabsFontButton_clicked(); void on_popupTemplateButton_clicked(); + void on_customizeToolBarButton_clicked(); void on_resetFontsButton_clicked(); void addWindowTitleString(const QString &str); |
