summaryrefslogtreecommitdiffstats
path: root/juk/categoryreaderinterface.cpp
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commite2de64d6f1beb9e492daf5b886e19933c1fa41dd (patch)
tree9047cf9e6b5c43878d5bf82660adae77ceee097a /juk/categoryreaderinterface.cpp
downloadtdemultimedia-e2de64d6f1beb9e492daf5b886e19933c1fa41dd.tar.gz
tdemultimedia-e2de64d6f1beb9e492daf5b886e19933c1fa41dd.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdemultimedia@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'juk/categoryreaderinterface.cpp')
-rw-r--r--juk/categoryreaderinterface.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/juk/categoryreaderinterface.cpp b/juk/categoryreaderinterface.cpp
new file mode 100644
index 00000000..f9f73103
--- /dev/null
+++ b/juk/categoryreaderinterface.cpp
@@ -0,0 +1,67 @@
+/***************************************************************************
+ begin : Sun Oct 31 2004
+ copyright : (C) 2004 by Michael Pyne
+ email : michael.pyne@kdemail.net
+***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include <qstring.h>
+
+#include "filerenameroptions.h"
+#include "categoryreaderinterface.h"
+
+QString CategoryReaderInterface::value(const CategoryID &category) const
+{
+ QString value = categoryValue(category.category).stripWhiteSpace();
+
+ if(category.category == Track)
+ value = fixupTrack(value, category.categoryNumber).stripWhiteSpace();
+
+ if(value.isEmpty() && emptyAction(category) == TagRenamerOptions::UseReplacementValue)
+ value = emptyText(category);
+
+ return prefix(category) + value + suffix(category);
+}
+
+bool CategoryReaderInterface::isRequired(const CategoryID &category) const
+{
+ return emptyAction(category) != TagRenamerOptions::IgnoreEmptyTag;
+}
+
+bool CategoryReaderInterface::isEmpty(TagType category) const
+{
+ return categoryValue(category).isEmpty();
+}
+
+QString CategoryReaderInterface::fixupTrack(const QString &track, unsigned categoryNum) const
+{
+ QString str(track);
+ CategoryID trackId(Track, categoryNum);
+
+ if(track == "0") {
+ if(emptyAction(trackId) == TagRenamerOptions::UseReplacementValue)
+ str = emptyText(trackId);
+ else
+ return QString::null;
+ }
+
+ unsigned minimumWidth = trackWidth(categoryNum);
+
+ if(str.length() < minimumWidth) {
+ QString prefix;
+ prefix.fill('0', minimumWidth - str.length());
+ return prefix + str;
+ }
+
+ return str;
+}
+
+// vim: set et sw=4 ts=4: