]> git.sur5r.net Git - minitube/blobdiff - src/searchparams.h
Imported Upstream version 1.9
[minitube] / src / searchparams.h
index 3717825af68ef4233bd368485c93d74e18819e94..9af3f40e64c18f5571925963acb229d11e1d0cb2 100644 (file)
@@ -1,13 +1,44 @@
 #ifndef SEARCHPARAMS_H
 #define SEARCHPARAMS_H
 
-#include <QObject>
-
-
+#include <QtCore>
 
 class SearchParams : public QObject {
 
+    Q_OBJECT
+    Q_PROPERTY(int sortBy READ sortBy WRITE setSortBy)
+    Q_PROPERTY(int duration READ duration WRITE setDuration)
+    Q_PROPERTY(int quality READ quality WRITE setQuality)
+    Q_PROPERTY(int time READ time WRITE setTime)
+
 public:
+
+    enum SortBy {
+        SortByRelevance = 0,
+        SortByNewest,
+        SortByViewCount,
+        SortByRating
+    };
+
+    enum Duration {
+        DurationAny = 0,
+        DurationShort,
+        DurationMedium,
+        DurationLong
+    };
+
+    enum Quality {
+        QualityAny = 0,
+        QualityHD
+    };
+
+    enum Time {
+        TimeAny = 0,
+        TimeToday,
+        TimeWeek,
+        TimeMonth
+    };
+
     SearchParams();
 
     const QString keywords() const { return m_keywords; }
@@ -22,17 +53,26 @@ public:
     int isTransient() const { return m_transient; }
     void setTransient( int transient ) { m_transient = transient; }
 
-    enum SortBy {
-        SortByRelevance = 1,
-        SortByNewest,
-        SortByViewCount
-    };
+    int duration() const { return m_duration; }
+    void setDuration( int duration ) { m_duration = duration; }
+
+    int quality() const { return m_quality; }
+    void setQuality( int quality ) { m_quality = quality; }
+
+    int time() const { return m_time; }
+    void setTime( int time ) { m_time = time; }
+
+public slots:
+    void setParam(QString name, QVariant value);
 
 private:
     QString m_keywords;
     QString m_author;
-    int m_sortBy;
     bool m_transient;
+    int m_sortBy;
+    int m_duration;
+    int m_quality;
+    int m_time;
 
 };