[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/kleopatra/uiserver
From: Frank Osterfeld <frank.osterfeld () kdemail ! net>
Date: 2008-01-31 18:58:41
Message-ID: 1201805921.877585.20804.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 769173 by osterfeld:
Pass commands in constructor so we can apply the passed window id to the wizard at \
creation time
M +2 -9 assuancommand.h
M +2 -1 decryptverifycommand.cpp
M +3 -4 encryptcommand.cpp
M +22 -12 encryptemailcontroller.cpp
M +3 -3 encryptemailcontroller.h
M +1 -3 prepencryptcommand.cpp
M +1 -3 signcommand.cpp
M +6 -11 signemailcontroller.cpp
M +1 -3 signemailcontroller.h
M +1 -2 signencryptfilescommand.cpp
M +6 -10 signencryptfilescontroller.cpp
M +1 -3 signencryptfilescontroller.h
--- trunk/KDE/kdepim/kleopatra/uiserver/assuancommand.h #769172:769173
@@ -239,17 +239,10 @@
GpgME::Protocol checkProtocol( Mode mode ) const;
- template <typename T_Widget>
- T_Widget * applyWindowID( T_Widget * w ) const {
+ void applyWindowID( QDialog* w ) const {
doApplyWindowID( w );
- return w;
}
- template <typename T_Widget>
- std::auto_ptr<T_Widget> applyWindowID( std::auto_ptr<T_Widget> w ) const {
- doApplyWindowID( w.get() );
- return w;
- }
-
+
QString heuristicBaseDirectory() const;
bool isNohup() const;
--- trunk/KDE/kdepim/kleopatra/uiserver/decryptverifycommand.cpp #769172:769173
@@ -250,7 +250,8 @@
void createWizard() {
if ( wizard )
return;
- wizard = q->applyWindowID( new DecryptVerifyWizard );
+ wizard = new DecryptVerifyWizard;
+ q->applyWindowID( wizard );
wizard->setAttribute( Qt::WA_DeleteOnClose );
connect( wizard, SIGNAL(finished(int)), this, SLOT(slotDialogClosed()) );
//if ( requestedWindowTitle().isEmpty() )
--- trunk/KDE/kdepim/kleopatra/uiserver/encryptcommand.cpp #769172:769173
@@ -137,15 +137,14 @@
if ( hasPreviousMemento ) {
d->controller = mementoContent< shared_ptr<EncryptEMailController> >( \
EncryptEMailController::mementoName() ); removeMemento( \
EncryptEMailController::mementoName() ); + d->controller->setCommand( \
shared_from_this() ); } else {
- d->controller.reset( new EncryptEMailController );
+ d->controller.reset( new EncryptEMailController( shared_from_this() ) );
d->controller->setProtocol( checkProtocol( EMail ) );
}
kleo_assert( d->controller );
-
- d->controller->setCommand( shared_from_this() );
-
+
QObject::connect( d->controller.get(), SIGNAL(recipientsResolved()), d.get(), \
SLOT(slotRecipientsResolved()), Qt::QueuedConnection );
QObject::connect( d->controller.get(), SIGNAL(done()), d.get(), \
SLOT(slotDone()), Qt::QueuedConnection );
QObject::connect( d->controller.get(), SIGNAL(error(int,QString)), d.get(), \
SLOT(slotError(int,QString)), Qt::QueuedConnection );
--- trunk/KDE/kdepim/kleopatra/uiserver/encryptemailcontroller.cpp #769172:769173
@@ -62,7 +62,7 @@
friend class ::Kleo::EncryptEMailController;
EncryptEMailController * const q;
public:
- explicit Private( EncryptEMailController * qq );
+ explicit Private( const shared_ptr<AssuanCommand> & cmd, EncryptEMailController \
* qq );
private:
void slotWizardRecipientsResolved();
@@ -73,7 +73,8 @@
void ensureWizardCreated() const;
void ensureWizardVisible();
void cancelAllTasks();
-
+ void applyWindowID() const;
+
void schedule();
shared_ptr<EncryptEMailTask> takeRunnable( GpgME::Protocol proto );
void connectTask( const shared_ptr<Task> & task, unsigned int idx );
@@ -85,21 +86,30 @@
mutable QPointer<SignEncryptWizard> wizard;
};
-EncryptEMailController::Private::Private( EncryptEMailController * qq )
+EncryptEMailController::Private::Private( const shared_ptr<AssuanCommand> & cmd, \
EncryptEMailController * qq ) : q( qq ),
runnable(),
cms(),
openpgp(),
- command(),
+ command( cmd ),
wizard()
{
}
-EncryptEMailController::EncryptEMailController( QObject * p )
- : QObject( p ), d( new Private( this ) )
+
+void EncryptEMailController::Private::applyWindowID() const
{
+ if ( !wizard )
+ return;
+ if ( const shared_ptr<AssuanCommand> cmd = command.lock() )
+ cmd->applyWindowID( wizard );
+}
+EncryptEMailController::EncryptEMailController( const shared_ptr<AssuanCommand> & \
cmd, QObject * p ) + : QObject( p ), d( new Private( cmd, this ) )
+{
+
}
EncryptEMailController::~EncryptEMailController() {
@@ -117,6 +127,11 @@
d->wizard->setPresetProtocol( proto );
}
+void EncryptEMailController::setCommand( const shared_ptr<AssuanCommand> & cmd )
+{
+ d->command = cmd;
+ d->applyWindowID();
+}
Protocol EncryptEMailController::protocol() const {
d->ensureWizardCreated();
@@ -134,10 +149,6 @@
}
}
-void EncryptEMailController::setCommand( const shared_ptr<AssuanCommand> & cmd ) {
- d->command = cmd;
-}
-
void EncryptEMailController::startResolveRecipients( const std::vector<Mailbox> & \
recipients ) { d->ensureWizardCreated();
d->wizard->setRecipients( recipients );
@@ -278,8 +289,6 @@
return;
std::auto_ptr<SignEncryptWizard> w( new SignEncryptWizard );
- if ( const shared_ptr<AssuanCommand> cmd = command.lock() )
- w = cmd->applyWindowID( w );
w->setWindowTitle( i18n("Encrypt Mail Message") );
std::vector<int> pageOrder;
@@ -292,6 +301,7 @@
connect( w.get(), SIGNAL(recipientsResolved()), q, \
SLOT(slotWizardRecipientsResolved()), Qt::QueuedConnection );
connect( w.get(), SIGNAL(canceled()), q, SLOT(slotWizardCanceled()), \
Qt::QueuedConnection ); wizard = w.release();
+ applyWindowID();
}
void EncryptEMailController::Private::ensureWizardVisible() {
--- trunk/KDE/kdepim/kleopatra/uiserver/encryptemailcontroller.h #769172:769173
@@ -51,17 +51,17 @@
class EncryptEMailController : public QObject {
Q_OBJECT
public:
- explicit EncryptEMailController( QObject * parent=0 );
+ explicit EncryptEMailController( const boost::shared_ptr<AssuanCommand> & \
cmd, QObject * parent=0 ); ~EncryptEMailController();
static const char * mementoName() { return "EncryptEMailController"; }
+ void setCommand( const boost::shared_ptr<AssuanCommand> & cmd );
+
void setProtocol( GpgME::Protocol proto );
const char * protocolAsString() const;
GpgME::Protocol protocol() const;
- void setCommand( const boost::shared_ptr<AssuanCommand> & cmd );
-
void startResolveRecipients( const std::vector<KMime::Types::Mailbox> & \
recipients );
void importIO();
--- trunk/KDE/kdepim/kleopatra/uiserver/prepencryptcommand.cpp #769172:769173
@@ -96,10 +96,8 @@
d->checkForErrors();
- d->controller.reset( new EncryptEMailController );
+ d->controller.reset( new EncryptEMailController( shared_from_this() ) );
- d->controller->setCommand( shared_from_this() );
-
if ( hasOption( "protocol" ) )
// --protocol is optional for PREP_ENCRYPT
d->controller->setProtocol( checkProtocol( EMail ) );
--- trunk/KDE/kdepim/kleopatra/uiserver/signcommand.cpp #769172:769173
@@ -101,11 +101,9 @@
d->checkForErrors();
- d->controller.reset( new SignEMailController );
+ d->controller.reset( new SignEMailController( shared_from_this() ) );
d->controller->setProtocol( checkProtocol( EMail ) );
- d->controller->setCommand( shared_from_this() );
-
QObject::connect( d->controller.get(), SIGNAL(signersResolved()), d.get(), \
SLOT(slotSignersResolved() ) );
QObject::connect( d->controller.get(), SIGNAL(reportMicAlg(QString)), d.get(), \
SLOT(slotMicAlgDetermined(QString)) );
QObject::connect( d->controller.get(), SIGNAL(done()), d.get(), SLOT(slotDone()) \
);
--- trunk/KDE/kdepim/kleopatra/uiserver/signemailcontroller.cpp #769172:769173
@@ -62,7 +62,7 @@
friend class ::Kleo::SignEMailController;
SignEMailController * const q;
public:
- explicit Private( SignEMailController * qq );
+ explicit Private( const shared_ptr<AssuanCommand> & cmd, SignEMailController * \
qq );
private:
void slotWizardSignersResolved();
@@ -87,12 +87,12 @@
bool detached : 1;
};
-SignEMailController::Private::Private( SignEMailController * qq )
+SignEMailController::Private::Private( const shared_ptr<AssuanCommand> & cmd, \
SignEMailController * qq ) : q( qq ),
runnable(),
cms(),
openpgp(),
- command(),
+ command( cmd ),
wizard(),
protocol( UnknownProtocol ),
detached( false )
@@ -100,8 +100,8 @@
}
-SignEMailController::SignEMailController( QObject * p )
- : QObject( p ), d( new Private( this ) )
+SignEMailController::SignEMailController( const boost::shared_ptr<AssuanCommand> & \
cmd, QObject * p ) + : QObject( p ), d( new Private( cmd, this ) )
{
}
@@ -126,11 +126,6 @@
return d->protocol;
}
-// ### extract to base
-void SignEMailController::setCommand( const shared_ptr<AssuanCommand> & cmd ) {
- d->command = cmd;
-}
-
void SignEMailController::startResolveSigners( const std::vector<Mailbox> & signers \
) {
const std::vector< std::vector<Key> > keys = \
CertificateResolver::resolveSigners( signers, d->protocol );
@@ -304,7 +299,7 @@
std::auto_ptr<SignEncryptWizard> w( new SignEncryptWizard );
if ( const shared_ptr<AssuanCommand> cmd = command.lock() )
- w = cmd->applyWindowID( w );
+ cmd->applyWindowID( w.get() );
// ### virtual hook here
w->setWindowTitle( i18n("Sign Mail Message") );
--- trunk/KDE/kdepim/kleopatra/uiserver/signemailcontroller.h #769172:769173
@@ -51,15 +51,13 @@
class SignEMailController : public QObject {
Q_OBJECT
public:
- explicit SignEMailController( QObject * parent=0 );
+ explicit SignEMailController( const boost::shared_ptr<AssuanCommand> & cmd, \
QObject * parent=0 ); ~SignEMailController();
void setProtocol( GpgME::Protocol proto );
GpgME::Protocol protocol() const;
//const char * protocolAsString() const;
- void setCommand( const boost::shared_ptr<AssuanCommand> & cmd );
-
void startResolveSigners( const std::vector<KMime::Types::Mailbox> & signers \
);
void setDetachedSignature( bool detached );
--- trunk/KDE/kdepim/kleopatra/uiserver/signencryptfilescommand.cpp #769172:769173
@@ -111,8 +111,7 @@
d->checkForErrors();
- d->controller.reset( new SignEncryptFilesController );
- d->controller->setCommand( shared_from_this() );
+ d->controller.reset( new SignEncryptFilesController( shared_from_this() ) );
d->controller->setProtocol( checkProtocol( FileManager ) );
d->controller->setOperationMode( operation() );
--- trunk/KDE/kdepim/kleopatra/uiserver/signencryptfilescontroller.cpp #769172:769173
@@ -65,7 +65,7 @@
friend class ::Kleo::SignEncryptFilesController;
SignEncryptFilesController * const q;
public:
- explicit Private( SignEncryptFilesController * qq );
+ explicit Private( const shared_ptr<AssuanCommand> & cmd, \
SignEncryptFilesController * qq );
private:
void slotWizardOperationPrepared();
@@ -98,12 +98,12 @@
bool errorDetected : 1;
};
-SignEncryptFilesController::Private::Private( SignEncryptFilesController * qq )
+SignEncryptFilesController::Private::Private( const shared_ptr<AssuanCommand> & cmd, \
SignEncryptFilesController * qq ) : q( qq ),
runnable(),
cms(),
openpgp(),
- command(),
+ command( cmd ),
wizard(),
operation( SignAllowed|EncryptAllowed ),
protocol( UnknownProtocol ),
@@ -128,8 +128,8 @@
return i18n( "Sign/Encrypt Files" );
}
-SignEncryptFilesController::SignEncryptFilesController( QObject * p )
- : QObject( p ), d( new Private( this ) )
+SignEncryptFilesController::SignEncryptFilesController( const \
shared_ptr<AssuanCommand> & cmd, QObject * p ) + : QObject( p ), d( new Private( \
cmd, this ) ) {
}
@@ -152,10 +152,6 @@
return d->protocol;
}
-void SignEncryptFilesController::setCommand( const shared_ptr<AssuanCommand> & cmd ) \
{
- d->command = cmd;
-}
-
// static
void SignEncryptFilesController::Private::assertValidOperation( unsigned int op ) {
kleo_assert( ( op & SignMask ) == SignDisallowed ||
@@ -399,7 +395,7 @@
std::auto_ptr<SignEncryptFilesWizard> w( new SignEncryptFilesWizard );
if ( const shared_ptr<AssuanCommand> cmd = command.lock() )
- w = cmd->applyWindowID( w );
+ cmd->applyWindowID( w.get() );
w->setWindowTitle( titleForOperation( operation ) );
w->setAttribute( Qt::WA_DeleteOnClose );
--- trunk/KDE/kdepim/kleopatra/uiserver/signencryptfilescontroller.h #769172:769173
@@ -51,15 +51,13 @@
class SignEncryptFilesController : public QObject {
Q_OBJECT
public:
- explicit SignEncryptFilesController( QObject * parent=0 );
+ explicit SignEncryptFilesController( const boost::shared_ptr<AssuanCommand> \
& cmd, QObject * parent=0 ); ~SignEncryptFilesController();
void setProtocol( GpgME::Protocol proto );
GpgME::Protocol protocol() const;
//const char * protocolAsString() const;
- void setCommand( const boost::shared_ptr<AssuanCommand> & cmd );
-
enum Operation {
SignDisallowed = 0,
SignAllowed = 1,
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic