[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdepim/kresources/blog
From:       Mike Arthur <mike () mikearthur ! co ! uk>
Date:       2007-08-01 3:24:44
Message-ID: 1185938684.045728.19084.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 694909 by mikearthur:

Add support for other APIs.


 M  +29 -3     resourceblog.cpp  


--- trunk/KDE/kdepim/kresources/blog/resourceblog.cpp #694908:694909
@@ -32,7 +32,9 @@
 #include <libkdepim/progressmanager.h>
 
 #include <kblog/blogposting.h>
-#include <kblog/metaweblog.h>
+#include <kblog/movabletype.h>
+#include <kblog/livejournal.h>
+#include <kblog/gdata.h>
 
 #include "resourceblog.h"
 
@@ -138,7 +140,13 @@
 void ResourceBlog::setAPI( const QString &API )
 {
   kDebug( 5800 ) << "ResourceBlog::setAPI(): " << API;
-  if ( API == "MetaWeblog" ) {
+  if ( API == "Google Blogger Data" ) {
+    mAPI = new KBlog::GData( mUrl, this );
+  } else if ( API == "LiveJournal" ) {
+    mAPI = new KBlog::LiveJournal( mUrl, this );
+  } else if ( API == "Movable Type" ) {
+    mAPI = new KBlog::MovableType( mUrl, this );
+  } else if ( API == "MetaWeblog" ) {
     mAPI = new KBlog::MetaWeblog( mUrl, this );
   } else if ( API == "Blogger 1.0" ) {
     mAPI = new KBlog::Blogger1( mUrl, this );
@@ -153,7 +161,16 @@
 QString ResourceBlog::API() const
 {
   if ( mAPI ) {
-    if ( qobject_cast<KBlog::MetaWeblog*>( mAPI ) ) {
+    if ( qobject_cast<KBlog::GData*>( mAPI ) ) {
+      return "Google Blogger Data";
+    }
+    else if ( qobject_cast<KBlog::LiveJournal*>( mAPI ) ) {
+      return "LiveJournal";
+    }
+    else if ( qobject_cast<KBlog::MovableType*>( mAPI ) ) {
+      return "Movable Type";
+    }
+    else if ( qobject_cast<KBlog::MetaWeblog*>( mAPI ) ) {
       return "MetaWeblog";
     }
     else if ( qobject_cast<KBlog::Blogger1*>( mAPI ) ) {
@@ -366,6 +383,7 @@
 }
 
 bool ResourceBlog::fetchBlogs() {
+  // Only children of Blogger 1.0 and Google Blogger Data support listBlogs()
   KBlog::Blogger1* blogger = qobject_cast<KBlog::Blogger1*>( mAPI );
   if ( blogger ) {
     connect ( blogger, SIGNAL( listedBlogs( const QMap<QString,QString> & ) ),
@@ -374,6 +392,14 @@
     blogger->listBlogs();
     return true;
   }
+  KBlog::GData* gdata = qobject_cast<KBlog::GData*>( mAPI );
+  if ( gdata ) {
+    connect ( gdata, SIGNAL( listedBlogs( const QMap<QString,QString> & ) ),
+              this, SLOT( slotBlogInfoRetrieved(
+                          const QMap<QString,QString> & ) ) );
+    gdata->listBlogs();
+    return true;
+  }
   kError( 5800 ) << "ResourceBlog::fetchBlogs(): "
       << "API does not support multiple blogs.";
   return false;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic