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

List:       kde-commits
Subject:    KDE/kdepim
From:       Sergio Luis Martins <iamsergio () gmail ! com>
Date:       2010-12-03 12:57:40
Message-ID: 20101203125740.A5486AC8A6 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1203258 by smartins:

Add a more flexible method to open the incidence editor through dbus.

 M  +16 -0     korganizer/actionmanager.cpp  
 M  +7 -0      korganizer/actionmanager.h  
 M  +8 -0      korganizer/org.kde.Korganizer.Calendar.xml  
 M  +12 -0     mobile/calendar/calendarinterface.cpp  
 M  +15 -0     mobile/calendar/calendarinterface.h  
 M  +32 -2     mobile/calendar/mainview.cpp  
 M  +11 -0     mobile/calendar/mainview.h  


--- trunk/KDE/kdepim/korganizer/actionmanager.cpp #1203257:1203258
@@ -2078,4 +2078,20 @@
 }
 
 
+void ActionManager::openTodoEditor( const QString &summary,
+                                    const QString &description,
+                                    const QStringList &attachmentUris,
+                                    const QStringList &attendees,
+                                    const QStringList &attachmentMimetypes,
+                                    bool attachmentIsInline )
+{
+  Q_UNUSED( summary );
+  Q_UNUSED( description );
+  Q_UNUSED( attachmentUris );
+  Q_UNUSED( attendees );
+  Q_UNUSED( attachmentMimetypes );
+  Q_UNUSED( attachmentIsInline );
+  kWarning() << "Not implemented in korg-desktop";
+}
+
 #include "actionmanager.moc"
--- trunk/KDE/kdepim/korganizer/actionmanager.h #1203257:1203258
@@ -216,6 +216,13 @@
                          const QStringList &attendees,
                          const QString &attachmentMimetype );
 
+    void openTodoEditor( const QString &summary,
+                         const QString &description,
+                         const QStringList &attachmentUris,
+                         const QStringList &attendees,
+                         const QStringList &attachmentMimetypes,
+                         bool attachmentIsInline );
+
     void openJournalEditor( const QDate &date );
     void openJournalEditor( const QString &text, const QDate &date );
     void openJournalEditor( const QString &text );
--- trunk/KDE/kdepim/korganizer/org.kde.Korganizer.Calendar.xml #1203257:1203258
@@ -59,6 +59,14 @@
       <arg name="attendees" type="as" direction="in"/>
       <arg name="attachmentMimetype" type="s" direction="in"/>
     </method>
+    <method name="openTodoEditor">
+      <arg name="summary" type="s" direction="in"/>
+      <arg name="description" type="s" direction="in"/>
+      <arg name="attachmentUris" type="as" direction="in"/>
+      <arg name="attendees" type="as" direction="in"/>
+      <arg name="attachmentMimetypes" type="as" direction="in"/>
+      <arg name="attachmentIsInline" type="b" direction="in"/>
+    </method>
     <method name="openJournalEditor">
       <arg name="date" type="(iii)" direction="in"/>
       <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QDate"/>
--- trunk/KDE/kdepim/mobile/calendar/calendarinterface.cpp #1203257:1203258
@@ -145,6 +145,18 @@
   Q_UNUSED( attachmentMimetype );
 }
 
+void CalendarInterface::openTodoEditor( const QString &summary,
+                                        const QString &description,
+                                        const QStringList &attachmentUris,
+                                        const QStringList &attendees,
+                                        const QStringList &attachmentMimetypes,
+                                        bool attachmentIsInline )
+{
+  emit openIncidenceEditorSignal( summary, description, attachmentUris, attendees,
+                                  attachmentMimetypes, attachmentIsInline,
+                                  KCalCore::Incidence::TypeTodo );
+}
+
 void CalendarInterface::showEventView()
 {
   emit showEventViewSignal();
--- trunk/KDE/kdepim/mobile/calendar/calendarinterface.h #1203257:1203258
@@ -22,6 +22,7 @@
 #define CALENDARINTERFACE_H
 
 #include <QObject>
+#include <KCalCore/Incidence>
 
 class QDate;
 
@@ -63,6 +64,13 @@
                          const QStringList &attendees,
                          const QString &attachmentMimetype );
 
+    void openTodoEditor( const QString &summary,
+                         const QString &description,
+                         const QStringList &attachmentUris,
+                         const QStringList &attendees,
+                         const QStringList &attachmentMimetypes,
+                         bool attachmentIsInline );
+
     void openJournalEditor( const QDate &date );
     void openJournalEditor( const QString &text, const QDate &date );
     void openJournalEditor( const QString &text );
@@ -77,6 +85,13 @@
 signals:
     void showDateSignal(const QVariant& date);
     void showEventViewSignal();
+    void openIncidenceEditorSignal( const QString &summary,
+                                    const QString &description,
+                                    const QStringList &attachmentUris,
+                                    const QStringList &attendees,
+                                    const QStringList &attachmentMimetypes,
+                                    bool attachmentIsInline,
+                                    KCalCore::Incidence::IncidenceType type );
 };
 
 #endif // CALENDARINTERFACE_H
--- trunk/KDE/kdepim/mobile/calendar/mainview.cpp #1203257:1203258
@@ -227,9 +227,13 @@
   if ( status != Ready ) // We wait until the QML is completely loaded
     return;
 
-  connect( m_calendarIface, SIGNAL( showDateSignal( QVariant ) ), rootObject(), \
                SLOT( showDate( QVariant ) ) );
-  connect( m_calendarIface, SIGNAL( showEventViewSignal() ), rootObject(), SLOT( \
showEventView() ) ); +  connect( m_calendarIface, SIGNAL( showDateSignal( QVariant ) \
), +           rootObject(), SLOT( showDate( QVariant ) ) );
+  connect( m_calendarIface, SIGNAL( showEventViewSignal() ),
+           rootObject(), SLOT( showEventView() ) );
+  connect( m_calendarIface, \
SIGNAL(openIncidenceEditorSignal(QString,QString,QStringList,QStringList,QStringList,bool,KCalCore::Incidence::IncidenceType)), \
SLOT(openIncidenceEditor(QString,QString,QStringList,QStringList,QStringList,bool,KCalCore::Incidence::IncidenceType)) \
);  
+
   // setup the shared settings object
   EventViews::AgendaViewItem *agendaViewItem = \
rootObject()->findChild<EventViews::AgendaViewItem*>();  Q_ASSERT( agendaViewItem );
@@ -315,6 +319,32 @@
   editor->show();
 }
 
+void MainView::openIncidenceEditor( const QString &summary,
+                                    const QString &description,
+                                    const QStringList &attachmentUris,
+                                    const QStringList &attendees,
+                                    const QStringList &atttachmentMimeTypes,
+                                    bool attachmentsAreInline,
+                                    KCalCore::Incidence::IncidenceType type )
+{
+  Q_UNUSED( summary );
+  Q_UNUSED( description );
+  Q_UNUSED( attachmentUris );
+  Q_UNUSED( attendees );
+  Q_UNUSED( atttachmentMimeTypes );
+  Q_UNUSED( attachmentsAreInline );
+
+  kDebug();
+  if ( type == KCalCore::Incidence::TypeTodo ) {
+    newTodo(); // just for testing purposes. I'll replace this with the to-do \
crafting +               // code
+  } else if ( type == KCalCore::Incidence::TypeEvent ) {
+    newEvent();
+  } else {
+    Q_ASSERT_X( false, "openIncidenceEditor", "Unexpected incidence type" );
+  }
+}
+
 void MainView::editIncidence()
 {
   const CalendarSupport::KCal::KCalItemBrowserItem *eventView = \
                rootObject()->findChild<CalendarSupport::KCal::KCalItemBrowserItem*>();
                
--- trunk/KDE/kdepim/mobile/calendar/mainview.h #1203257:1203258
@@ -29,6 +29,8 @@
 #include <calendarviews/eventviews/eventview.h>
 #include <calendarviews/eventviews/prefs.h>
 
+#include <KCalCore/Incidence>
+
 namespace Akonadi {
 class StandardCalendarActionManager;
 }
@@ -67,6 +69,15 @@
 
     void newEvent();
     void newTodo();
+
+    void openIncidenceEditor( const QString &summary,
+                              const QString &description,
+                              const QStringList &attachmentUris,
+                              const QStringList &attendees,
+                              const QStringList &atttachmentMimeTypes,
+                              bool attachmentIsInline,
+                              KCalCore::Incidence::IncidenceType type );
+
     void editIncidence();
     void editIncidence( const Akonadi::Item &item, const QDate &date );
     void deleteIncidence();


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

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