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

List:       kde-commits
Subject:    KDE/kdepim/akonadi/tray
From:       Tom Albers <tomalbers () kde ! nl>
Date:       2008-04-11 22:52:57
Message-ID: 1207954377.562396.21815.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 795931 by toma:

Listen to the errors and warning coming from the akonadiserver and provide a \
messagebox/passive popup for them.


 M  +29 -4     dock.cpp  
 M  +6 -2      dock.h  


--- trunk/KDE/kdepim/akonadi/tray/dock.cpp #795930:795931
@@ -39,7 +39,11 @@
 #include <KSystemTrayIcon>
 
 #include <akonadi/control.h>
+#include <akonadi/agentinstance.h>
+#include <akonadi/agentmanager.h>
 
+using namespace Akonadi;
+
 Tray::Tray() : QWidget()
 {
     hide();
@@ -78,6 +82,15 @@
     connect( QDBusConnection::sessionBus().interface(),
              SIGNAL( serviceOwnerChanged( const QString&, const QString&, const \
                QString& ) ),
              SLOT( slotServiceChanged( const QString&, const QString&, const \
QString& ) ) ); +
+
+    AgentManager *manager = AgentManager::self();
+    connect( manager,
+             SIGNAL( instanceWarning( const Akonadi::AgentInstance&, const QString& \
) ), +             SLOT( slotInstanceWarning(  const Akonadi::AgentInstance&, const \
QString& ) ) ); +    connect( manager,
+             SIGNAL( instanceError( const Akonadi::AgentInstance&, const QString& ) \
), +             SLOT( slotInstanceError(  const Akonadi::AgentInstance&, const \
QString& ) ) );  }
 
 Dock::~Dock()
@@ -151,16 +164,28 @@
     m_startAction->setVisible( !registered );
 }
 
-void Dock::infoMessage( const QString &message )
+void Dock::slotInstanceWarning( const Akonadi::AgentInstance& agent, const QString& \
message )  {
-    KPassivePopup::message( i18n( "Akonadi message" ), message, this );
+    infoMessage( message, agent.name() );
 }
 
-void Dock::errorMessage( const QString &message )
+void Dock::infoMessage( const QString &message, const QString &title )
 {
-    KMessageBox::error( parentWidget(), message, i18n( "Akonadi error" ) );
+    KPassivePopup::message( title.isEmpty() ? i18n( "Akonadi message" ) : title, 
+                            message, this );
 }
 
+void Dock::slotInstanceError( const Akonadi::AgentInstance& agent, const QString& \
message ) +{
+    errorMessage( message, agent.name() );
+}
+
+void Dock::errorMessage( const QString &message, const QString &title )
+{
+    KMessageBox::error( parentWidget(), message, 
+                        title.isEmpty() ?i18n( "Akonadi error" ) : title );
+}
+
 qlonglong Dock::getWinId()
 {
     return ( qlonglong )parentWidget()->winId();
--- trunk/KDE/kdepim/akonadi/tray/dock.h #795930:795931
@@ -24,6 +24,8 @@
 #include <KSystemTrayIcon>
 #include <QWidget>
 
+#include <akonadi/agentinstance.h>
+
 class QLabel;
 class QAction;
 
@@ -54,11 +56,13 @@
     ~Dock();
 
 public Q_SLOTS:
-    void infoMessage( const QString& );
-    void errorMessage( const QString& );
+    void infoMessage( const QString&, const QString& = QString() );
+    void errorMessage( const QString&, const QString& = QString() );
     qlonglong getWinId();
 
 private Q_SLOTS:
+    void slotInstanceWarning( const Akonadi::AgentInstance&, const QString& );
+    void slotInstanceError( const Akonadi::AgentInstance&, const QString& );
     void slotServiceChanged( const QString&, const QString&, const QString& );
     void slotActivated();
     void slotStopAkonadi();


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

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