You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdepim/kresources/blogging/API_Blog.cpp

122 lines
4.1 KiB

/***************************************************************************
* Copyright (C) 2004-05 Reinhold Kainhofer <reinhold@kainhofer.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#include "API_Blog.h"
#include <kdebug.h>
#include <tqvariant.h>
using namespace KBlog;
APIBlog::APIBlog( const KURL &url, TQObject *parent, const char *name ) :
TQObject( parent, name ),
mServerURL( url ), mAppID( TQString::null ), mDownloadCount( 20 )
{}
APIBlog::~APIBlog()
{}
void APIBlog::dumpBlog( BlogPosting *blog )
{
kdDebug() << "-----------------------------------" << endl;
kdDebug() << "Post " << blog->postID() << " by \"" <<
blog->userID() << "\" on " <<
blog->dateTime().toString() << endl;
kdDebug() << "Title: " << blog->title() << endl;
kdDebug() << blog->content() <<endl;
kdDebug() << "-----------------------------------" << endl;
}
/*void APIBlog::setTemplateTags( const BlogTemplate& Template )
{
mTemplate = Template;
}
BlogTemplate APIBlog::templateTags() const
{
return mTemplate;
}*/
/*void APIBlog::deletePost( const TQString &postID )
{
BlogPosting *post = new BlogPosting();
post->setPostID( postID );
deletePost( post );
delete post;
}*/
TQValueList<TQVariant> APIBlog::defaultArgs( const TQString &id )
{
TQValueList<TQVariant> args;
args << TQVariant( mAppID );
if ( !id.isNull() ) {
args << TQVariant( id );
}
args << TQVariant( mUsername )
<< TQVariant( mPassword );
return args;
}
KCal::Journal *APIBlog::journalFromPosting( KBlog::BlogPosting *blog )
{
if ( !blog ) return 0;
KCal::Journal *j = new KCal::Journal();
TQDateTime dt = blog->dateTime();
TQDateTime creationDt = blog->creationDateTime();
TQDateTime modificationDt = blog->modificationDateTime();
kdDebug() << "dt ="<<dt.toString( Qt::ISODate ) << endl;
kdDebug() << "creationDt ="<<creationDt.toString( Qt::ISODate ) << endl;
kdDebug() << "modificationDt="<<modificationDt.toString( Qt::ISODate ) << endl;
if ( dt.isValid() && !dt.isNull() ) {
j->setDtStart( dt );
} else if ( creationDt.isValid() && !creationDt.isNull() ) {
j->setDtStart( creationDt );
} else if ( modificationDt.isValid() && !modificationDt.isNull() ) {
j->setDtStart( modificationDt );
}
j->setCreated( blog->creationDateTime() );
j->setLastModified( blog->modificationDateTime() );
j->setFloats( false );
kdDebug() << "Date for blog " << blog->title() << " is "
<< blog->dateTime().toString()<<endl;
j->setSummary( blog->title() );
j->setDescription( blog->content() );
j->setCategories( TQStringList( blog->category() ) );
j->setOrganizer( blog->userID() );
j->setCustomProperty( "KCalBloggerRes", "UserID", blog->userID() );
j->setCustomProperty( "KCalBloggerRes", "BlogID", blog->blogID() );
j->setCustomProperty( "KCalBloggerRes", "PostID", blog->postID() );
// TODO: Set the read-only flag in the resource!
// j->setReadOnly( readOnly() );
return j;
}
KBlog::BlogPosting *APIBlog::postingFromJournal( KCal::Journal *journal )
{
KBlog::BlogPosting *item = new KBlog::BlogPosting();
if ( journal && item ) {
item->setContent( journal->description() );
item->setTitle( journal->summary() );
item->setCategory( journal->categories().first() );
item->setDateTime( journal->dtStart() );
item->setModificationDateTime( journal->lastModified() );
item->setCreationDateTime( journal->created() );
item->setUserID( journal->customProperty( "KCalBloggerRes", "UserID" ) );
item->setBlogID( journal->customProperty( "KCalBloggerRes", "BlogID" ) );
item->setPostID( journal->customProperty( "KCalBloggerRes", "PostID" ) );
}
return item;
}
#include "API_Blog.moc"