Bug 141984

Summary: add hint to kopete's crypto-plugin
Product: [Unmaintained] kopete Reporter: S. Burmeister <sven.burmeister>
Component: Cryptography PluginAssignee: Kopete Developers <kopete-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description S. Burmeister 2007-02-20 16:23:28 UTC
Version:            (using KDE KDE 3.5.5)
OS:                Linux

Since this might be a burden to most people who have not used cryptography before and it does not hurt, since there is plenty of space left, I would like to see that users are given a hint on how encryption works.

Although it might seem obvious to most advanced users, a lot of users wonder why they cannot encrypt messages and send them to somebody else, if they use their own key. My key, my message.

I would suggest:

In order to send an encrypted message to another person you have to assign that person's public-key via the context-menu to its contact in your contact-list.
Comment 1 Charles Connell 2007-07-17 03:20:34 UTC
SVN commit 688853 by cconnell:

String changes. Added myself to a few credits
FEATURE:141984
GUI:


 M  +2 -1      kopete/main.cpp  
 M  +1 -1      plugins/cryptography/cryptographyplugin.cpp  
 M  +29 -17    plugins/cryptography/cryptographypreferences.cpp  
 M  +6 -5      plugins/cryptography/cryptographypreferences.h  
 M  +1 -38     plugins/cryptography/cryptographyprefsbase.ui  
 M  +3 -3      plugins/cryptography/kopete_cryptography.desktop  


--- trunk/KDE/kdenetwork/kopete/kopete/main.cpp #688852:688853
@@ -51,6 +51,7 @@
 	aboutData.addAuthor ( ki18n("Will Stephenson"), ki18n("Lead Developer, GroupWise maintainer"), "lists@stevello.free-online.co.uk" );
 	aboutData.addAuthor ( ki18n("Rafael Fernández López"), ki18n("Developer"), "ereslibre@gmail.com" );
 	aboutData.addAuthor ( ki18n("Roman Jarosz"), ki18n("Developer, AIM and ICQ"), "kedgedev@centrum.cz" );
+	aboutData.addAuthor ( ki18n("Charles Connell"), ki18n("Developer"), "charles@connells.org" );
 
 	aboutData.addCredit ( ki18n("Vally8"), ki18n("Konki style author"), "vally8@gmail.com", "http://vally8.free.fr/" );
 	aboutData.addCredit ( ki18n("Tm_T"), ki18n("Hacker style author"), "jussi.kekkonen@gmail.com");
@@ -60,7 +61,7 @@
 	aboutData.addCredit ( ki18n("Justin Karneges"), ki18n("Iris Jabber Backend Library") );
 	aboutData.addCredit ( ki18n("Tom Linsky"), ki18n("OscarSocket author"), "twl6@po.cwru.edu" );
 	aboutData.addCredit ( ki18n("Olaf Lueg"), ki18n("Kmerlin MSN code") );
-    aboutData.addCredit ( ki18n("Chetan Reddy"), ki18n("Former developer"), "chetan13@gmail.com" );
+	aboutData.addCredit ( ki18n("Chetan Reddy"), ki18n("Former developer"), "chetan13@gmail.com" );
 	aboutData.addCredit ( ki18n("Nick Betcher"), ki18n("Former developer, project co-founder"), "nbetcher@kde.org");
 	aboutData.addCredit ( ki18n("Ryan Cumming"), ki18n("Former developer"), "ryan@kde.org" );
 	aboutData.addCredit ( ki18n("Stefan Gehn"), ki18n("Former developer"), "metz@gehn.net", "http://metz.gehn.net" );
--- trunk/KDE/kdenetwork/kopete/plugins/cryptography/cryptographyplugin.cpp #688852:688853
@@ -75,7 +75,7 @@
 	QObject::connect ( m_cachedPass_timer, SIGNAL ( timeout() ), this, SLOT ( slotForgetCachedPass() ) );
 
 
-	KAction *action=new KAction ( KIcon ( "encrypted" ), i18n ( "&Select Cryptography Public Key..." ), this );
+	KAction *action=new KAction ( KIcon ( "encrypted" ), i18n ( "&Select Public Key..." ), this );
 	actionCollection()->addAction ( "contactSelectKey", action );
 	connect ( action, SIGNAL ( triggered ( bool ) ), this, SLOT ( slotSelectContactKey() ) );
 	connect ( Kopete::ContactList::self() , SIGNAL ( metaContactSelected ( bool ) ) , action , SLOT ( setEnabled ( bool ) ) );
--- trunk/KDE/kdenetwork/kopete/plugins/cryptography/cryptographypreferences.cpp #688852:688853
@@ -16,10 +16,12 @@
     ***************************************************************************
 */
 
-#include <qpushbutton.h>
+#include <QPushButton>
+#include <QCheckBox>
 
 #include <klineedit.h>
 #include <kgenericfactory.h>
+#include <libkleo/keyrequester.h>
 
 #include "ui_cryptographyprefsbase.h"
 #include "cryptographypreferences.h"
@@ -33,30 +35,40 @@
 CryptographyPreferences::CryptographyPreferences ( QWidget *parent, const QStringList &args )
 		: KCModule ( CryptographyPreferencesFactory::componentData(), parent, args )
 {
+	mConfig = new CryptographyConfig;
+	
 	// Add actual widget generated from ui file.
 	QVBoxLayout* l = new QVBoxLayout ( this );
 	QWidget *w = new QWidget;
+
+	key = new Kleo::EncryptionKeyRequester ( false, Kleo::EncryptionKeyRequester::OpenPGP, this, true, true );
+	key->setDialogMessage ( i18n ( "Select the secret key you want to use encrypt and or decrypt messages" ) );
+	key->setDialogCaption ( i18n ( "Select the secret key you want to use encrypt and or decrypt messages" ) );
+
+	QLabel * label = new QLabel ( i18n ("With this plugin you can encrypt messages so that nobody but your intended recipient can read them, and you can also sign messages, so that recipients can verify that a given message has actually come from you. <a href=\"http://en.wikipedia.org/wiki/Public-key_cryptography\">How this works</a>.\n\nBefore you can send encrypted messages to someone, you must select their public key by right-clicking on their name in your contact list, and choosing \"Select Public Key.\"\n\nNote: All messages become plain text when used with this plugin"), this );
+	label->setWordWrap (true);
+	
+	mAskPassPhrase = new QCheckBox ( i18n ("Ask for passphrase every time" ), this);
+	
 	mPreferencesDialog = new Ui::CryptographyPrefsUI;
 	mPreferencesDialog->setupUi ( w );
-	
-	key = new Kleo::EncryptionKeyRequester (false, Kleo::EncryptionKeyRequester::OpenPGP, this, true, true);
-	key->setDialogMessage (i18n ("Select the secret key you want to use encrypt and or decrypt messages"));
-	key->setDialogCaption (i18n ("Select the secret key you want to use encrypt and or decrypt messages"));
-	
-	l->addWidget (key);
+
+	l->addWidget ( key );
+	l->addWidget ( label );
+	l->addWidget ( mAskPassPhrase );
 	l->addWidget ( w );
-	mConfig = new CryptographyConfig;
+	l->addStretch ();
 
-	connect ( mPreferencesDialog->askPassPhrase, SIGNAL ( toggled ( bool ) ), this, SLOT ( slotAskPressed ( bool ) ) );
+	connect ( mAskPassPhrase, SIGNAL ( toggled ( bool ) ), this, SLOT ( slotAskPressed ( bool ) ) );
 
 	connect ( key->dialogButton(), SIGNAL ( clicked() ), this, SLOT ( slotModified() ) );
-	connect ( key->eraseButton(), SIGNAL ( clicked() ), this, SLOT (slotModified() ) );
-	connect ( mPreferencesDialog->askPassPhrase, SIGNAL ( toggled ( bool ) ), this, SLOT ( slotModified() ) );
+	connect ( key->eraseButton(), SIGNAL ( clicked() ), this, SLOT ( slotModified() ) );
+	connect ( mAskPassPhrase, SIGNAL ( toggled ( bool ) ), this, SLOT ( slotModified() ) );
 	connect ( mPreferencesDialog->onClose, SIGNAL ( toggled ( bool ) ), this, SLOT ( slotModified() ) );
 	connect ( mPreferencesDialog->time, SIGNAL ( toggled ( bool ) ), this, SLOT ( slotModified() ) );
 	connect ( mPreferencesDialog->never, SIGNAL ( toggled ( bool ) ), this, SLOT ( slotModified() ) );
 	connect ( mPreferencesDialog->cacheTime, SIGNAL ( valueChanged ( int ) ), this, SLOT ( slotModified() ) );
-	
+
 	load();
 }
 
@@ -71,7 +83,7 @@
 	mConfig->load();
 
 	key->setFingerprint ( mConfig->fingerprint() );
-	mPreferencesDialog->askPassPhrase->setChecked ( mConfig->askPassPhrase() );
+	mAskPassPhrase->setChecked ( mConfig->askPassPhrase() );
 	mPreferencesDialog->cacheTime->setValue ( mConfig->cacheTime() );
 
 	if ( mConfig->cacheTime() == CryptographyConfig::Close )
@@ -89,7 +101,7 @@
 void CryptographyPreferences::save()
 {
 	mConfig->setFingerprint ( key->fingerprint() );
-	mConfig->setAskPassPhrase ( mPreferencesDialog->askPassPhrase->isChecked() );
+	mConfig->setAskPassPhrase ( mAskPassPhrase->isChecked() );
 	mConfig->setCacheTime ( mPreferencesDialog->cacheTime->value() );
 
 	if ( mPreferencesDialog->onClose->isChecked() )
@@ -108,9 +120,9 @@
 void CryptographyPreferences::defaults()
 {
 	key->eraseButton()->click();
-	mPreferencesDialog->askPassPhrase->setChecked(false);
-	mPreferencesDialog->onClose->setChecked(true);
-	mPreferencesDialog->cacheTime->setValue(15);
+	mAskPassPhrase->setChecked ( false );
+	mPreferencesDialog->onClose->setChecked ( true );
+	mPreferencesDialog->cacheTime->setValue ( 15 );
 	slotModified();
 }
 
--- trunk/KDE/kdenetwork/kopete/plugins/cryptography/cryptographypreferences.h #688852:688853
@@ -21,17 +21,17 @@
 
 #include "kcmodule.h"
 
-#include <kleo/ui/keyrequester.h>
-
-namespace Ui { class CryptographyPrefsUI; }
-class CryptographyConfig;
-
 /**
  * Preference widget for the Cryptography plugin
  * @author Olivier Goffart
  * @author Charles Connell
  */
 
+namespace Ui { class CryptographyPrefsUI; }
+class CryptographyConfig;
+class EncryptionKeyRequester;
+class QCheckBox;
+
 class CryptographyPreferences : public KCModule
 {
 
@@ -46,6 +46,7 @@
 
 	private:
 		Kleo::EncryptionKeyRequester * key;
+		QCheckBox * mAskPassPhrase;
 		Ui::CryptographyPrefsUI *mPreferencesDialog;
 		CryptographyConfig *mConfig;
 
--- trunk/KDE/kdenetwork/kopete/plugins/cryptography/cryptographyprefsbase.ui #688852:688853
@@ -7,31 +7,11 @@
     <x>0</x>
     <y>0</y>
     <width>345</width>
-    <height>234</height>
+    <height>250</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" >
    <item>
-    <widget class="QLabel" name="warning" >
-     <property name="frameShape" >
-      <enum>QFrame::NoFrame</enum>
-     </property>
-     <property name="text" >
-      <string>Note: All messages become plain text when used with this plugin</string>
-     </property>
-     <property name="wordWrap" >
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QCheckBox" name="askPassPhrase" >
-     <property name="text" >
-      <string>Ask for the passphrase every time</string>
-     </property>
-    </widget>
-   </item>
-   <item>
     <widget class="QGroupBox" name="cacheBehavior" >
      <property name="title" >
       <string>Cache Passphrase</string>
@@ -126,28 +106,11 @@
      </layout>
     </widget>
    </item>
-   <item>
-    <spacer>
-     <property name="orientation" >
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeType" >
-      <enum>QSizePolicy::Expanding</enum>
-     </property>
-     <property name="sizeHint" >
-      <size>
-       <width>20</width>
-       <height>20</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
  <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
  <tabstops>
-  <tabstop>askPassPhrase</tabstop>
   <tabstop>never</tabstop>
   <tabstop>time</tabstop>
   <tabstop>cacheTime</tabstop>
--- trunk/KDE/kdenetwork/kopete/plugins/cryptography/kopete_cryptography.desktop #688852:688853
@@ -5,10 +5,10 @@
 Icon=encrypted
 ServiceTypes=Kopete/Plugin
 X-KDE-Library=kopete_cryptography
-X-KDE-PluginInfo-Author=Olivier Goffart
-X-KDE-PluginInfo-Email=ogoffart@tiscalinet.be
+X-KDE-PluginInfo-Author=Olivier Goffart, Charles Connell, with thanks to Marquel
+X-KDE-PluginInfo-Email=ogoffart@tiscalinet.be, charles@connells.org
 X-KDE-PluginInfo-Name=kopete_cryptography
-X-KDE-PluginInfo-Version=0.8.0
+X-KDE-PluginInfo-Version=1.1
 X-KDE-PluginInfo-Website=http://kopete.kde.org
 X-KDE-PluginInfo-Category=Plugins
 X-KDE-PluginInfo-Depends=