[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