From 1f7c9f4b0f0a3367c8039bc739a4eb2ba6b90bff Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Tue, 15 Mar 2016 09:05:53 +0000 Subject: qsui: added feature to add/remove sliders git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6185 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/qsui/mainwindow.cpp | 15 +++++++++++++ src/plugins/Ui/qsui/toolbareditor.cpp | 41 +++++++++++++++++++++++++---------- src/plugins/Ui/qsui/toolbareditor.h | 6 ++++- 3 files changed, 50 insertions(+), 12 deletions(-) diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp index e458118a3..56e4d76b4 100644 --- a/src/plugins/Ui/qsui/mainwindow.cpp +++ b/src/plugins/Ui/qsui/mainwindow.cpp @@ -763,6 +763,21 @@ void MainWindow::readSettings() names = settings.value("toolbar_actions", names).toStringList(); foreach (QString name, names) { + if(name == "position_slider") + { + m_ui.buttonsToolBar->addWidget(m_slider)->setVisible(true); + continue; + } + if(name == "volume_slider") + { + m_ui.buttonsToolBar->addWidget(m_volumeSlider)->setVisible(true); + continue; + } + if(name == "volume_icon") + { + m_ui.buttonsToolBar->addAction(m_volumeAction); + continue; + } if(name == "separator") { m_ui.buttonsToolBar->addSeparator(); diff --git a/src/plugins/Ui/qsui/toolbareditor.cpp b/src/plugins/Ui/qsui/toolbareditor.cpp index 7abfc6710..abe0fb1bd 100644 --- a/src/plugins/Ui/qsui/toolbareditor.cpp +++ b/src/plugins/Ui/qsui/toolbareditor.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2013 by Ilya Kotov * + * Copyright (C) 2013-2016 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -78,12 +78,13 @@ void ToolBarEditor::populateActionList(bool reset) m_ui->actionsListWidget->addItem(item); } - { - QListWidgetItem *item = new QListWidgetItem(); - item->setText("-- " + tr("Separator") + " --"); - item->setData(Qt::UserRole, "separator"); - m_ui->actionsListWidget->addItem(item); - } + if(!names.contains("position_slider")) + m_ui->actionsListWidget->addItem(createExtraItem(tr("Position Slider"), "position_slider")); + if(!names.contains("volume_slider")) + m_ui->actionsListWidget->addItem(createExtraItem(tr("Volume Slider"), "volume_slider")); + if(!names.contains("volume_icon")) + m_ui->actionsListWidget->addItem(createExtraItem(tr("Volume Icon"), "volume_icon")); + m_ui->actionsListWidget->addItem(createExtraItem("-- " + tr("Separator") + " --", "separator")); foreach (QString name, names) { @@ -96,16 +97,34 @@ void ToolBarEditor::populateActionList(bool reset) item->setData(Qt::UserRole, action->objectName()); m_ui->activeActionsListWidget->addItem(item); } + else if(name == "position_slider") + { + m_ui->activeActionsListWidget->addItem(createExtraItem(tr("Position Slider"), name)); + } + else if(name == "volume_slider") + { + m_ui->activeActionsListWidget->addItem(createExtraItem(tr("Volume Slider"), name)); + } + else if(name == "volume_icon") + { + m_ui->activeActionsListWidget->addItem(createExtraItem(tr("Volume Icon"), name)); + } else if(name == "separator") { - QListWidgetItem *item = new QListWidgetItem(); - item->setText("-- " + tr("Separator") + " --"); - item->setData(Qt::UserRole, "separator"); - m_ui->activeActionsListWidget->addItem(item); + m_ui->activeActionsListWidget->addItem(createExtraItem("-- " + tr("Separator") + " --", name)); } } } +QListWidgetItem *ToolBarEditor::createExtraItem(const QString &name, const QString &shortName, const QIcon &icon) +{ + QListWidgetItem *item = new QListWidgetItem(); + item->setText(name); + item->setData(Qt::UserRole, shortName); + item->setIcon(icon); + return item; +} + void ToolBarEditor::on_addToolButton_clicked() { int row = m_ui->actionsListWidget->currentRow(); diff --git a/src/plugins/Ui/qsui/toolbareditor.h b/src/plugins/Ui/qsui/toolbareditor.h index ba9d34216..65d6a1b76 100644 --- a/src/plugins/Ui/qsui/toolbareditor.h +++ b/src/plugins/Ui/qsui/toolbareditor.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2013 by Ilya Kotov * + * Copyright (C) 2013-2016 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -23,12 +23,15 @@ #include #include +#include #include "actionmanager.h" namespace Ui { class ToolBarEditor; } +class QListWidgetItem; + /** @author Ilya Kotov */ @@ -53,6 +56,7 @@ private slots: private: void populateActionList(bool reset = false); + QListWidgetItem *createExtraItem(const QString &name, const QString &shortName, const QIcon &icon = QIcon()); Ui::ToolBarEditor *m_ui; }; -- cgit v1.2.3-13-gbd6f