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

List:       kde-commits
Subject:    KDE/kdepim/akonadi/clients/akonadiconsole
From:       Tobias Koenig <tokoe () kde ! org>
Date:       2008-03-23 14:12:31
Message-ID: 1206281551.321110.984.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 789184 by tokoe:

Add action to create new persistant search


 M  +1 -0      CMakeLists.txt  
 M  +1 -0      akonadiconsoleui.rc  
 M  +27 -0     mainwidget.cpp  
 M  +5 -0      mainwidget.h  
 A             searchdialog.cpp   [License: GPL (v2+)]
 A             searchdialog.h   [License: GPL (v2+)]


--- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/CMakeLists.txt #789183:789184
@@ -12,6 +12,7 @@
   main.cpp
   mainwidget.cpp
   mainwindow.cpp
+  searchdialog.cpp
 )
 
 qt4_add_dbus_interfaces( akonadiconsole_bin_SRCS
--- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/akonadiconsoleui.rc #789183:789184
@@ -4,6 +4,7 @@
  <MenuBar>
   <Menu name="edit">
     <Action name="akonadi_paste" append="edit_paste_merge"/>
+    <Action name="akonadiconsole_search"/>
   </Menu>
   <Menu name="collection"><text>&amp;Collection</text>
     <Action name="akonadi_collection_create"/>
--- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/mainwidget.cpp #789183:789184
@@ -24,11 +24,15 @@
 #include "agentwidget.h"
 #include "browserwidget.h"
 #include "debugwidget.h"
+#include "searchdialog.h"
 
 #include <akonadi/agentinstanceview.h>
 #include <akonadi/agentfilterproxymodel.h>
 #include <akonadi/standardactionmanager.h>
+#include <akonadi/searchcreatejob.h>
 
+#include <KAction>
+#include <KActionCollection>
 #include <KXmlGuiWindow>
 
 #include <QtGui/QTabWidget>
@@ -54,4 +58,27 @@
   actMgr->setCollectionSelectionModel( browser->collectionSelectionModel() );
   actMgr->setItemSelectionModel( browser->itemSelectionModel() );
   actMgr->createAllActions();
+
+  KAction *action = parent->actionCollection()->addAction( "akonadiconsole_search" );
+  action->setText( "Create Search" );
+  connect( action, SIGNAL( triggered() ), this, SLOT( createSearch() ) );
 }
+
+void MainWidget::createSearch()
+{
+  SearchDialog dlg;
+  if ( !dlg.exec() )
+    return;
+
+  const QString query = dlg.searchQuery();
+  if ( query.isEmpty() )
+    return;
+
+  QString name = dlg.searchName();
+  if ( name.isEmpty() )
+    name = "My Search";
+
+  new Akonadi::SearchCreateJob( name, query );
+}
+
+#include "mainwidget.moc"
--- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/mainwidget.h #789183:789184
@@ -28,8 +28,13 @@
 
 class MainWidget : public QWidget
 {
+  Q_OBJECT
+
   public:
     explicit MainWidget( KXmlGuiWindow *parent = 0 );
+
+  private Q_SLOTS:
+    void createSearch();
 };
 
 #endif
[prev in list] [next in list] [prev in thread] [next in thread] 

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