• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

blogilo

  • sources
  • kde-4.12
  • kdepim
  • blogilo
  • src
bilboblog.cpp
Go to the documentation of this file.
1 /*
2  This file is part of Blogilo, A KDE Blogging Client
3 
4  Copyright (C) 2008-2010 Mehrdad Momeny <mehrdad.momeny@gmail.com>
5  Copyright (C) 2008-2010 Golnaz Nilieh <g382nilieh@gmail.com>
6 
7  This program is free software; you can redistribute it and/or
8  modify it under the terms of the GNU General Public License as
9  published by the Free Software Foundation; either version 2 of
10  the License or (at your option) version 3 or any later version
11  accepted by the membership of KDE e.V. (or its successor approved
12  by the membership of KDE e.V.), which shall act as a proxy
13  defined in Section 14 of version 3 of the license.
14 
15 
16  This program is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  GNU General Public License for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with this program; if not, see http://www.gnu.org/licenses/
23 */
24 
25 #include "bilboblog.h"
26 #include <kblog/wordpressbuggy.h>
27 #include <kblog/gdata.h>
28 #include <KDebug>
29 
30 #include <QApplication>
31 
32 
33 class BilboBlog::Private
34 {
35 public:
36  Private()
37  : kblog(0)
38  {}
39  KUrl mUrl;
40  QString mBlogUrl;
41  QString mBlogid;
42  QString mUsername;
43  QString mPassword;
44  QString mTitle;
45  QString mStylePath;
46  ApiType mApi;
47  int mId;//id in DB
48  Qt::LayoutDirection mDir;
49  QString mLocalDirectory;
50  bool mError;
51  QHash<QString, bool> mSupportedFeatures;
52  KBlog::Blog *kblog;
53 };
54 
55 BilboBlog::BilboBlog( QObject *parent )
56  : QObject( parent ), d(new Private)
57 {
58  d->mError = false;
59  setApi(BLOGGER1_API);
60 }
61 
62 BilboBlog::BilboBlog( const BilboBlog &blog)
63  : QObject( qApp ), d(new Private)
64 {
65  d->mUrl = blog.url();
66  d->mBlogUrl = blog.blogUrl();
67  d->mBlogid = blog.blogid();
68  d->mUsername = blog.username();
69  d->mPassword = blog.password();
70  d->mTitle = blog.title();
71  setApi( blog.api() );
72  d->mId = blog.id();
73  d->mDir = blog.direction();
74  d->mLocalDirectory = blog.localDirectory();
75  d->mError = blog.isError();
76 }
77 
78 BilboBlog::~BilboBlog()
79 {
80  delete d;
81 }
82 
83 KBlog::Blog* BilboBlog::blogBackend()
84 {
85  if(!d->kblog){
86  switch ( api() ) {
87  case BilboBlog::BLOGGER1_API:
88  d->kblog = new KBlog::Blogger1( url(), this );
89  break;
90  case BilboBlog::GDATA_API:
91  d->kblog = new KBlog::GData( url(), this );
92  break;
93  case BilboBlog::METAWEBLOG_API:
94  d->kblog = new KBlog::MetaWeblog( url(), this );
95  break;
96  case BilboBlog::MOVABLETYPE_API:
97  d->kblog = new KBlog::MovableType( url(), this );
98  break;
99  case BilboBlog::WORDPRESSBUGGY_API:
100  d->kblog = new KBlog::WordpressBuggy( url(), this );
101  break;
102  }
103  d->kblog->setUserAgent( QLatin1String(APPNAME), QLatin1String(VERSION) );
104  d->kblog->setUsername( username() );
105  d->kblog->setPassword( password() );
106  d->kblog->setBlogId( blogid() );
107  }
108  return d->kblog;
109 }
110 
111 bool BilboBlog::isError() const
112 {
113  return d->mError;
114 }
115 
116 void BilboBlog::setError(bool isError)
117 {
118  d->mError = isError;
119 }
120 
121 KUrl BilboBlog::url() const
122 {
123  return d->mUrl;
124 }
125 
126 void BilboBlog::setUrl( const KUrl &url )
127 {
128  d->mUrl = url;
129 }
130 
131 QString BilboBlog::blogid() const
132 {
133  return d->mBlogid;
134 }
135 
136 void BilboBlog::setBlogId( const QString &url )
137 {
138  d->mBlogid = url;
139 }
140 
141 QString BilboBlog::username() const
142 {
143  return d->mUsername;
144 }
145 
146 void BilboBlog::setUsername( const QString &username )
147 {
148  d->mUsername = username;
149 }
150 
151 QString BilboBlog::password() const
152 {
153  return d->mPassword;
154 }
155 
156 void BilboBlog::setPassword( const QString &password )
157 {
158  d->mPassword = password;
159 }
160 
161 QString BilboBlog::title() const
162 {
163  return d->mTitle;
164 }
165 
166 void BilboBlog::setTitle( const QString &title )
167 {
168  d->mTitle = title;
169 }
170 
171 BilboBlog::ApiType BilboBlog::api() const
172 {
173  return d->mApi;
174 }
175 
176 void BilboBlog::setApi( const ApiType api )
177 {
178  d->mApi = api;
179  switch(api) {
180  case BLOGGER1_API:
181  d->mSupportedFeatures[QLatin1String("uploadMedia")] = false;
182  d->mSupportedFeatures[QLatin1String("category")] = false;
183  d->mSupportedFeatures[QLatin1String("tag")] = false;
184  break;
185  case METAWEBLOG_API:
186  d->mSupportedFeatures[QLatin1String("uploadMedia")] = true;
187  d->mSupportedFeatures[QLatin1String("category")] = true;
188  d->mSupportedFeatures[QLatin1String("tag")] = false;
189  break;
190  case MOVABLETYPE_API:
191  d->mSupportedFeatures[QLatin1String("uploadMedia")] = true;
192  d->mSupportedFeatures[QLatin1String("category")] = true;
193  d->mSupportedFeatures[QLatin1String("tag")] = true;
194  break;
195  case WORDPRESSBUGGY_API:
196  d->mSupportedFeatures[QLatin1String("uploadMedia")] = true;
197  d->mSupportedFeatures[QLatin1String("category")] = true;
198  d->mSupportedFeatures[QLatin1String("tag")] = true;
199  break;
200  case GDATA_API:
201  d->mSupportedFeatures[QLatin1String("uploadMedia")] = false;
202  d->mSupportedFeatures[QLatin1String("category")] = false;
203  d->mSupportedFeatures[QLatin1String("tag")] = true;
204  break;
205  default:
206  d->mSupportedFeatures[QLatin1String("uploadMedia")] = false;
207  d->mSupportedFeatures[QLatin1String("category")] = false;
208  d->mSupportedFeatures[QLatin1String("tag")] = false;
209  break;
210  }
211 }
212 
213 int BilboBlog::id() const
214 {
215  return d->mId;
216 }
217 
218 void BilboBlog::setId( const int id )
219 {
220  d->mId = id;
221 }
222 
223 Qt::LayoutDirection BilboBlog::direction() const
224 {
225  return d->mDir;
226 }
227 
228 void BilboBlog::setDirection( const Qt::LayoutDirection dir )
229 {
230  d->mDir = dir;
231 }
232 
233 QString BilboBlog::localDirectory() const
234 {
235  return d->mLocalDirectory;
236 }
237 
238 void BilboBlog::setLocalDirectory( const QString &directory )
239 {
240  d->mLocalDirectory = directory;
241 }
242 
243 QString BilboBlog::blogUrl() const
244 {
245  if(d->mBlogUrl.isEmpty())
246  return d->mUrl.prettyUrl();
247  else
248  return d->mBlogUrl;
249 }
250 
251 void BilboBlog::setBlogUrl(const QString &blogUrl)
252 {
253  d->mBlogUrl = blogUrl;
254 }
255 
256 bool BilboBlog::supportUploadMedia() const
257 {
258  return d->mSupportedFeatures[QLatin1String("uploadMedia")];
259 }
260 
261 bool BilboBlog::supportCategory() const
262 {
263  return d->mSupportedFeatures[QLatin1String("category")];
264 }
265 
266 bool BilboBlog::supportTag() const
267 {
268  return d->mSupportedFeatures[QLatin1String("tag")];
269 }
270 
271 #include "bilboblog.moc"
BilboBlog::blogBackend
KBlog::Blog * blogBackend()
Definition: bilboblog.cpp:83
APPNAME
static const char APPNAME[]
Definition: constants.h:37
BilboBlog::setApi
void setApi(const ApiType)
Definition: bilboblog.cpp:176
BilboBlog::METAWEBLOG_API
Definition: bilboblog.h:45
BilboBlog::password
QString password() const
Definition: bilboblog.cpp:151
BilboBlog::localDirectory
QString localDirectory() const
Definition: bilboblog.cpp:233
BilboBlog::setTitle
void setTitle(const QString &)
Definition: bilboblog.cpp:166
BilboBlog::isError
bool isError() const
Definition: bilboblog.cpp:111
BilboBlog::supportUploadMedia
bool supportUploadMedia() const
Definition: bilboblog.cpp:256
BilboBlog::title
QString title() const
Definition: bilboblog.cpp:161
QObject
BilboBlog::BilboBlog
BilboBlog(QObject *parent=0)
Definition: bilboblog.cpp:55
BilboBlog::supportTag
bool supportTag() const
Definition: bilboblog.cpp:266
BilboBlog::WORDPRESSBUGGY_API
Definition: bilboblog.h:45
BilboBlog::blogid
QString blogid() const
Definition: bilboblog.cpp:131
BilboBlog::setId
void setId(const int)
Definition: bilboblog.cpp:218
BilboBlog
Blog definition class!
Definition: bilboblog.h:40
VERSION
static const char VERSION[]
Constants.
Definition: constants.h:36
BilboBlog::setDirection
void setDirection(const Qt::LayoutDirection)
Definition: bilboblog.cpp:228
BilboBlog::setPassword
void setPassword(const QString &)
Definition: bilboblog.cpp:156
BilboBlog::~BilboBlog
~BilboBlog()
Definition: bilboblog.cpp:78
BilboBlog::setUsername
void setUsername(const QString &)
Definition: bilboblog.cpp:146
BilboBlog::username
QString username() const
Definition: bilboblog.cpp:141
BilboBlog::supportCategory
bool supportCategory() const
Definition: bilboblog.cpp:261
BilboBlog::GDATA_API
Definition: bilboblog.h:45
bilboblog.h
BilboBlog::setUrl
void setUrl(const KUrl &)
Definition: bilboblog.cpp:126
BilboBlog::direction
Qt::LayoutDirection direction() const
Definition: bilboblog.cpp:223
BilboBlog::id
int id() const
Definition: bilboblog.cpp:213
BilboBlog::setLocalDirectory
void setLocalDirectory(const QString &)
Definition: bilboblog.cpp:238
BilboBlog::BLOGGER1_API
Definition: bilboblog.h:45
BilboBlog::setError
void setError(bool isError)
Definition: bilboblog.cpp:116
BilboBlog::ApiType
ApiType
Definition: bilboblog.h:44
BilboBlog::MOVABLETYPE_API
Definition: bilboblog.h:45
BilboBlog::url
KUrl url() const
returns blog xmlrpc Url! For http://bilbo.wordpress.com : it's url() is http://bilbo.wordpress.com/xmlrpc.php and it's blogUrl() is http://bilbo.wordpress.com/
Definition: bilboblog.cpp:121
BilboBlog::blogUrl
QString blogUrl() const
return Blog Actual Url! For http://bilbo.wordpress.com : it's url() is http://bilbo.wordpress.com/xmlrpc.php and it's blogUrl() is http://bilbo.wordpress.com/
Definition: bilboblog.cpp:243
BilboBlog::api
ApiType api() const
Definition: bilboblog.cpp:171
BilboBlog::setBlogId
void setBlogId(const QString &)
Definition: bilboblog.cpp:136
BilboBlog::setBlogUrl
void setBlogUrl(const QString &blogUrl)
Definition: bilboblog.cpp:251
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:55:44 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

blogilo

Skip menu "blogilo"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal