]> git.sur5r.net Git - minitube/blobdiff - src/ytuser.cpp
Imported Upstream version 2.3.1
[minitube] / src / ytuser.cpp
index 9dc633adcb8bac2531a17f6e2a4c257acf6298ba..f51bd18350e0b3f23c188e42ead4df4ddc28220c 100644 (file)
@@ -83,7 +83,16 @@ void YTUser::maybeLoadfromAPI() {
     loading = true;
 
     QUrl url("http://gdata.youtube.com/feeds/api/users/" + userId);
-    url.addQueryItem("v", "2");
+#if QT_VERSION >= 0x050000
+    {
+        QUrl &u = url;
+        QUrlQuery url;
+#endif
+        url.addQueryItem("v", "2");
+#if QT_VERSION >= 0x050000
+        u.setQuery(url);
+    }
+#endif
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(parseResponse(QByteArray)));
     connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
@@ -122,7 +131,7 @@ void YTUser::loadThumbnail() {
     if (thumbnailUrl.isEmpty()) return;
     loadingThumbnail = true;
 
-#ifdef Q_WS_WIN
+#ifdef Q_OS_WIN
     thumbnailUrl.replace(QLatin1String("https://"), QLatin1String("http://"));
 #endif
 
@@ -133,8 +142,13 @@ void YTUser::loadThumbnail() {
 }
 
 const QString & YTUser::getThumbnailDir() {
-    static const QString thumbDir = QDesktopServices::storageLocation(
-                QDesktopServices::DataLocation) + "/channels/";
+    static const QString thumbDir =
+        #if QT_VERSION >= 0x050000
+            QStandardPaths::writableLocation(QStandardPaths::DataLocation)
+        #else
+            QDesktopServices::storageLocation(QDesktopServices::DataLocation)
+        #endif
+            + "/channels/";
     return thumbDir;
 }
 
@@ -142,6 +156,10 @@ QString YTUser::getThumbnailLocation() {
     return getThumbnailDir() + userId;
 }
 
+void YTUser::unsubscribe() {
+    YTUser::unsubscribe(userId);
+}
+
 void YTUser::storeThumbnail(QByteArray bytes) {
     thumbnail.loadFromData(bytes);
     static const int maxWidth = 88;
@@ -265,6 +283,7 @@ void YTUser::updateWatched() {
     uint now = QDateTime::currentDateTime().toTime_t();
     watched = now;
     notifyCount = 0;
+    emit notifyCountChanged();
 
     QSqlDatabase db = Database::instance().getConnection();
     QSqlQuery query(db);
@@ -276,6 +295,8 @@ void YTUser::updateWatched() {
 }
 
 void YTUser::storeNotifyCount(int count) {
+    if (notifyCount != count)
+        emit notifyCountChanged();
     notifyCount = count;
 
     QSqlDatabase db = Database::instance().getConnection();