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

List:       kde-commits
Subject:    playground/base/nepomuk-kde/annotation/lib/gui
From:       Sebastian Trueg <sebastian () trueg ! de>
Date:       2010-05-10 17:18:16
Message-ID: 20100510171816.18147AC8B1 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1125096 by trueg:

A few improvements

 M  +34 -2     annotationmenu.cpp  
 M  +8 -0      annotationmenu.h  


--- trunk/playground/base/nepomuk-kde/annotation/lib/gui/annotationmenu.cpp \
#1125095:1125096 @@ -127,6 +127,8 @@
 
     typedef QPair<Nepomuk::Types::Class, Nepomuk::Query::Term> TypeElement;
 
+    void clear();
+
     QList<TypeElement> resourceTypes() const;
 
     Query::Term createResourceTypeTerm() const;
@@ -188,6 +190,13 @@
 };
 
 
+void Nepomuk::AnnotationMenu::Private::clear()
+{
+    q->clear();
+    m_menuCreated = false;
+}
+
+
 QList<Nepomuk::AnnotationMenu::Private::TypeElement> \
Nepomuk::AnnotationMenu::Private::resourceTypes() const  {
     QList<TypeElement> types = m_resourceTypes;
@@ -358,6 +367,7 @@
     QList<QAction*> newActions = newResourceActions( menu );
     if ( newActions.count() > 3 ) {
         KActionMenu* newSubMenu = new KActionMenu( menu );
+        newSubMenu->setText( i18nc( "@action Label for a submenu containing a set of \
actions to create new resources.", "New" ) );  Q_FOREACH( QAction* a, newActions )
             newSubMenu->addAction( a );
         menu->addAction( newSubMenu );
@@ -813,6 +823,7 @@
 void Nepomuk::AnnotationMenu::setConfigurationFlags( ConfigurationFlags flags )
 {
     d->m_configFlags = flags;
+    d->clear();
 }
 
 
@@ -822,12 +833,34 @@
 }
 
 
+QList<Nepomuk::Types::Class> Nepomuk::AnnotationMenu::supportedTypes() const
+{
+    QList<Nepomuk::Types::Class> types;
+    Q_FOREACH( const Private::TypeElement& elem, d->resourceTypes() ) {
+        types << elem.first;
+    }
+    return types;
+}
+
+
 void Nepomuk::AnnotationMenu::addSupportedType( const Types::Class& type, const \
Query::Term& queryTerm )  {
     d->m_resourceTypes.append( qMakePair( type, queryTerm ) );
+    d->clear();
 }
 
 
+void Nepomuk::AnnotationMenu::setSupportedTypes( const QList<Types::Class>& types )
+{
+#warning Add the task query
+    d->m_resourceTypes.clear();
+    Q_FOREACH( const Types::Class& type, types ) {
+        d->m_resourceTypes.append( qMakePair( type, Query::Term() ) );
+    }
+    d->clear();
+}
+
+
 void Nepomuk::AnnotationMenu::setResource( const Resource& res )
 {
     setResources( QList<Resource>() << res );
@@ -837,8 +870,7 @@
 void Nepomuk::AnnotationMenu::setResources( const QList<Resource>& res )
 {
     d->m_resources = res;
-    clear();
-    d->m_menuCreated = false;
+    d->clear();
 }
 
 #include "annotationmenu.moc"
--- trunk/playground/base/nepomuk-kde/annotation/lib/gui/annotationmenu.h \
#1125095:1125096 @@ -78,6 +78,8 @@
         void setConfigurationFlags( ConfigurationFlags flags );
         ConfigurationFlags configurationFlags() const;
 
+        QList<Types::Class> supportedTypes() const;
+
         /**
          * The supported resource types can be changed with this method. By default
          * PIMO:Task, PIMO:Project, and PIMO:Person are used.
@@ -91,6 +93,12 @@
         void addSupportedType( const Types::Class& type, const Query::Term& \
queryTerm = Query::Term() );  
         /**
+         * Set a list of supported types. Possible detailed queries as can be \
specified in addSupportedType() +         * are created automatically. For now this \
is only done for pimo:Task. +         */
+        void setSupportedTypes( const QList<Types::Class>& types );
+
+        /**
          * The same as calling setResources() with a list containg \p res.
          */
         void setResource( const Resource& res );


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

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