[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/pim/akonadi
From: Stephen Kelly <steveire () gmail ! com>
Date: 2009-09-18 17:26:33
Message-ID: 1253294793.686727.12792.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1025413 by skelly:
Update for changes in Grantlee API.
Template and TemplateLoader are now shared pointers.
M +14 -9 akonaditemplateloader/akonaditemplateloader.cpp
M +6 -3 akonaditemplateloader/akonaditemplateloader.h
M +1 -2 example_mail/akonaditextdocument.cpp
M +3 -3 example_mail/akonaditextdocument.h
M +2 -2 example_mail/mailwidget.cpp
M +3 -3 kjots_common/kjotswidget.cpp
M +3 -6 kjots_common/kjotswidget.h
--- trunk/playground/pim/akonadi/akonaditemplateloader/akonaditemplateloader.cpp \
#1025412:1025413 @@ -34,24 +34,24 @@
using namespace Akonadi;
AkonadiTemplateLoader::AkonadiTemplateLoader(Akonadi::Monitor *monitor, QObject* \
parent )
- : AbstractTemplateLoader( parent ), m_themeName("default")
+ : m_themeName("default")
{
Collection rootCollection = Collection::root();
- Session *session = new Session( QByteArray( "AkonadiTemplateLoader-" ) + \
QByteArray::number( qrand() ), this ); + Session *session = new Session( QByteArray( \
"AkonadiTemplateLoader-" ) + QByteArray::number( qrand() ), parent );
- m_model = new EntityTreeModel( session, monitor, this );
+ m_model = new EntityTreeModel( session, monitor, parent );
}
-Grantlee::MutableTemplate* AkonadiTemplateLoader::loadMutableByName( const QString \
&name ) const +Grantlee::MutableTemplate AkonadiTemplateLoader::loadMutableByName( \
const QString &name ) const {
Item templateItem = getItem( name );
if ( !templateItem.isValid() )
- return 0;
+ throw Grantlee::Exception( TagSyntaxError, QString( "Couldn't load template from \
%1. Template does not exist.").arg( name ) );
QString content = templateItem.payloadData();
- MutableTemplate *t = Engine::instance()->newMutableTemplate( content );
+ MutableTemplate t = Engine::instance()->newMutableTemplate( content, name );
return t;
}
@@ -81,14 +81,19 @@
return templateIndex.data(EntityTreeModel::ItemRole).value<Item>();
}
-Grantlee::Template *AkonadiTemplateLoader::loadByName( const QString& name ) const
+bool AkonadiTemplateLoader::canLoadTemplate(const QString& name) const
{
+ return getItem( name ).isValid();
+}
+
+Grantlee::Template AkonadiTemplateLoader::loadByName( const QString& name ) const
+{
Item templateItem = getItem( name );
if ( !templateItem.isValid() )
- return 0;
+ throw Grantlee::Exception( TagSyntaxError, QString( "Couldn't load template from \
%1. Template does not exist.").arg( name ) );
QString content = templateItem.payloadData();
- Template *t = Engine::instance()->newTemplate( content );
+ Template t = Engine::instance()->newTemplate( content, name );
return t;
}
--- trunk/playground/pim/akonadi/akonaditemplateloader/akonaditemplateloader.h \
#1025412:1025413 @@ -33,13 +33,16 @@
class GRANTLEE_EXPORT AkonadiTemplateLoader : public AbstractTemplateLoader
{
- Q_OBJECT
public:
+ typedef QSharedPointer<AkonadiTemplateLoader> Ptr;
+
AkonadiTemplateLoader(Akonadi::Monitor *monitor, QObject *parent = 0 );
- Template *loadByName( const QString &name ) const;
- MutableTemplate *loadMutableByName( const QString &name ) const;
+ Template loadByName( const QString &name ) const;
+ MutableTemplate loadMutableByName( const QString &name ) const;
+ virtual bool canLoadTemplate(const QString& name) const;
+
QString getMediaUri( const QString &fileName ) const;
Akonadi::Item getItem( const KUrl &url ) const;
--- trunk/playground/pim/akonadi/example_mail/akonaditextdocument.cpp \
#1025412:1025413 @@ -25,11 +25,10 @@
#include <QImage>
#include <KUrl>
-#include <akonaditemplateloader.h>
using namespace Akonadi;
-TextDocument::TextDocument(AkonadiTemplateLoader *loader, QObject* parent)
+TextDocument::TextDocument(AkonadiTemplateLoader::Ptr loader, QObject* parent)
: QTextDocument(parent), m_templateLoader(loader)
{
--- trunk/playground/pim/akonadi/example_mail/akonaditextdocument.h #1025412:1025413
@@ -24,7 +24,7 @@
#include <QTextDocument>
-class AkonadiTemplateLoader;
+#include "akonaditemplateloader.h"
namespace Akonadi
{
@@ -35,12 +35,12 @@
{
Q_OBJECT
public:
- TextDocument(AkonadiTemplateLoader *templateLoader, QObject* parent = 0);
+ TextDocument(AkonadiTemplateLoader::Ptr templateLoader, QObject* parent = 0);
virtual QVariant loadResource(int type, const QUrl& name);
private:
- AkonadiTemplateLoader *m_templateLoader;
+ AkonadiTemplateLoader::Ptr m_templateLoader;
};
--- trunk/playground/pim/akonadi/example_mail/mailwidget.cpp #1025412:1025413
@@ -82,7 +82,7 @@
EntityTreeModel *m_templateModel = new EntityTreeModel( templateSession, \
templateMonitor, this );
- AkonadiTemplateLoader *akoLoader = new AkonadiTemplateLoader(templateMonitor, \
this); + AkonadiTemplateLoader::Ptr akoLoader = AkonadiTemplateLoader::Ptr( new \
AkonadiTemplateLoader(templateMonitor, this ) );
connect( templateMonitor, SIGNAL( itemChanged(const Akonadi::Item &, const QSet< \
QByteArray > &) ),
SLOT(someSlot( const Akonadi::Item &, const QSet< QByteArray > & ) ) );
@@ -223,7 +223,7 @@
QByteArray ba = i.payloadData();
Grantlee::Engine *engine = Grantlee::Engine::instance();
- Grantlee::Template *t = engine->loadByName("template.html", this);
+ Grantlee::Template t = engine->loadByName("template.html");
if (!t)
return;
QVariantHash h;
--- trunk/playground/pim/akonadi/kjots_common/kjotswidget.cpp #1025412:1025413
@@ -87,11 +87,11 @@
Engine *engine = Engine::instance();
engine->setPluginDirs(KStd.findDirs("lib", "grantlee"));
- m_loader = new FileSystemTemplateLoader(this);
+ m_loader = FileSystemTemplateLoader::Ptr( new FileSystemTemplateLoader() );
m_loader->setTemplateDirs(KStd.findDirs("data", QString("kjotsrewrite/themes")));
m_loader->setTheme("default");
- engine->addTemplateLoader(m_loader);
+ engine->addTemplateLoader( m_loader );
treeview = new EntityTreeView( splitter );
// treeview = new QColumnView(splitter);
@@ -283,7 +283,7 @@
Context c(hash);
Engine *engine = Engine::instance();
- Template *t = engine->loadByName("template.html", this);
+ Template t = engine->loadByName("template.html");
QString result = t->render(&c);
// TODO: handle errors.
--- trunk/playground/pim/akonadi/kjots_common/kjotswidget.h #1025412:1025413
@@ -27,6 +27,8 @@
#include "kjots_common_export.h"
#include <akonadi/item.h>
+#include <grantlee/templateloader.h>
+
class KTextEdit;
class QTextBrowser;
class QTextCursor;
@@ -43,11 +45,6 @@
class EntityTreeView;
}
-namespace Grantlee
-{
-class FileSystemTemplateLoader;
-}
-
class KJotsPage;
using namespace Akonadi;
@@ -81,7 +78,7 @@
QStackedWidget *stackedWidget;
Akonadi::EntityTreeModel *etm;
KSelectionProxyModel *selProxy;
- Grantlee::FileSystemTemplateLoader *m_loader;
+ Grantlee::FileSystemTemplateLoader::Ptr m_loader;
// Akonadi::EntityTreeView *treeview;
// QColumnView *treeview;
QAbstractItemView *treeview;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic