[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdenetwork/kopete/plugins/otr
From: Michael Zanetti <michael_zanetti () gmx ! net>
Date: 2009-10-09 18:35:07
Message-ID: 1255113307.721969.28443.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1033221 by mzanetti:
Add notification on incoming authentication challenge if view is not active
BUG: 204600
M +25 -0 authenticationwizard.cpp
M +1 -0 authenticationwizard.h
M +2 -2 otrlchatinterface.cpp
--- trunk/KDE/kdenetwork/kopete/plugins/otr/authenticationwizard.cpp \
#1033220:1033221 @@ -27,9 +27,12 @@
#include <kdebug.h>
#include <klocale.h>
#include <kopetecontact.h>
+#include <knotification.h>
+#include <kiconloader.h>
#include <QGroupBox>
#include <QProgressBar>
+#include <kopeteview.h>
QList<AuthenticationWizard*> wizardList;
@@ -66,6 +69,17 @@
updateInfoBox();
show();
+
+ if ( !session->view()->mainWidget() || \
!session->view()->mainWidget()->isActiveWindow() ) { + KNotification \
*notification = new KNotification( "kopete_info_event", \
KNotification::CloseWhenWidgetActivated | KNotification::CloseOnTimeout ); \
+ notification->setText( i18n( "Incoming authentication request from %1", \
OtrlChatInterface::self()->formatContact( \
session->members().first()->contactId() ) ) ); + notification->setPixmap( \
SmallIcon( "kopete" ) ); + notification->setWidget( this );
+ notification->setActions( QStringList() << i18n( "View" ) << i18n( \
"Ignore" ) ); + connect( notification, SIGNAL( activated( unsigned int ) \
), SLOT( notificationActivated( unsigned int ) ) ); \
+ notification->sendEvent(); + }
+
}
@@ -343,6 +357,17 @@
}
}
+void AuthenticationWizard::notificationActivated( unsigned int id){
+ kDebug(14318) << "notificationActivated. ButtonId" << id;
+ if( id == 1 ){
+ // raise the view to bring the chatwindow + authwizard to current \
desktop and on top + session->view()->raise( true );
+ // now grab focus and keyboard again to the auth-wizard
+ setFocus(Qt::ActiveWindowFocusReason);
+ leAnswer->grabKeyboard();
+ }
+}
+
WaitPage::WaitPage(const QString &text){
canContinue = false;
setTitle(i18nc("@title","Authenticating contact..."));
--- trunk/KDE/kdenetwork/kopete/plugins/otr/authenticationwizard.h \
#1033220:1033221 @@ -90,6 +90,7 @@
private slots:
void cancelVerification();
void updateInfoBox();
+ void notificationActivated( unsigned int );
};
--- trunk/KDE/kdenetwork/kopete/plugins/otr/otrlchatinterface.cpp \
#1033220:1033221 @@ -413,7 +413,7 @@
abortSMP( context, chatSession );
} else {
kDebug(14318) << "Update SMP state: 1Q";
- new AuthenticationWizard( chatSession->view()->mainWidget(), context, \
chatSession, false, QString((char*)tlvs->data) ); + new \
AuthenticationWizard( chatSession->view(true)->mainWidget(), context, \
chatSession, false, QString((char*)tlvs->data) ); }
}
@@ -424,7 +424,7 @@
abortSMP( context, chatSession );
} else {
kDebug(14318) << "Update SMP state: 1 ";
- new AuthenticationWizard( chatSession->view()->mainWidget(), context, \
chatSession, false ); + new AuthenticationWizard( \
chatSession->view(true)->mainWidget(), context, chatSession, false ); }
}
tlv = otrl_tlv_find(tlvs, OTRL_TLV_SMP2);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic