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

List:       kde-commits
Subject:    KDE/kdepim/kleopatra/crypto/gui
From:       Frank Osterfeld <frank.osterfeld () kdemail ! net>
Date:       2008-04-24 13:50:48
Message-ID: 1209045048.398942.23002.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 800600 by osterfeld:

propagate activation of links not handled internally to higher level

 M  +2 -0      decryptverifywizard.cpp  
 M  +1 -0      decryptverifywizard.h  
 M  +13 -4     resultitemwidget.cpp  
 M  +1 -0      resultlistwidget.cpp  
 M  +1 -0      resultlistwidget.h  
 M  +1 -0      signencryptwizard.cpp  
 M  +1 -0      signencryptwizard.h  


--- trunk/KDE/kdepim/kleopatra/crypto/gui/decryptverifywizard.cpp #800599:800600
@@ -179,6 +179,8 @@
 {
     q->setPage( DecryptVerifyWizard::OperationsPage, &operationsPage );
     q->setPage( DecryptVerifyWizard::ResultPage, &resultPage );
+    connect( &resultPage, SIGNAL(linkActivated(QString)), q, \
SIGNAL(linkActivated(QString)) ); +
     std::vector<int> order;
     order.push_back( DecryptVerifyWizard::OperationsPage );
     order.push_back( DecryptVerifyWizard::ResultPage );
--- trunk/KDE/kdepim/kleopatra/crypto/gui/decryptverifywizard.h #800599:800600
@@ -71,6 +71,7 @@
 
     Q_SIGNALS:
         void operationPrepared();
+        void linkActivated( const QString & link );
 
     private:
         /* reimpl */ void onNext( int id );
--- trunk/KDE/kdepim/kleopatra/crypto/gui/resultitemwidget.cpp #800599:800600
@@ -34,12 +34,14 @@
 
 #include "resultitemwidget.h"
 
+#include <KDebug>
 #include <KLocalizedString>
 #include <KPushButton>
 #include <KStandardGuiItem>
 
 #include <QHBoxLayout>
 #include <QLabel>
+#include <QStringList>
 #include <QUrl>
 #include <QVBoxLayout>
 
@@ -163,15 +165,22 @@
 
 void ResultItemWidget::Private::slotLinkActivated( const QString & link )
 {
+    assert( m_result );
+    if ( link.startsWith( "key:" ) ) {
+        const QStringList split = link.split( ':' );
+        if ( split.size() == 3 || m_result->nonce() != split.value( 1 ) )
+            emit q->linkActivated( "key://" + split.value( 2 ) );
+        else
+            kWarning() << "key link invalid, or nonce not matching! link=" << link \
<< " nonce" << m_result->nonce(); +    }
+
     const QUrl url( link );
-    if ( url.scheme() != "kleoresultitem" ) {
-        emit q->linkActivated( link );
-        return;
-    }
     if ( url.host() == "toggledetails" ) {
         q->showDetails( !q->detailsVisible() );
         return;
     }
+    
+    kWarning() << "Unexpected link scheme: " << link;
 }
 
 void ResultItemWidget::showDetails( bool show )
--- trunk/KDE/kdepim/kleopatra/crypto/gui/resultlistwidget.cpp #800599:800600
@@ -148,6 +148,7 @@
     assert( task );
     ResultItemWidget* wid = new ResultItemWidget( result, task->label() );
     q->connect( wid, SIGNAL(detailsToggled(bool)), q, SLOT(detailsToggled(bool)) );
+    q->connect( wid, SIGNAL(linkActivated(QString)), q, \
SIGNAL(linkActivated(QString)) );  q->connect( wid, SIGNAL(closeButtonClicked()), q, \
SLOT(close()) );  
     addResultWidget( wid );
--- trunk/KDE/kdepim/kleopatra/crypto/gui/resultlistwidget.h #800599:800600
@@ -63,6 +63,7 @@
         bool isComplete() const;
 
     Q_SIGNALS:
+        void linkActivated( const QString & link );
         void completeChanged();
 
     private:
--- trunk/KDE/kdepim/kleopatra/crypto/gui/signencryptwizard.cpp #800599:800600
@@ -87,6 +87,7 @@
       objectsPage( new Gui::ObjectsPage ),
       resultPage( new Gui::ResultPage )
 {
+    connect( resultPage, SIGNAL(linkActivated(QString)), q, \
                SIGNAL(linkActivated(QString)) );
     q->setPage( SignEncryptWizard::ResolveSignerPage, signerResolvePage );
     q->setPage( SignEncryptWizard::ObjectsPage, objectsPage );
     q->setPage( SignEncryptWizard::ResolveRecipientsPage, recipientResolvePage );
--- trunk/KDE/kdepim/kleopatra/crypto/gui/signencryptwizard.h #800599:800600
@@ -136,6 +136,7 @@
         void signersResolved();
         void objectsResolved();
         void recipientsResolved();
+        void linkActivated( const QString & link );
 
     protected:
         SignerResolvePage* signerResolvePage();


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

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