[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