aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-06-11 13:03:47 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-06-11 13:03:47 +0000
commit05881204465655b9657891cddb195e37dd5dd020 (patch)
tree1ed20dadbc38f361dda65e2771bddd71a4a599f5 /src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp
parentda088637dea9ba5aed112e88deb933201de8947a (diff)
downloadqmmp-05881204465655b9657891cddb195e37dd5dd020.tar.gz
qmmp-05881204465655b9657891cddb195e37dd5dd020.tar.bz2
qmmp-05881204465655b9657891cddb195e37dd5dd020.zip
enabled command line plugins support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@401 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp')
-rw-r--r--src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp b/src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp
new file mode 100644
index 000000000..93a7dd21d
--- /dev/null
+++ b/src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp
@@ -0,0 +1,60 @@
+#include <QtPlugin>
+#include <QTranslator>
+
+#include "incdecvolumeoption.h"
+
+bool IncDecVolumeCommandLineOption::identify(const QString & str) const
+{
+ if (
+ str == QString("--volume-inc") ||
+ str == QString("--volume-dec")
+ )
+ {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+const QString IncDecVolumeCommandLineOption::helpString() const
+{
+ return QString(
+ "--volume-inc " + tr("Increase volume with step 5")+"\n"
+ "--volume-dec " + tr("Decrease volume with step 5")+"\n"
+ );
+}
+
+
+void IncDecVolumeCommandLineOption::executeCommand(const QString& opt_str, CommandLineManager* clm, Control* ctrl)
+{
+ int volume = qMax(clm->leftVolume(), clm->rightVolume());
+ int balance = 0;
+ int left = clm->leftVolume();
+ int right = clm->rightVolume();
+ if (left || right)
+ balance = (right - left)*100/volume;
+
+ if (opt_str == "--volume-inc")
+ {
+ volume = qMin (100, volume + 5);
+ }
+ else if (opt_str == "--volume-dec")
+ {
+ volume = qMax (0, volume - 5);
+ }
+ ctrl->setVolume(volume-qMax(balance,0)*volume/100,
+ volume+qMin(balance,0)*volume/100);
+}
+
+const QString IncDecVolumeCommandLineOption::name() const
+{
+ return "IncDecVolumeCommandLineOption";
+}
+
+QTranslator *IncDecVolumeCommandLineOption::createTranslator(QObject *parent)
+{
+ Q_UNUSED(parent);
+ return 0;
+}
+
+Q_EXPORT_PLUGIN(IncDecVolumeCommandLineOption)