Hello community,
here is the log from the commit of package NetworkManager-kde
checked in at Tue Nov 21 13:45:50 CET 2006.
--------
--- KDE/NetworkManager-kde/NetworkManager-kde.changes 2006-11-17 13:52:11.000000000 +0100
+++ /mounts/work_src_done/STABLE/NetworkManager-kde/NetworkManager-kde.changes 2006-11-21 13:33:07.000000000 +0100
@@ -1,0 +2,10 @@
+Tue Nov 21 12:59:15 CET 2006 - hschaa@suse.de
+
+- add patch knetworkmanager-vpn-utf8-suport-hschaa-01.patch:
+ Support utf8 encoding in VPN name, service etc.
+ (b.n.c #222918)
+- add patch knetworkmanager-vpnoverlay-hschaa-01.patch:
+ Show a symbol in the system tray when a VPN connection is
+ established (b.n.c #159061)
+
+-------------------------------------------------------------------
New:
----
knetworkmanager-vpn-utf8-support-hschaa-01.patch
knetworkmanager-vpnoverlay-hschaa-01.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager-kde.spec ++++++
--- /var/tmp/diff_new_pack.oYYf4q/_old 2006-11-21 13:42:56.000000000 +0100
+++ /var/tmp/diff_new_pack.oYYf4q/_new 2006-11-21 13:42:56.000000000 +0100
@@ -20,7 +20,7 @@
Group: System/GUI/KDE
Autoreqprov: on
Version: 0.1r602671
-Release: 9
+Release: 14
Summary: KNetworkManager application for use with NetworkManager
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: NetworkManager
@@ -30,6 +30,8 @@
Patch0: knetworkmanager-kde-networkstatus-wstephenson-01.patch
Patch1: knetworkmanager-fallback-thoenig-02.patch
Patch2: knetworkmanager-notify-hschaa-01.patch
+Patch3: knetworkmanager-vpn-utf8-support-hschaa-01.patch
+Patch4: knetworkmanager-vpnoverlay-hschaa-01.patch
%description
KNetworkManager is a system tray applet for controlling network
@@ -46,6 +48,8 @@
%patch0 -R -p0
%patch1 -p0
%patch2 -p0
+%patch3 -p0
+%patch4 -p0
%build
. /etc/opt/kde3/common_options
@@ -89,6 +93,13 @@
/opt/kde3/env
%changelog -n NetworkManager-kde
+* Tue Nov 21 2006 - hschaa@suse.de
+- add patch knetworkmanager-vpn-utf8-suport-hschaa-01.patch:
+ Support utf8 encoding in VPN name, service etc.
+ (b.n.c #222918)
+- add patch knetworkmanager-vpnoverlay-hschaa-01.patch:
+ Show a symbol in the system tray when a VPN connection is
+ established (b.n.c #159061)
* Fri Nov 17 2006 - thoenig@suse.de
- add patch knetworkmanager-notify-hschaa-01.patch: Show warning
if VPN connection attempt failed (b.n.c #159061)
++++++ knetworkmanager-vpn-utf8-support-hschaa-01.patch ++++++
Index: knetworkmanager-vpn_dbus.cpp
===================================================================
--- knetworkmanager/src/knetworkmanager-vpn_dbus.cpp (Revision 602933)
+++ knetworkmanager/src/knetworkmanager-vpn_dbus.cpp (Arbeitskopie)
@@ -21,6 +21,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
**************************************************************************/
+#include
#include "knetworkmanager-vpn.h"
#include "knetworkmanager-vpn_dbus.h"
@@ -30,7 +31,7 @@
void
VPNDBus::updateVPNActivationStage (const char* name, NMVPNActStage stage)
{
- VPNConnection* vpnConnection = _ctx->getVPN ()->getVPNConnection (name);
+ VPNConnection* vpnConnection = _ctx->getVPN ()->getVPNConnection (QString::fromUtf8(name));
if (vpnConnection) {
vpnConnection->setActivationStage (stage);
}
@@ -64,15 +65,15 @@
DBUS_TYPE_STRING, &user,
DBUS_TYPE_STRING, &service_name,
DBUS_TYPE_UINT32, &stage, DBUS_TYPE_INVALID)) {
- VPNConnection* vpnConnection = _ctx->getVPN ()->getVPNConnection (name);
+ VPNConnection* vpnConnection = _ctx->getVPN ()->getVPNConnection (QString::fromUtf8(name));
if (vpnConnection == NULL) {
/* TODO: Add one we have not found? Does not sound reasonable as we
* will also fail at providing vpnData.
*/
} else {
- vpnConnection->setName (name);
- vpnConnection->setServiceName (service_name);
- vpnConnection->setUser (user);
+ vpnConnection->setName (QString::fromUtf8(name));
+ vpnConnection->setServiceName (QString::fromUtf8(service_name));
+ vpnConnection->setUser (QString::fromUtf8(user));
vpnConnection->setActivationStage ((NMVPNActStage) stage);
}
}
@@ -125,11 +126,13 @@
msg = dbus_message_new_signal (NMI_DBUS_PATH, NMI_DBUS_INTERFACE, "VPNConnectionUpdate");
if (msg) {
- const char* name = vpnConnection->getName ();
+ char* name = strdup(vpnConnection->getName ().utf8());
dbus_message_append_args (msg, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID);
dbus_connection_send (con, msg, NULL);
dbus_message_unref (msg);
+
+ free(name);
}
return;
@@ -149,19 +152,21 @@
msg = dbus_message_new_method_call (NM_DBUS_SERVICE, NM_DBUS_PATH_VPN, NM_DBUS_INTERFACE_VPN, "activateVPNConnection");
if (msg) {
- const char* name = vpnConnection->getName ();
+ char* name = strdup(vpnConnection->getName ().utf8());
QStringList passwords = vpnConnection->getPasswords ();
dbus_message_iter_init_append (msg, &iter);
dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &name);
dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING_AS_STRING, &iter_array);
for (QStringList::Iterator i = passwords.begin (); i != passwords.end (); ++i) {
- const char* password = *i;
+ char* password = strdup((*i).utf8());
dbus_message_iter_append_basic (&iter_array, DBUS_TYPE_STRING, &password);
+ free(password);
}
dbus_message_iter_close_container (&iter, &iter_array);
dbus_connection_send (con, msg, NULL);
dbus_message_unref (msg);
+ free(name);
}
return;
Index: knetworkmanager-nminfo_dbus.cpp
===================================================================
--- knetworkmanager/src/knetworkmanager-nminfo_dbus.cpp (Revision 602933)
+++ knetworkmanager/src/knetworkmanager-nminfo_dbus.cpp (Arbeitskopie)
@@ -196,8 +196,9 @@
for ( ; it != end; ++it )
{
kdDebug() << "returning network: " << *it << endl;
- const char * network = strdup( (*it).utf8() );
+ char * network = strdup( (*it).utf8() );
dbus_message_iter_append_basic(&iter_array, DBUS_TYPE_STRING, &network );
+ free(network);
}
dbus_message_iter_close_container (&iter, &iter_array);
@@ -246,8 +247,9 @@
for ( ; it != end; ++it )
{
kdDebug() << "adding AP: " << *it << endl;
- const char * ap = strdup( (*it).utf8() );
+ char * ap = strdup( (*it).utf8() );
dbus_message_iter_append_basic(&iter_array, DBUS_TYPE_STRING, &ap );
+ free(ap);
networkAdded = true;
}
dbus_message_iter_close_container (&iter, &iter_array);
@@ -345,9 +347,10 @@
dbus_message_iter_init_append (reply, &iter);
dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING_AS_STRING, &iter_array);
for (QStringList::Iterator i = names.begin (); i != names.end (); ++i) {
- const char* name = strdup ((*i).utf8 ());
+ char* name = strdup ((*i).utf8 ());
dbus_message_iter_append_basic (&iter_array, DBUS_TYPE_STRING, &name);
kdDebug () << "returning vpn connection " << name << endl;
+ free(name);
}
dbus_message_iter_close_container (&iter, &iter_array);
@@ -359,9 +362,9 @@
{
NetworkManagerInfo* nmi = _ctx->getNetworkManagerInfo ();
VPNConnection* vpnConnection = NULL;
- const char* name = NULL;
- const char* user = NULL;
- const char* service = NULL;
+ char* name = NULL;
+ char* user = NULL;
+ char* service = NULL;
DBusMessage* reply = NULL;
DBusMessageIter iter;
@@ -371,15 +374,15 @@
goto out;
}
- if ((vpnConnection = nmi->getVPNConnection (name)) == NULL) {
+ if ((vpnConnection = nmi->getVPNConnection (QString::fromUtf8(name))) == NULL) {
printf ("Did not find requested VPN connection \"%s\".\n", name);
reply = dbus_message_new_error (msg, NM_DBUS_INVALID_VPN_CONNECTION, "VPN connection not found");
goto out;
}
- name = vpnConnection->getName ();
- service = vpnConnection->getServiceName ();
- user = vpnConnection->getUser ();
+ name = strdup(vpnConnection->getName ().utf8());
+ service = strdup(vpnConnection->getServiceName ().utf8());
+ user = strdup(vpnConnection->getUser ().utf8());
kdDebug () << "returning properties for vpn connection " << endl \
<< "- name: " << name << endl \
@@ -392,6 +395,10 @@
dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &service);
dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &user);
+ free(name);
+ free(service);
+ free(user);
+
out:
return reply;
}
@@ -401,8 +408,8 @@
{
NetworkManagerInfo* nmi = _ctx->getNetworkManagerInfo ();
VPNConnection* vpnConnection = NULL;
- const char* name = NULL;
- QStringList routes;
+ char* name = NULL;
+ QStringList routes;
DBusMessage* reply = NULL;
DBusMessageIter iter;
DBusMessageIter iter_array;
@@ -413,13 +420,13 @@
goto out;
}
- if ((vpnConnection = nmi->getVPNConnection (name)) == NULL) {
+ if ((vpnConnection = nmi->getVPNConnection (QString::fromUtf8(name))) == NULL) {
printf ("Did not find requested VPN connection \"%s\", thus we can not return the routes.\n", name);
reply = dbus_message_new_error (msg, NM_DBUS_INVALID_VPN_CONNECTION, "VPN connection not found");
goto out;
}
- name = vpnConnection->getName ();
+ name = strdup(vpnConnection->getName ().utf8());
routes = vpnConnection->getRoutes ();
kdDebug () << "returning routes for vpn connection " << name << endl;
@@ -428,11 +435,13 @@
dbus_message_iter_init_append (reply, &iter);
dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING_AS_STRING, &iter_array);
for (QStringList::Iterator i = routes.begin (); i != routes.end (); ++i) {
- const char* route = strdup ((*i).utf8 ());
+ char* route = strdup ((*i).utf8 ());
dbus_message_iter_append_basic (&iter_array, DBUS_TYPE_STRING, &route);
kdDebug () << "returning route " << route << endl;
+ free(route);
}
dbus_message_iter_close_container (&iter, &iter_array);
+ free(name);
out:
return reply;
@@ -455,7 +464,7 @@
goto out;
}
- if ((vpnConnection = nmi->getVPNConnection (name)) == NULL) {
+ if ((vpnConnection = nmi->getVPNConnection (QString::fromUtf8(name))) == NULL) {
printf ("Did not find requested VPN connection \"%s\", thus we can not return the VPN data.\n", name);
reply = dbus_message_new_error (msg, NM_DBUS_INVALID_VPN_CONNECTION, "VPN connection not found");
goto out;
@@ -470,9 +479,10 @@
dbus_message_iter_init_append (reply, &iter);
dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING_AS_STRING, &iter_array);
for (QStringList::Iterator i = data.begin (); i != data.end (); ++i) {
- const char* item = strdup ((*i).utf8 ());
+ char* item = strdup ((*i).utf8 ());
dbus_message_iter_append_basic (&iter_array, DBUS_TYPE_STRING, &item);
kdDebug () << "returning data " << item << endl;
+ free(item);
}
dbus_message_iter_close_container (&iter, &iter_array);
++++++ knetworkmanager-vpnoverlay-hschaa-01.patch ++++++
--- knetworkmanager/src/knetworkmanager-nminfo_dbus.cpp
+++ knetworkmanager/src/knetworkmanager-nminfo_dbus.cpp
@@ -433,7 +433,7 @@
goto out;
}
- name = strdup(vpnConnection->getName ().utf8());
+ name = strdup(vpnConnection->getName().utf8());
routes = vpnConnection->getRoutes ();
kdDebug () << "returning routes for vpn connection " << name << endl;
--- knetworkmanager/src/knetworkmanager-tray.cpp
+++ knetworkmanager/src/knetworkmanager-tray.cpp
@@ -238,6 +238,9 @@
}
KSystemTray::drawContents(p);
+ // draw overlay image
+ if (!m_overlay.isNull())
+ p->drawPixmap(2,r.height()/2-2,m_overlay);
}
}
@@ -819,6 +822,17 @@
}
}
+void Tray::vpnConnectionStateChanged(bool connected)
+{
+ if (connected) {
+ QRect r = contentsRect();
+ m_overlay = SmallIcon("encrypted", r.width()*1/2);
+ }
+ else
+ m_overlay = QPixmap();
+ repaint();
+}
+
void Tray::slotStateChanged()
{
QPixmap pm = updateForState( _ctx->getState( )->getConnectionState( ) );
--- knetworkmanager/src/knetworkmanager-tray.h
+++ knetworkmanager/src/knetworkmanager-tray.h
@@ -181,6 +181,7 @@
void slotNetworkFound( Network * );
void slotNetworkDisappeared( Network * );
+ void vpnConnectionStateChanged(bool);
private:
void enterEvent (QEvent*);
@@ -212,7 +213,7 @@
QPixmap m_wireless75;
QPixmap m_wireless100;
QPixmap m_background;
-
+ QPixmap m_overlay;
QPoint _anchor;
// stub for kded networkstatus dcop interface
--- knetworkmanager/src/knetworkmanager-vpn.cpp
+++ knetworkmanager/src/knetworkmanager-vpn.cpp
@@ -216,6 +216,19 @@
* class VPN
*
*/
+void
+VPN::vpnActivationStateChanged()
+{
+ // look if at least one VPN Connection is active
+ for (VPNList::ConstIterator it = _vpnList->begin(); it != _vpnList->end(); ++it) {
+ if ((*it)->getActivationStage() == NM_VPN_ACT_STAGE_ACTIVATED) {
+ emit vpnConnectionStateChanged(true);
+ return;
+ }
+ }
+
+ emit vpnConnectionStateChanged(false);
+}
void
VPN::activateVPNConnection (VPNConnection* vpnConnection)
@@ -349,8 +362,10 @@
}
}
- if (vpnConnection->isValid ())
+ if (vpnConnection->isValid ()) {
_vpnList->append (vpnConnection);
+ connect(vpnConnection, SIGNAL(activationStateChanged()), this, SLOT(vpnActivationStateChanged()));
+ }
}
void
--- knetworkmanager/src/knetworkmanager-vpn.h
+++ knetworkmanager/src/knetworkmanager-vpn.h
@@ -104,12 +104,13 @@
Q_OBJECT
public slots:
- void receiveKeyringData (KProcess*, char*, int);
- void activateVPNConnection (VPNConnection*);
- void disconnectVPNConnection (void);
- void configureVPNConnections (void);
- void configureVPNExited (KProcess*);
-
+ void receiveKeyringData (KProcess*, char*, int);
+ void activateVPNConnection (VPNConnection*);
+ void disconnectVPNConnection (void);
+ void configureVPNConnections (void);
+ void configureVPNExited (KProcess*);
+ void vpnActivationStateChanged ();
+
public:
VPN( QObject * parent = 0, const char * name = 0);
~VPN ();
@@ -121,6 +122,9 @@
void push (KNetworkManager*);
+ signals:
+ void vpnConnectionStateChanged(bool);
+
private:
void initKeyring (void);
bool checkForServices (void);
--- knetworkmanager/src/knetworkmanager.cpp
+++ knetworkmanager/src/knetworkmanager.cpp
@@ -124,6 +124,9 @@
connect (_tray, SIGNAL (configureVPNConnections (void)),
_vpn, SLOT (configureVPNConnections (void)));
+ connect (_vpn, SIGNAL(vpnConnectionStateChanged(bool)),
+ _tray, SLOT(vpnConnectionStateChanged(bool)));
+
connect (_tray, SIGNAL (disconnectVPNConnection (void)),
_vpn, SLOT (disconnectVPNConnection (void)));
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org