]> git.sur5r.net Git - minitube/blobdiff - src/searchparams.h
Upload to unstable
[minitube] / src / searchparams.h
index 7f1a44c8bd9243f650b3bc6e169b5aa06ba1cfc3..24e023fa82f79dcdec10fd9655d41cb3d36ac366 100644 (file)
@@ -1,14 +1,45 @@
 #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:
-    SearchParams();
+
+    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(QObject *parent = 0);
 
     const QString keywords() const { return m_keywords; }
     void setKeywords( QString keywords ) { m_keywords = keywords; }
@@ -19,16 +50,34 @@ public:
     int sortBy() const { return m_sortBy; }
     void setSortBy( int sortBy ) { m_sortBy = sortBy; }
 
-    enum SortBy {
-        SortByRelevance = 1,
-        SortByNewest,
-        SortByViewCount
-    };
+    int isTransient() const { return m_transient; }
+    void setTransient( int transient ) { m_transient = transient; }
+
+    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; }
+
+    bool operator==(const SearchParams &other) const {
+        return m_keywords == other.keywords() &&
+                m_author == other.author();
+    }
+
+public slots:
+    void setParam(QString name, QVariant value);
 
 private:
     QString m_keywords;
     QString m_author;
+    bool m_transient;
     int m_sortBy;
+    int m_duration;
+    int m_quality;
+    int m_time;
 
 };