diff -rU8 -N applet.svn/aclocal.m4 NetworkManagerApplet_MBM/aclocal.m4
diff -rU8 -N applet.svn/.bzr/branch/branch.conf NetworkManagerApplet_MBM/.bzr/branch/branch.conf
diff -rU8 -N applet.svn/.bzr/branch/format NetworkManagerApplet_MBM/.bzr/branch/format
diff -rU8 -N applet.svn/.bzr/branch/last-revision NetworkManagerApplet_MBM/.bzr/branch/last-revision
diff -rU8 -N applet.svn/.bzr/branch-format NetworkManagerApplet_MBM/.bzr/branch-format
diff -rU8 -N applet.svn/.bzr/checkout/conflicts NetworkManagerApplet_MBM/.bzr/checkout/conflicts
Binary files applet.svn/.bzr/checkout/dirstate and NetworkManagerApplet_MBM/.bzr/checkout/dirstate differ
diff -rU8 -N applet.svn/.bzr/checkout/format NetworkManagerApplet_MBM/.bzr/checkout/format
diff -rU8 -N applet.svn/.bzr/README NetworkManagerApplet_MBM/.bzr/README
diff -rU8 -N applet.svn/.bzr/repository/format NetworkManagerApplet_MBM/.bzr/repository/format
Binary files applet.svn/.bzr/repository/indices/e60d2d5a32a4a94ad14da1aae20efcc5.iix and NetworkManagerApplet_MBM/.bzr/repository/indices/e60d2d5a32a4a94ad14da1aae20efcc5.iix differ
Binary files applet.svn/.bzr/repository/indices/e60d2d5a32a4a94ad14da1aae20efcc5.rix and NetworkManagerApplet_MBM/.bzr/repository/indices/e60d2d5a32a4a94ad14da1aae20efcc5.rix differ
diff -rU8 -N applet.svn/.bzr/repository/indices/e60d2d5a32a4a94ad14da1aae20efcc5.six NetworkManagerApplet_MBM/.bzr/repository/indices/e60d2d5a32a4a94ad14da1aae20efcc5.six
Binary files applet.svn/.bzr/repository/indices/e60d2d5a32a4a94ad14da1aae20efcc5.tix and NetworkManagerApplet_MBM/.bzr/repository/indices/e60d2d5a32a4a94ad14da1aae20efcc5.tix differ
Binary files applet.svn/.bzr/repository/pack-names and NetworkManagerApplet_MBM/.bzr/repository/pack-names differ
Binary files applet.svn/.bzr/repository/packs/e60d2d5a32a4a94ad14da1aae20efcc5.pack and NetworkManagerApplet_MBM/.bzr/repository/packs/e60d2d5a32a4a94ad14da1aae20efcc5.pack differ
diff -rU8 -N applet.svn/compile NetworkManagerApplet_MBM/compile
diff -rU8 -N applet.svn/config.h.in NetworkManagerApplet_MBM/config.h.in
diff -rU8 -N applet.svn/configure NetworkManagerApplet_MBM/configure
diff -rU8 -N applet.svn/depcomp NetworkManagerApplet_MBM/depcomp
diff -rU8 -N applet.svn/icons/Makefile.am NetworkManagerApplet_MBM/icons/Makefile.am
--- applet.svn/icons/Makefile.am	2008-11-24 21:36:04.000000000 +0100
+++ NetworkManagerApplet_MBM/icons/Makefile.am	2008-11-24 21:39:33.000000000 +0100
@@ -1,16 +1,18 @@
 NULL = 
 
-largeicondir=${datadir}/icons/hicolor/48x48/apps
+theme_icon=gnome
+
+largeicondir=${datadir}/icons/${theme_icon}/48x48/apps
 largeicon_DATA=\
 	nm-device-wireless.png
 
 
-smallicondir=${datadir}/icons/hicolor/22x22/apps
+smallicondir=${datadir}/icons/${theme_icon}/22x22/apps
 smallicon_DATA=		\
 	nm-no-connection.png\
 	nm-device-wired.png	\
 	nm-device-wwan.png \
 	nm-adhoc.png		\
 	nm-stage01-connecting01.png	\
 	nm-stage01-connecting02.png	\
 	nm-stage01-connecting03.png	\
@@ -39,16 +41,20 @@
 	nm-stage03-connecting04.png	\
 	nm-stage03-connecting05.png	\
 	nm-stage03-connecting06.png	\
 	nm-stage03-connecting07.png	\
 	nm-stage03-connecting08.png	\
 	nm-stage03-connecting09.png	\
 	nm-stage03-connecting10.png	\
 	nm-stage03-connecting11.png	\
+	nm-tech-gprs.png	\
+	nm-tech-edge.png	\
+	nm-tech-umts.png	\
+	nm-tech-hsdpa.png	\
 	nm-signal-00.png	\
 	nm-signal-25.png	\
 	nm-signal-50.png	\
 	nm-signal-75.png	\
 	nm-signal-100.png	\
 	nm-vpn-connecting01.png	\
 	nm-vpn-connecting02.png	\
 	nm-vpn-connecting03.png	\
@@ -61,17 +67,17 @@
 	nm-vpn-connecting10.png	\
 	nm-vpn-connecting11.png	\
 	nm-vpn-connecting12.png	\
 	nm-vpn-connecting13.png	\
 	nm-vpn-connecting14.png	\
 	nm-vpn-active-lock.png	\
 	$(NULL)
 
-smallericondir=${datadir}/icons/hicolor/16x16/apps
+smallericondir=${datadir}/icons/${theme_icon}/16x16/apps
 smallericon_DATA= \
 	nm-vpn-standalone-lock.png \
 	$(NULL)
 
 EXTRA_DIST=\
 	$(largeicon_DATA) \
 	$(smallicon_DATA) \
 	$(smallericon_DATA)
Binary files applet.svn/icons/nm-tech-edge.png and NetworkManagerApplet_MBM/icons/nm-tech-edge.png differ
Binary files applet.svn/icons/nm-tech-gprs.png and NetworkManagerApplet_MBM/icons/nm-tech-gprs.png differ
Binary files applet.svn/icons/nm-tech-hsdpa.png and NetworkManagerApplet_MBM/icons/nm-tech-hsdpa.png differ
Binary files applet.svn/icons/nm-tech-umts.png and NetworkManagerApplet_MBM/icons/nm-tech-umts.png differ
diff -rU8 -N applet.svn/icons/.svn/all-wcprops NetworkManagerApplet_MBM/icons/.svn/all-wcprops
diff -rU8 -N applet.svn/icons/.svn/entries NetworkManagerApplet_MBM/icons/.svn/entries
diff -rU8 -N applet.svn/icons/.svn/format NetworkManagerApplet_MBM/icons/.svn/format
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-adhoc.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-adhoc.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-device-wired.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-device-wired.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-device-wireless.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-device-wireless.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-device-wwan.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-device-wwan.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-no-connection.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-no-connection.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-signal-00.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-signal-00.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-signal-100.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-signal-100.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-signal-25.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-signal-25.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-signal-50.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-signal-50.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-signal-75.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-signal-75.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage01-connecting01.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage01-connecting01.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage01-connecting02.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage01-connecting02.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage01-connecting03.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage01-connecting03.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage01-connecting04.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage01-connecting04.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage01-connecting05.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage01-connecting05.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage01-connecting06.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage01-connecting06.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage01-connecting07.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage01-connecting07.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage01-connecting08.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage01-connecting08.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage01-connecting09.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage01-connecting09.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage01-connecting10.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage01-connecting10.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage01-connecting11.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage01-connecting11.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage02-connecting01.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage02-connecting01.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage02-connecting02.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage02-connecting02.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage02-connecting03.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage02-connecting03.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage02-connecting04.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage02-connecting04.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage02-connecting05.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage02-connecting05.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage02-connecting06.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage02-connecting06.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage02-connecting07.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage02-connecting07.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage02-connecting08.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage02-connecting08.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage02-connecting09.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage02-connecting09.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage02-connecting10.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage02-connecting10.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage02-connecting11.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage02-connecting11.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage03-connecting01.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage03-connecting01.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage03-connecting02.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage03-connecting02.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage03-connecting03.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage03-connecting03.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage03-connecting04.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage03-connecting04.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage03-connecting05.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage03-connecting05.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage03-connecting06.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage03-connecting06.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage03-connecting07.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage03-connecting07.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage03-connecting08.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage03-connecting08.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage03-connecting09.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage03-connecting09.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage03-connecting10.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage03-connecting10.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-stage03-connecting11.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-stage03-connecting11.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-active-lock.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-active-lock.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting01.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting01.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting02.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting02.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting03.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting03.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting04.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting04.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting05.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting05.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting06.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting06.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting07.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting07.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting08.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting08.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting09.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting09.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting10.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting10.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting11.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting11.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting12.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting12.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting13.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting13.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-connecting14.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-connecting14.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/prop-base/nm-vpn-standalone-lock.png.svn-base NetworkManagerApplet_MBM/icons/.svn/prop-base/nm-vpn-standalone-lock.png.svn-base
diff -rU8 -N applet.svn/icons/.svn/text-base/.cvsignore.svn-base NetworkManagerApplet_MBM/icons/.svn/text-base/.cvsignore.svn-base
diff -rU8 -N applet.svn/icons/.svn/text-base/Makefile.am.svn-base NetworkManagerApplet_MBM/icons/.svn/text-base/Makefile.am.svn-base
Binary files applet.svn/icons/.svn/text-base/nm-adhoc.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-adhoc.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-device-wired.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-device-wired.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-device-wireless.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-device-wireless.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-device-wwan.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-device-wwan.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-no-connection.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-no-connection.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-signal-00.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-signal-00.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-signal-100.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-signal-100.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-signal-25.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-signal-25.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-signal-50.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-signal-50.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-signal-75.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-signal-75.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage01-connecting01.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage01-connecting01.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage01-connecting02.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage01-connecting02.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage01-connecting03.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage01-connecting03.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage01-connecting04.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage01-connecting04.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage01-connecting05.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage01-connecting05.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage01-connecting06.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage01-connecting06.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage01-connecting07.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage01-connecting07.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage01-connecting08.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage01-connecting08.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage01-connecting09.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage01-connecting09.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage01-connecting10.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage01-connecting10.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage01-connecting11.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage01-connecting11.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage02-connecting01.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage02-connecting01.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage02-connecting02.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage02-connecting02.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage02-connecting03.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage02-connecting03.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage02-connecting04.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage02-connecting04.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage02-connecting05.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage02-connecting05.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage02-connecting06.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage02-connecting06.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage02-connecting07.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage02-connecting07.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage02-connecting08.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage02-connecting08.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage02-connecting09.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage02-connecting09.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage02-connecting10.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage02-connecting10.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage02-connecting11.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage02-connecting11.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage03-connecting01.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage03-connecting01.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage03-connecting02.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage03-connecting02.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage03-connecting03.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage03-connecting03.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage03-connecting04.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage03-connecting04.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage03-connecting05.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage03-connecting05.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage03-connecting06.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage03-connecting06.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage03-connecting07.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage03-connecting07.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage03-connecting08.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage03-connecting08.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage03-connecting09.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage03-connecting09.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage03-connecting10.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage03-connecting10.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-stage03-connecting11.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-stage03-connecting11.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-active-lock.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-active-lock.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting01.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting01.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting02.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting02.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting03.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting03.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting04.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting04.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting05.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting05.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting06.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting06.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting07.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting07.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting08.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting08.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting09.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting09.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting10.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting10.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting11.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting11.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting12.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting12.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting13.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting13.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-connecting14.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-connecting14.png.svn-base differ
Binary files applet.svn/icons/.svn/text-base/nm-vpn-standalone-lock.png.svn-base and NetworkManagerApplet_MBM/icons/.svn/text-base/nm-vpn-standalone-lock.png.svn-base differ
diff -rU8 -N applet.svn/install-sh NetworkManagerApplet_MBM/install-sh
diff -rU8 -N applet.svn/Makefile.in NetworkManagerApplet_MBM/Makefile.in
diff -rU8 -N applet.svn/missing NetworkManagerApplet_MBM/missing
diff -rU8 -N applet.svn/po/ChangeLog NetworkManagerApplet_MBM/po/ChangeLog
diff -rU8 -N applet.svn/po/cs.po NetworkManagerApplet_MBM/po/cs.po
diff -rU8 -N applet.svn/po/es.po NetworkManagerApplet_MBM/po/es.po
diff -rU8 -N applet.svn/po/fi.po NetworkManagerApplet_MBM/po/fi.po
diff -rU8 -N applet.svn/po/fr.po NetworkManagerApplet_MBM/po/fr.po
diff -rU8 -N applet.svn/po/Makefile.in.in NetworkManagerApplet_MBM/po/Makefile.in.in
diff -rU8 -N applet.svn/po/.svn/all-wcprops NetworkManagerApplet_MBM/po/.svn/all-wcprops
diff -rU8 -N applet.svn/po/.svn/entries NetworkManagerApplet_MBM/po/.svn/entries
diff -rU8 -N applet.svn/po/.svn/format NetworkManagerApplet_MBM/po/.svn/format
diff -rU8 -N applet.svn/po/.svn/text-base/ar.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/ar.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/be@latin.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/be@latin.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/bg.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/bg.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/bs.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/bs.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/ca.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/ca.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/ChangeLog.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/ChangeLog.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/cs.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/cs.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/da.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/da.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/de.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/de.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/dz.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/dz.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/el.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/el.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/en_CA.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/en_CA.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/en_GB.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/en_GB.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/es.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/es.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/et.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/et.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/eu.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/eu.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/fi.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/fi.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/fr.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/fr.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/gl.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/gl.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/gu.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/gu.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/he.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/he.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/hr.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/hr.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/hu.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/hu.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/it.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/it.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/ja.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/ja.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/ko.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/ko.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/ku.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/ku.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/LINGUAS.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/LINGUAS.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/lt.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/lt.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/lv.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/lv.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/mk.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/mk.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/nb.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/nb.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/ne.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/ne.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/nl.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/nl.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/nn.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/nn.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/oc.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/oc.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/pa.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/pa.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/pl.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/pl.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/POTFILES.in.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/POTFILES.in.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/pt_BR.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/pt_BR.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/pt.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/pt.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/ru.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/ru.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/rw.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/rw.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/sk.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/sk.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/sl.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/sl.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/sq.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/sq.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/sr@Latn.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/sr@Latn.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/sr.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/sr.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/sv.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/sv.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/th.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/th.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/uk.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/uk.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/vi.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/vi.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/wa.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/wa.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/zh_CN.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/zh_CN.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/zh_HK.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/zh_HK.po.svn-base
diff -rU8 -N applet.svn/po/.svn/text-base/zh_TW.po.svn-base NetworkManagerApplet_MBM/po/.svn/text-base/zh_TW.po.svn-base
diff -rU8 -N applet.svn/src/applet.c NetworkManagerApplet_MBM/src/applet.c
--- applet.svn/src/applet.c	2008-11-24 21:36:03.000000000 +0100
+++ NetworkManagerApplet_MBM/src/applet.c	2008-11-24 21:39:32.000000000 +0100
@@ -63,16 +63,17 @@
 #include "applet-device-wifi.h"
 #include "applet-device-gsm.h"
 #include "applet-device-cdma.h"
 #include "applet-dialogs.h"
 #include "vpn-password-dialog.h"
 #include "applet-dbus-manager.h"
 #include "utils.h"
 #include "gconf-helpers.h"
+#include "nma-gsm-modem.h"
 
 
 G_DEFINE_TYPE(NMApplet, nma, G_TYPE_OBJECT)
 
 static NMActiveConnection *
 applet_get_best_activating_connection (NMApplet *applet, NMDevice **device)
 {
 	NMActiveConnection *best = NULL;
@@ -1759,16 +1760,35 @@
 				applet->animation_step = 0;
 			break;
 		default:
 			break;
 		}
 	}
 	foo_set_icon (applet, pixbuf, ICON_LAYER_VPN);
 
+	if (applet->modem) {
+		guint32 network_mode;
+		network_mode = applet->modem_network_mode;
+		pixbuf = NULL;
+		switch (network_mode) {
+			case MM_MODEM_GSM_NETWORK_MODE_GPRS:
+				pixbuf = applet->tech_gprs_icon; break;
+			case MM_MODEM_GSM_NETWORK_MODE_EDGE:
+				pixbuf = applet->tech_edge_icon; break;
+			case MM_MODEM_GSM_NETWORK_MODE_3G:
+				pixbuf = applet->tech_umts_icon; break;
+			case MM_MODEM_GSM_NETWORK_MODE_HSDPA:
+				pixbuf = applet->tech_hsdpa_icon; break;
+		}
+		foo_set_icon(applet, pixbuf, ICON_LAYER_TECH);
+	} else {
+		foo_set_icon(applet, NULL, ICON_LAYER_TECH);
+	}
+	
 	return FALSE;
 }
 
 void
 applet_schedule_update_icon (NMApplet *applet)
 {
 	if (!applet->update_icon_id)
 		applet->update_icon_id = g_idle_add (applet_update_icon, applet);
@@ -1955,16 +1975,22 @@
 	for (i = 0; i <= ICON_LAYER_MAX; i++)
 		CLEAR_ICON(applet->icon_layers[i]);
 
 	CLEAR_ICON(applet->no_connection_icon);
 	CLEAR_ICON(applet->wired_icon);
 	CLEAR_ICON(applet->adhoc_icon);
 	CLEAR_ICON(applet->wwan_icon);
 	CLEAR_ICON(applet->vpn_lock_icon);
+	
+	CLEAR_ICON(applet->tech_gprs_icon);
+	CLEAR_ICON(applet->tech_edge_icon);
+	CLEAR_ICON(applet->tech_umts_icon);
+	CLEAR_ICON(applet->tech_hsdpa_icon);
+	
 	CLEAR_ICON(applet->wireless_00_icon);
 	CLEAR_ICON(applet->wireless_25_icon);
 	CLEAR_ICON(applet->wireless_50_icon);
 	CLEAR_ICON(applet->wireless_75_icon);
 	CLEAR_ICON(applet->wireless_100_icon);
 
 	for (i = 0; i < NUM_CONNECTING_STAGES; i++) {
 		for (j = 0; j < NUM_CONNECTING_FRAMES; j++)
@@ -2002,16 +2028,22 @@
 		return FALSE;
 
 	ICON_LOAD(applet->no_connection_icon, "nm-no-connection");
 	ICON_LOAD(applet->wired_icon, "nm-device-wired");
 	ICON_LOAD(applet->adhoc_icon, "nm-adhoc");
 	ICON_LOAD(applet->wwan_icon, "nm-device-wwan");
 	ICON_LOAD(applet->vpn_lock_icon, "nm-vpn-active-lock");
 
+	ICON_LOAD(applet->tech_gprs_icon, "nm-tech-gprs");
+	ICON_LOAD(applet->tech_edge_icon, "nm-tech-edge");
+	ICON_LOAD(applet->tech_umts_icon, "nm-tech-umts");
+	ICON_LOAD(applet->tech_hsdpa_icon, "nm-tech-hsdpa");
+
+	
 	ICON_LOAD(applet->wireless_00_icon, "nm-signal-00");
 	ICON_LOAD(applet->wireless_25_icon, "nm-signal-25");
 	ICON_LOAD(applet->wireless_50_icon, "nm-signal-50");
 	ICON_LOAD(applet->wireless_75_icon, "nm-signal-75");
 	ICON_LOAD(applet->wireless_100_icon, "nm-signal-100");
 
 	for (i = 0; i < NUM_CONNECTING_STAGES; i++) {
 		for (j = 0; j < NUM_CONNECTING_FRAMES; j++) {
diff -rU8 -N applet.svn/src/applet-device-gsm.c NetworkManagerApplet_MBM/src/applet-device-gsm.c
--- applet.svn/src/applet-device-gsm.c	2008-11-25 19:19:00.000000000 +0100
+++ NetworkManagerApplet_MBM/src/applet-device-gsm.c	2008-11-24 21:39:32.000000000 +0100
@@ -215,19 +215,20 @@
 
 static void
 gsm_menu_item_deactivate (GtkMenuItem *item, gpointer user_data)
 {
 	GSMMenuItemInfo *info = (GSMMenuItemInfo *) user_data;
 	NMActiveConnection *active = NULL;
 
 	applet_find_active_connection_for_device (info->device, info->applet, &active);
-	if (active)
+	if (active) {
 		nm_client_deactivate_connection (info->applet->nm_client, active);
-	else
+		info->applet->modem = NULL;
+	} else
 		g_warning ("%s: couldn't find active connection to deactive", __func__);
 }
 
 static void
 add_disconnect_item (NMDevice *device,
                      GtkWidget *menu,
                      NMApplet *applet)
 {
@@ -334,16 +335,34 @@
                           NMDeviceStateReason reason,
                           NMApplet *applet)
 {
 	NMAGsmModem *modem;
 	char *oper_code;
 	char *oper_name;
 	char *msg;
 	guint32 reg_status;
+	static int bPinErrorShown = 0;
+
+	g_debug("new_state = %d, old_state = %d, reason = %d", new_state, old_state, reason);
+	if (reason == NM_DEVICE_STATE_REASON_GSM_PIN_CHECK_FAILED && !bPinErrorShown++) {
+		GtkWidget *dialog;
+		dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "The PIN code is wrong!\nPlease, edit connections.");
+		gtk_window_set_title (GTK_WINDOW (dialog), "Can't connect");
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+	} else
+	if (reason == NM_DEVICE_STATE_REASON_GSM_PUK_CHECK_FAILED && !bPinErrorShown++) {
+		GtkWidget *dialog;
+		dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "The PUK code is wrong!\nPlease, edit connections.");
+		gtk_window_set_title (GTK_WINDOW (dialog), "Can't connect");
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+	} else
+		bPinErrorShown = 0;
 
 	if (new_state != NM_DEVICE_STATE_ACTIVATED)
 		return;
 
 	modem = (NMAGsmModem *) g_object_get_data (G_OBJECT (device), "gsm-modem");
 	if (!modem) {
 			DBusGConnection *bus;
 
@@ -359,19 +378,19 @@
 			g_signal_connect (modem, "signal-quality",
 						   G_CALLBACK (signal_quality_changed),
 						   applet);
 	}
 
 	oper_code = NULL;
 	oper_name = NULL;
 	reg_status = nma_gsm_modem_get_registration_info (modem, &oper_code, &oper_name);
-	msg = g_strdup_printf (_("You are now connected to the %s GSM network '%s'."),
+	msg = g_strdup_printf (_("You are now connected to the %s GSM network %s%s%s."),
 					   reg_status == MM_GSM_MODEM_REG_STATUS_ROAMING ? _("roaming") : _("home"),
-					   oper_name);
+					   *oper_name?"'":"",oper_name, *oper_name?"'":"");
 
 	applet_do_notify (applet, NOTIFY_URGENCY_LOW,
 				   _("Connection Established"), msg,
 				   "nm-device-wwan", NULL, NULL, NULL, NULL);
 
 	g_free (oper_code);
 	g_free (oper_name);
 	g_free (msg);
@@ -405,42 +424,53 @@
 		break;
 	case NM_DEVICE_STATE_ACTIVATED:
 		modem = (NMAGsmModem *) g_object_get_data (G_OBJECT (device), "gsm-modem");
 		if (modem) {
 			char *oper_code;
 			char *oper_name;
 			guint32 reg_status;
 			guint32 quality;
+			guint32 network_mode;
+			
 
+			applet->modem = modem;
+			
 			quality = nma_gsm_modem_get_signal_quality (modem);
 			quality = CLAMP (quality, 0, 100);
+			network_mode = nma_gsm_modem_get_network_mode (modem);
+			applet->modem_network_mode = network_mode;
+
+			g_debug("quality = %d, net = %d", quality, network_mode);
+
+			if (quality > 80) {
+					pixbuf = applet->wireless_100_icon;
 
-			if (quality > 80)
-				pixbuf = applet->wireless_100_icon;
-			else if (quality > 55)
-				pixbuf = applet->wireless_75_icon;
-			else if (quality > 30)
-				pixbuf = applet->wireless_50_icon;
-			else if (quality > 5)
-				pixbuf = applet->wireless_25_icon;
-			else
+			} else if (quality > 55) {
+					pixbuf = applet->wireless_75_icon;
+			} else if (quality > 30) {
+					pixbuf = applet->wireless_50_icon;
+			} else if (quality > 5) {
+					pixbuf = applet->wireless_25_icon;
+			} else
 				pixbuf = applet->wireless_00_icon;
 
 			reg_status = nma_gsm_modem_get_registration_info (modem, &oper_code, &oper_name);
-			*tip = g_strdup_printf (_("%s GSM connection '%s' (%d%%)"),
+			*tip = g_strdup_printf (_("%s GSM connection %s%s%s (%d%%)"),
 							    reg_status == MM_GSM_MODEM_REG_STATUS_ROAMING ? _("Roaming") : _("Home"),
-			                        oper_name, quality);
+							    *oper_name ? _("'") : _(""), oper_name, *oper_name ? _("'") : _(""), quality);
 
 			g_free (oper_name);
 			g_free (oper_code);
 
 		} else {
 			pixbuf = applet->wireless_00_icon;
 			*tip = g_strdup_printf (_("GSM connection"));
+			applet->modem = NULL;
+			applet->modem_network_mode = 0;
 		}
 
 		break;
 	default:
 		break;
 	}
 
 	return pixbuf;
diff -rU8 -N applet.svn/src/applet-dialogs.c NetworkManagerApplet_MBM/src/applet-dialogs.c
--- applet.svn/src/applet-dialogs.c	2008-11-24 21:36:03.000000000 +0100
+++ NetworkManagerApplet_MBM/src/applet-dialogs.c	2008-11-24 21:39:32.000000000 +0100
@@ -297,19 +297,24 @@
 	speed = 0;
 	if (NM_IS_DEVICE_ETHERNET (device)) {
 		/* Wired speed in Mb/s */
 		speed = nm_device_ethernet_get_speed (NM_DEVICE_ETHERNET (device));
 	} else if (NM_IS_DEVICE_WIFI (device)) {
 		/* Wireless speed in Kb/s */
 		speed = nm_device_wifi_get_bitrate (NM_DEVICE_WIFI (device));
 		speed /= 1000;
+	} else //if (NM_IS_DEVICE_MBM (device))
+	{
+		speed = 7200;
 	}
 
-	if (speed)
+	if (speed == 7200)
+		str = g_strdup_printf (_("%u/%u kb/s"), 7200, 2000);
+	else if (speed)
 		str = g_strdup_printf (_("%u Mb/s"), speed);
 	else
 		str = NULL;
 
 	gtk_table_attach_defaults (table,
 							   create_info_label (_("Speed:")),
 							   0, 1, row, row + 1);
 	gtk_table_attach_defaults (table,
diff -rU8 -N applet.svn/src/applet.h NetworkManagerApplet_MBM/src/applet.h
--- applet.svn/src/applet.h	2008-11-24 21:36:03.000000000 +0100
+++ NetworkManagerApplet_MBM/src/applet.h	2008-11-24 21:39:32.000000000 +0100
@@ -62,17 +62,18 @@
 {
 	GObjectClass	parent_class;
 } NMAppletClass; 
 
 #define APPLET_PREFS_PATH "/apps/nm-applet"
 
 #define ICON_LAYER_LINK 0
 #define ICON_LAYER_VPN 1
-#define ICON_LAYER_MAX ICON_LAYER_VPN
+#define	ICON_LAYER_TECH 2
+#define ICON_LAYER_MAX ICON_LAYER_TECH
 
 typedef struct NMADeviceClass NMADeviceClass;
 
 /*
  * Applet instance data
  *
  */
 typedef struct
@@ -99,16 +100,22 @@
 	guint			update_icon_id;
 	gboolean		icons_loaded;
 
 	GtkIconTheme *	icon_theme;
 	GdkPixbuf *		no_connection_icon;
 	GdkPixbuf *		wired_icon;
 	GdkPixbuf *		adhoc_icon;
 	GdkPixbuf *		wwan_icon;
+	
+	GdkPixbuf *		tech_gprs_icon;
+	GdkPixbuf *		tech_edge_icon;
+	GdkPixbuf *		tech_umts_icon;
+	GdkPixbuf *		tech_hsdpa_icon;
+	
 	GdkPixbuf *		wireless_00_icon;
 	GdkPixbuf *		wireless_25_icon;
 	GdkPixbuf *		wireless_50_icon;
 	GdkPixbuf *		wireless_75_icon;
 	GdkPixbuf *		wireless_100_icon;
 #define NUM_CONNECTING_STAGES 3
 #define NUM_CONNECTING_FRAMES 11
 	GdkPixbuf *		network_connecting_icons[NUM_CONNECTING_STAGES][NUM_CONNECTING_FRAMES];
@@ -135,16 +142,19 @@
 	guint           networking_enabled_toggled_id;
 	GtkWidget *		wifi_enabled_item;
 	guint           wifi_enabled_toggled_id;
 	GtkWidget *		info_menu_item;
 	GtkWidget *		connections_menu_item;
 
 	GladeXML *		info_dialog_xml;
 	NotifyNotification*	notification;
+
+	void*	modem;
+	guint32		modem_network_mode;
 } NMApplet;
 
 
 struct NMADeviceClass {
 	NMConnection * (*new_auto_connection)  (NMDevice *device,
 	                                        NMApplet *applet,
 	                                        gpointer user_data);
 
@@ -210,9 +220,22 @@
                        const char *action1_label,
                        NotifyActionCallback action1_cb,
                        gpointer action1_user_data);
 
 NMConnection * applet_find_active_connection_for_device (NMDevice *device,
                                                          NMApplet *applet,
                                                          NMActiveConnection **out_active);
 
+
+typedef enum {
+  MM_MODEM_GSM_NETWORK_MODE_ANY       = 0,
+  MM_MODEM_GSM_NETWORK_MODE_GPRS      = 1,
+  MM_MODEM_GSM_NETWORK_MODE_EDGE      = 2,
+  MM_MODEM_GSM_NETWORK_MODE_3G        = 3,
+  MM_MODEM_GSM_NETWORK_MODE_HSDPA     = 4,
+  MM_MODEM_GSM_NETWORK_MODE_PREFER_2G = 5,
+  MM_MODEM_GSM_NETWORK_MODE_PREFER_3G = 6,
+
+    MM_MODEM_GSM_NETWORK_MODE_LAST = MM_MODEM_GSM_NETWORK_MODE_PREFER_3G
+} MMModemGsmNetworkMode;
+
 #endif
diff -rU8 -N applet.svn/src/connection-editor/ce-mobile-wizard.glade NetworkManagerApplet_MBM/src/connection-editor/ce-mobile-wizard.glade
--- applet.svn/src/connection-editor/ce-mobile-wizard.glade	2008-11-24 21:36:02.000000000 +0100
+++ NetworkManagerApplet_MBM/src/connection-editor/ce-mobile-wizard.glade	2008-11-24 21:39:32.000000000 +0100
@@ -98,17 +98,17 @@
 	      <property name="homogeneous">False</property>
 	      <property name="spacing">12</property>
 
 	      <child>
 		<widget class="GtkLabel" id="label1">
 		  <property name="visible">True</property>
 		  <property name="label" translatable="yes">&lt;span weight=&quot;bold&quot; size=&quot;larger&quot;&gt;Choose a Mobile Broadband Connection&lt;/span&gt;
 
-Select or connect the mobile broadband device you wish to use for the new connection.  If the device is not availabe, you may select a generic connection type.</property>
+Select or connect the mobile broadband device you wish to use for the new connection.  If the device is not available, you may select a generic connection type.</property>
 		  <property name="use_underline">False</property>
 		  <property name="use_markup">True</property>
 		  <property name="justify">GTK_JUSTIFY_LEFT</property>
 		  <property name="wrap">True</property>
 		  <property name="selectable">False</property>
 		  <property name="xalign">0</property>
 		  <property name="yalign">0.5</property>
 		  <property name="xpad">0</property>
diff -rU8 -N applet.svn/src/connection-editor/ce-page-ip4.glade NetworkManagerApplet_MBM/src/connection-editor/ce-page-ip4.glade
--- applet.svn/src/connection-editor/ce-page-ip4.glade	2008-11-24 21:36:02.000000000 +0100
+++ NetworkManagerApplet_MBM/src/connection-editor/ce-page-ip4.glade	2008-11-24 21:39:33.000000000 +0100
@@ -375,27 +375,27 @@
           <widget class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="layout_style">GTK_BUTTONBOX_END</property>
             <child>
               <widget class="GtkButton" id="cancel_button">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes">gtk-cancel</property>
+                <property name="label">gtk-cancel</property>
                 <property name="use_stock">True</property>
                 <property name="response_id">-6</property>
               </widget>
             </child>
             <child>
               <widget class="GtkButton" id="ok_button">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes">gtk-ok</property>
+                <property name="label">gtk-ok</property>
                 <property name="use_stock">True</property>
                 <property name="response_id">-5</property>
               </widget>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
           </widget>
diff -rU8 -N applet.svn/src/connection-editor/ce-page-mobile.glade NetworkManagerApplet_MBM/src/connection-editor/ce-page-mobile.glade
--- applet.svn/src/connection-editor/ce-page-mobile.glade	2008-11-24 21:36:02.000000000 +0100
+++ NetworkManagerApplet_MBM/src/connection-editor/ce-page-mobile.glade	2008-11-24 21:39:33.000000000 +0100
@@ -1,631 +1,385 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <glade-interface>
-
-<widget class="GtkWindow" id="mobile_page_widget">
-  <property name="title" translatable="yes">window1</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-
-  <child>
-    <widget class="GtkVBox" id="MobilePage">
-      <property name="border_width">6</property>
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">6</property>
-
-      <child>
-	<widget class="GtkVBox" id="mobile_basic_vbox">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="mobile_basic_label">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;Basic&lt;/b&gt;</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkAlignment" id="alignment1">
-	      <property name="visible">True</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xscale">1</property>
-	      <property name="yscale">1</property>
-	      <property name="top_padding">0</property>
-	      <property name="bottom_padding">0</property>
-	      <property name="left_padding">12</property>
-	      <property name="right_padding">0</property>
-
-	      <child>
-		<widget class="GtkTable" id="table1">
-		  <property name="visible">True</property>
-		  <property name="n_rows">3</property>
-		  <property name="n_columns">2</property>
-		  <property name="homogeneous">False</property>
-		  <property name="row_spacing">6</property>
-		  <property name="column_spacing">6</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label28">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Number:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label24">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Username:</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="mnemonic_widget">mobile_username</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label25">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Password:</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="mnemonic_widget">mobile_password</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">2</property>
-		      <property name="bottom_attach">3</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="mobile_number">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="mobile_username">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="mobile_password">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">False</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">2</property>
-		      <property name="bottom_attach">3</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="mobile_advanced_vbox">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="mobile_advanced_label">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;Advanced&lt;/b&gt;</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkAlignment" id="alignment2">
-	      <property name="visible">True</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xscale">1</property>
-	      <property name="yscale">1</property>
-	      <property name="top_padding">0</property>
-	      <property name="bottom_padding">0</property>
-	      <property name="left_padding">12</property>
-	      <property name="right_padding">0</property>
-
-	      <child>
-		<widget class="GtkTable" id="table2">
-		  <property name="visible">True</property>
-		  <property name="n_rows">6</property>
-		  <property name="n_columns">2</property>
-		  <property name="homogeneous">False</property>
-		  <property name="row_spacing">6</property>
-		  <property name="column_spacing">6</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label29">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">APN:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="mobile_apn">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label30">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Network:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="mobile_network_id">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="type_label">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Type:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">2</property>
-		      <property name="bottom_attach">3</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkComboBox" id="mobile_network_type">
-		      <property name="visible">True</property>
-		      <property name="items" translatable="yes">Any
+  <widget class="GtkWindow" id="mobile_page_widget">
+    <property name="title" translatable="yes">window1</property>
+    <child>
+      <widget class="GtkVBox" id="MobilePage">
+        <property name="visible">True</property>
+        <property name="border_width">6</property>
+        <property name="spacing">6</property>
+        <child>
+          <widget class="GtkVBox" id="mobile_basic_vbox">
+            <property name="visible">True</property>
+            <property name="spacing">6</property>
+            <child>
+              <widget class="GtkLabel" id="mobile_basic_label">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;Basic&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkAlignment" id="alignment1">
+                <property name="visible">True</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <widget class="GtkTable" id="table1">
+                    <property name="visible">True</property>
+                    <property name="n_rows">3</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <widget class="GtkLabel" id="label28">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Number:</property>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label24">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Username:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">mobile_username</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label25">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Password:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">mobile_password</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="mobile_number">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="mobile_username">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="mobile_password">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="visibility">False</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+        </child>
+        <child>
+          <widget class="GtkVBox" id="mobile_advanced_vbox">
+            <property name="visible">True</property>
+            <property name="spacing">6</property>
+            <child>
+              <widget class="GtkLabel" id="mobile_advanced_label">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;Advanced&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkAlignment" id="alignment2">
+                <property name="visible">True</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <widget class="GtkTable" id="table2">
+                    <property name="visible">True</property>
+                    <property name="n_rows">7</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label29">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">APN:</property>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="mobile_apn">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label30">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Network:</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="mobile_network_id">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="type_label">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Type:</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkComboBox" id="mobile_network_type">
+                        <property name="visible">True</property>
+                        <property name="items" translatable="yes">Any
 3G (UMTS/HSPA)
 2G (GPRS/EDGE)
 Prefer 3G (UMTS/HSPA)
 Prefer 2G (GPRS/EDGE)</property>
-		      <property name="add_tearoffs">False</property>
-		      <property name="focus_on_click">True</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">2</property>
-		      <property name="bottom_attach">3</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="band_label">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Band:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">3</property>
-		      <property name="bottom_attach">4</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkComboBox" id="mobile_band">
-		      <property name="visible">True</property>
-		      <property name="add_tearoffs">False</property>
-		      <property name="focus_on_click">True</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">3</property>
-		      <property name="bottom_attach">4</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label33">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">PIN:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">4</property>
-		      <property name="bottom_attach">5</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="mobile_pin">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">False</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">4</property>
-		      <property name="bottom_attach">5</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label34">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">PUK:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">5</property>
-		      <property name="bottom_attach">6</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="mobile_puk">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">False</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">5</property>
-		      <property name="bottom_attach">6</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHBox" id="hbox1">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">0</property>
-
-	  <child>
-	    <widget class="GtkCheckButton" id="mobile_show_passwords">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Show passwords</property>
-	      <property name="use_underline">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="active">False</property>
-	      <property name="inconsistent">False</property>
-	      <property name="draw_indicator">True</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	      <property name="pack_type">GTK_PACK_END</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="band_label">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Band:</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">3</property>
+                        <property name="bottom_attach">4</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkComboBox" id="mobile_band">
+                        <property name="visible">True</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">3</property>
+                        <property name="bottom_attach">4</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label33">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">PIN:</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">4</property>
+                        <property name="bottom_attach">5</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="mobile_pin">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="visibility">False</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">4</property>
+                        <property name="bottom_attach">5</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label34">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">PUK:</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">5</property>
+                        <property name="bottom_attach">6</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="mobile_puk">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="visibility">False</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">5</property>
+                        <property name="bottom_attach">6</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHBox" id="hbox1">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkAlignment" id="alignment3">
+                <property name="visible">True</property>
+                <child>
+                  <widget class="GtkLabel" id="label2">
+                    <property name="visible">True</property>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="mobile_pin_button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="label" translatable="yes">PIN functions</property>
+                <property name="response_id">0</property>
+              </widget>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkCheckButton" id="mobile_show_passwords">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="label" translatable="yes">Show passwords</property>
+                <property name="use_underline">True</property>
+                <property name="response_id">0</property>
+                <property name="draw_indicator">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="pack_type">GTK_PACK_END</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
diff -rU8 -N applet.svn/src/connection-editor/ce-page-pin.glade NetworkManagerApplet_MBM/src/connection-editor/ce-page-pin.glade
--- applet.svn/src/connection-editor/ce-page-pin.glade	1970-01-01 01:00:00.000000000 +0100
+++ NetworkManagerApplet_MBM/src/connection-editor/ce-page-pin.glade	2008-11-24 21:39:32.000000000 +0100
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--Generated with glade3 3.4.5 on Wed Nov 12 23:06:59 2008 -->
+<glade-interface>
+  <widget class="GtkDialog" id="dialog1">
+    <property name="border_width">5</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
+        <property name="visible">True</property>
+        <property name="spacing">2</property>
+        <child>
+          <widget class="GtkTable" id="table1">
+            <property name="visible">True</property>
+            <property name="n_rows">4</property>
+            <property name="n_columns">2</property>
+            <child>
+              <widget class="GtkEntry" id="mobile_pin_status">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="editable">False</property>
+                <property name="has_frame">False</property>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">3</property>
+                <property name="bottom_attach">4</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label4">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Status</property>
+              </widget>
+              <packing>
+                <property name="top_attach">3</property>
+                <property name="bottom_attach">4</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkEntry" id="mobile_pin_puk">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkEntry" id="mobile_pin_new_pin">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkEntry" id="mobile_pin_pin">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label3">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">PUK</property>
+              </widget>
+              <packing>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">NEW PIN</property>
+              </widget>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">PIN</property>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkButton" id="button2">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="label" translatable="yes">Cancel</property>
+                <property name="response_id">0</property>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkButton" id="mobile_change_pin">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="label" translatable="yes">Change PIN</property>
+                <property name="response_id">1</property>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="mobile_enable_pin">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="label" translatable="yes">Enable PIN</property>
+                <property name="response_id">2</property>
+              </widget>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="mobile_disable_pin">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="label" translatable="yes">Disable PIN</property>
+                <property name="response_id">3</property>
+              </widget>
+              <packing>
+                <property name="position">3</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>
diff -rU8 -N applet.svn/src/connection-editor/Makefile.am NetworkManagerApplet_MBM/src/connection-editor/Makefile.am
--- applet.svn/src/connection-editor/Makefile.am	2008-11-24 21:36:02.000000000 +0100
+++ NetworkManagerApplet_MBM/src/connection-editor/Makefile.am	2008-11-24 21:39:32.000000000 +0100
@@ -73,16 +73,17 @@
 	ce-page-wired.glade \
 	ce-page-wireless.glade \
 	ce-page-wireless-security.glade \
 	ce-page-ip4.glade \
 	ce-page-dsl.glade \
 	ce-page-mobile.glade \
 	ce-mobile-wizard.glade \
 	ce-page-ppp.glade \
-	ce-vpn-wizard.glade
+	ce-vpn-wizard.glade \
+	ce-page-pin.glade
 
 BUILT_SOURCES = nm-connection-editor-service-glue.h
 
 CLEANFILES = *.bak *.gladep $(BUILT_SOURCES)
 
 EXTRA_DIST = $(glade_DATA) nm-connection-editor-service.xml
 
diff -rU8 -N applet.svn/src/connection-editor/nm-connection-editor.c NetworkManagerApplet_MBM/src/connection-editor/nm-connection-editor.c
--- applet.svn/src/connection-editor/nm-connection-editor.c	2008-11-24 21:36:02.000000000 +0100
+++ NetworkManagerApplet_MBM/src/connection-editor/nm-connection-editor.c	2008-11-24 21:39:33.000000000 +0100
@@ -1,28 +1,31 @@
-/* -*- Mode: C; tab-width: 5; indent-tabs-mode: t; c-basic-offset: 5 -*- */
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
 /* NetworkManager Connection editor -- Connection editor for NetworkManager
  *
  * Rodrigo Moya <rodrigo@gnome-db.org>
+ * Dan Williams <dcbw@redhat.com>
+ * Tambet Ingo <tambet@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License along
  * with this program; if not, write to the Free Software Foundation, Inc.,
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  *
- * (C) Copyright 2004-2005 Red Hat, Inc.
+ * (C) Copyright 2007 - 2008 Red Hat, Inc.
+ * (C) Copyright 2007 - 2008 Novell, Inc.
  */
 
 #include <string.h>
 #include <sys/types.h>
 #include <unistd.h>
 
 #include <gtk/gtk.h>
 #include <gtk/gtkcombobox.h>
diff -rU8 -N applet.svn/src/connection-editor/page-mobile.c NetworkManagerApplet_MBM/src/connection-editor/page-mobile.c
--- applet.svn/src/connection-editor/page-mobile.c	2008-11-25 19:19:00.000000000 +0100
+++ NetworkManagerApplet_MBM/src/connection-editor/page-mobile.c	2008-11-24 21:39:33.000000000 +0100
@@ -16,48 +16,79 @@
  * You should have received a copy of the GNU General Public License along
  * with this program; if not, write to the Free Software Foundation, Inc.,
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  *
  * (C) Copyright 2008 Red Hat, Inc.
  */
 
 #include <string.h>
+#include <unistd.h>
 
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
 
 #include <nm-setting-connection.h>
 #include <nm-setting-gsm.h>
 #include <nm-setting-cdma.h>
 
+#include <dbus/dbus.h>
+#include <dbus/dbus-glib.h>
+#include <dbus/dbus-glib-lowlevel.h>
+#include <string.h>
+#include <nm-utils.h>
+#include "../applet.h"
+#include "../marshallers/nma-marshal.h"
+#include "../applet-dbus-manager.h"
+
 #include "page-mobile.h"
 #include "nm-connection-editor.h"
 #include "gconf-helpers.h"
 
+
 G_DEFINE_TYPE (CEPageMobile, ce_page_mobile, CE_TYPE_PAGE)
 
 #define CE_PAGE_MOBILE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CE_TYPE_PAGE_MOBILE, CEPageMobilePrivate))
 
+
+#define MM_DBUS_SERVICE              "org.freedesktop.ModemManager"
+#define MM_DBUS_PATH                 "/org/freedesktop/ModemManager"
+#define MM_DBUS_INTERFACE            "org.freedesktop.ModemManager"
+#define MM_DBUS_INTERFACE_MODEM      "org.freedesktop.ModemManager.Modem"
+
+#define MM_DBUS_INTERFACE_MODEM_GSM_CARD    "org.freedesktop.ModemManager.Modem.Gsm.Card"
+#define MM_DBUS_INTERFACE_MODEM_GSM_NETWORK "org.freedesktop.ModemManager.Modem.Gsm.Network"
+
+#define NM_DBUS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
+										   NM_TYPE_DBUS_MANAGER, \
+										   NMDBusManagerPrivate))
+
+#define MM_MODEM_ERROR "org.freedesktop.ModemManager.Modem.Gsm"
+#define MM_MODEM_ERROR_SIM_PUK MM_MODEM_ERROR ".SimPukRequired"
+#define MM_MODEM_ERROR_SIM_WRONG MM_MODEM_ERROR ".SimWrong"
+#define MM_MODEM_ERROR_SIM_PIN MM_MODEM_ERROR ".SimPinRequired"
+
+
 typedef struct {
 	NMSetting *setting;
 
 	/* Common to GSM and CDMA */
 	GtkEntry *number;
 	GtkEntry *username;
 	GtkEntry *password;
 
 	/* GSM only */
 	GtkEntry *apn;
 	GtkEntry *network_id;
 	GtkComboBox *network_type;
 	GtkComboBox *band;
 	GtkEntry *pin;
 	GtkEntry *puk;
 
+
 	gboolean disposed;
 } CEPageMobilePrivate;
 
 #define NET_TYPE_ANY         0
 #define NET_TYPE_3G          1
 #define NET_TYPE_2G          2
 #define NET_TYPE_PREFER_3G   3
 #define NET_TYPE_PREFER_2G   4
@@ -76,16 +107,17 @@
 
 	priv->apn = GTK_ENTRY (glade_xml_get_widget (xml, "mobile_apn"));
 	priv->network_id = GTK_ENTRY (glade_xml_get_widget (xml, "mobile_network_id"));
 	priv->network_type = GTK_COMBO_BOX (glade_xml_get_widget (xml, "mobile_network_type"));
 	priv->band = GTK_COMBO_BOX (glade_xml_get_widget (xml, "mobile_band"));
 
 	priv->pin = GTK_ENTRY (glade_xml_get_widget (xml, "mobile_pin"));
 	priv->puk = GTK_ENTRY (glade_xml_get_widget (xml, "mobile_puk"));
+
 }
 
 static GHashTable *
 get_secrets (NMConnection *connection, const char *setting_name)
 {
 	GError *error = NULL;
 	GHashTable *secrets;
 
@@ -229,16 +261,391 @@
 
 	active = gtk_toggle_button_get_active (button);
 
 	gtk_entry_set_visibility (priv->password, active);
 	gtk_entry_set_visibility (priv->pin, active);
 	gtk_entry_set_visibility (priv->puk, active);
 }
 
+// --------------------------------------------------------------------------------------------------
+typedef enum {
+	NOTHING,
+	CHANGE_PIN,
+	ENABLE_PIN,
+	DISABLE_PIN
+} EPIN_FUNC;
+
+typedef struct {
+	GtkWidget *dialog;
+	GladeXML *xml;
+	DBusGConnection *bus;
+	DBusGProxy *proxy;
+	char *path;
+
+	EPIN_FUNC pin_func;
+	
+	GtkEntry *pin;
+	GtkEntry *new_pin;
+	GtkEntry *puk;
+	GtkEntry *status;
+
+	char *pin_str;
+	char *new_pin_str;
+	char *puk_str;
+
+	int bUsePuk;
+	
+} CEPagePinPrivate;
+
+static void do_change_pin (CEPagePinPrivate* pin_priv);
+
+static void
+change_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer data)
+{
+	GError *error = NULL;
+	GtkWidget *dialog;
+	CEPagePinPrivate *pin_priv = (CEPagePinPrivate *) data;
+	char response[100];
+	
+	if (!dbus_g_proxy_end_call (proxy, call_id, &error, G_TYPE_INVALID)) {
+		switch (pin_priv->pin_func) {
+			case CHANGE_PIN: strcpy (response, "Wrong PIN! Couldn't change pin."); break;
+			case ENABLE_PIN: strcpy (response, "Wrong PIN! Couldn't enable pin."); break;
+			case DISABLE_PIN: strcpy (response, "Wrong PIN! Couldn't disable pin."); break;
+			case NOTHING:
+			default:
+				strcpy(response, "Unknown function");
+		}
+		if (dbus_g_error_has_name (error, MM_MODEM_ERROR_SIM_PIN)) {
+			g_debug("MM_MODEM_ERROR_SIM_PIN");
+		} else if (dbus_g_error_has_name (error, MM_MODEM_ERROR_SIM_PUK)) {
+			strcat (response, " PUK code is needed!");
+			g_debug("MM_MODEM_ERROR_SIM_PUK");
+			if (!pin_priv->bUsePuk) {
+				pin_priv->bUsePuk = 1;
+				g_warning ("%s", error->message);
+				g_error_free (error);
+				if (strlen(pin_priv->puk_str) != 8) {
+					strcpy (response, "PUK code is needed. \nPlease, provide the correct 8 digit PUK code.");
+				} else {
+				do_change_pin (pin_priv);
+				return;
+			}
+			}
+		} else if (dbus_g_error_has_name (error, MM_MODEM_ERROR_SIM_WRONG)) {
+			g_debug("MM_MODEM_ERROR_SIM_WRONG");
+		}
+		dialog = gtk_message_dialog_new (GTK_WINDOW (pin_priv->dialog), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, response);
+		gtk_window_set_title (GTK_WINDOW (dialog), "Error");
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+		g_warning ("%s", error->message);
+		g_error_free (error);
+
+	} else {
+		switch (pin_priv->pin_func) {
+			case CHANGE_PIN: strcpy (response, "Pin changed!"); break;
+			case ENABLE_PIN: strcpy (response, "SIM lock enabled! Active after turning of device"); break;
+			case DISABLE_PIN: strcpy (response, "SIM lock removed!"); break;
+			case NOTHING:
+			default:
+				strcpy(response, "Unknown function");
+		}
+		dialog = gtk_message_dialog_new (GTK_WINDOW (pin_priv->dialog), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, response);
+		gtk_window_set_title (GTK_WINDOW (dialog), "Information");
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+
+	}
+	g_free(pin_priv->path);
+	g_free(pin_priv->pin_str);
+	g_free(pin_priv->new_pin_str);
+	g_free(pin_priv->puk_str);
+	gtk_widget_destroy(pin_priv->dialog);
+}
+
+static void do_change_pin (CEPagePinPrivate* pin_priv)
+{
+	DBusGProxy *gsm_proxy;
+
+	g_debug("do_change_pin");
+	
+	gsm_proxy = dbus_g_proxy_new_for_name (pin_priv->bus,
+										   MM_DBUS_SERVICE, pin_priv->path, MM_DBUS_INTERFACE_MODEM_GSM_CARD);
+
+	g_debug("after gsm_proxy");
+	
+
+	g_debug("pin = %s, new_pin = %s, puk = %s", pin_priv->pin_str, pin_priv->new_pin_str, pin_priv->puk_str);
+
+	if (pin_priv->bUsePuk) {
+		g_debug("SendPuk");
+		dbus_g_proxy_begin_call (gsm_proxy, "SendPuk", change_done,
+								 pin_priv, NULL,
+								 G_TYPE_STRING, pin_priv->puk_str,
+								 G_TYPE_STRING, pin_priv->new_pin_str,
+								 G_TYPE_INVALID);
+
+		gtk_entry_set_text(pin_priv->status, "Started PIN change using PUK...");
+	} else
+	{
+		g_debug("ChangePin");	
+		dbus_g_proxy_begin_call (gsm_proxy, "ChangePin", change_done,
+								 pin_priv, NULL,
+								 G_TYPE_STRING, pin_priv->pin_str,
+								 G_TYPE_STRING, pin_priv->new_pin_str,
+								 G_TYPE_INVALID);
+		gtk_entry_set_text(pin_priv->status, "Started PIN change...");
+	}
+}
+
+static void do_enable_pin (CEPagePinPrivate* pin_priv, gboolean enabled)
+{
+	DBusGProxy *gsm_proxy;
+
+	g_debug("do_enable_pin");
+
+	gsm_proxy = dbus_g_proxy_new_for_name (pin_priv->bus,
+										   MM_DBUS_SERVICE, pin_priv->path, MM_DBUS_INTERFACE_MODEM_GSM_CARD);
+
+	g_debug("after gsm_proxy");
+
+
+	g_debug("pin = %s, new_pin = %s", pin_priv->pin_str, pin_priv->new_pin_str);
+
+	dbus_g_proxy_begin_call (gsm_proxy, "EnablePin", change_done,
+							 pin_priv, NULL,
+							 G_TYPE_STRING, pin_priv->pin_str,
+							 G_TYPE_BOOLEAN, enabled,
+							 G_TYPE_INVALID);
+	gtk_entry_set_text(pin_priv->status, "Started SIM lock change");
+}
+
+static void
+send_pin_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer data)
+{
+	GError *error = NULL;
+	CEPagePinPrivate *pin_priv = (CEPagePinPrivate *) data;
+	if (!dbus_g_proxy_end_call (proxy, call_id, &error, G_TYPE_INVALID)) {
+
+		if (!strcmp(error->message, "Incorrect password")) {
+			g_debug("wrong pin!!!");
+		}
+		if (dbus_g_error_has_name (error, MM_MODEM_ERROR_SIM_PUK)) {
+			pin_priv->bUsePuk = 1;
+		}
+			
+		g_warning ("%s", error->message);
+		g_error_free (error);
+	}
+
+	if (pin_priv->bUsePuk && (!CHANGE_PIN || !strlen(pin_priv->puk_str))) {
+		GtkWidget *dialog;
+		dialog = gtk_message_dialog_new (GTK_WINDOW (pin_priv->dialog), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "You must change PIN using your PUK code!");
+		gtk_window_set_title (GTK_WINDOW (dialog), "Error");
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+		g_free(pin_priv->path);
+		g_free(pin_priv->pin_str);
+		g_free(pin_priv->new_pin_str);
+		g_free(pin_priv->puk_str);
+		gtk_widget_destroy(pin_priv->dialog);
+		return;
+	}
+	switch (pin_priv->pin_func) {
+		case CHANGE_PIN:	do_change_pin(pin_priv); break;
+		case ENABLE_PIN:	do_enable_pin(pin_priv, TRUE); break;
+		case DISABLE_PIN:	do_enable_pin(pin_priv, FALSE); break;
+		case NOTHING: g_debug("NOTHING!");
+	}
+}
+
+static void do_send_pin (CEPagePinPrivate* pin_priv)
+{
+	DBusGProxy *gsm_proxy;
+
+	g_debug("do_send_pin");
+
+	gsm_proxy = dbus_g_proxy_new_for_name (pin_priv->bus,
+										   MM_DBUS_SERVICE, pin_priv->path, MM_DBUS_INTERFACE_MODEM_GSM_CARD);
+
+
+	g_debug("pin = %s, new_pin = %s", pin_priv->pin_str, pin_priv->new_pin_str);
+
+	dbus_g_proxy_begin_call (gsm_proxy, "SendPin", send_pin_done,
+							 pin_priv, NULL,
+							 G_TYPE_STRING, pin_priv->pin_str,
+							 G_TYPE_INVALID);
+}
+
+
+static void
+   enable_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer data)
+{
+	GError *error = NULL;
+	GtkWidget *dialog;
+	CEPagePinPrivate *pin_priv = (CEPagePinPrivate *) data;
+	
+	if (!dbus_g_proxy_end_call (proxy, call_id, &error, G_TYPE_INVALID)) {
+		g_warning ("%s", error->message);
+		g_error_free (error);
+		dialog = gtk_message_dialog_new (GTK_WINDOW (pin_priv->dialog), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Couldn't enable device!");
+		gtk_window_set_title (GTK_WINDOW (dialog), "Error");
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+		g_free(pin_priv->path);
+		g_free(pin_priv->pin_str);
+		g_free(pin_priv->new_pin_str);
+		g_free(pin_priv->puk_str);
+		gtk_widget_destroy(pin_priv->dialog);
+		return;
+	} else {
+		g_debug("before pin_func");
+		gtk_entry_set_text(pin_priv->status, "Device enabled....");
+		do_send_pin(pin_priv);
+	}
+}
+
+static void
+   enumerate_devices_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer data)
+{
+//	NMModemManager *manager = NM_MODEM_MANAGER (data);
+	GPtrArray *modems;
+	GError *error = NULL;
+	CEPagePinPrivate *pin_priv = (CEPagePinPrivate *) data;
+	
+	if (!dbus_g_proxy_end_call (proxy, call_id, &error,
+								dbus_g_type_get_collection ("GPtrArray", DBUS_TYPE_G_OBJECT_PATH), &modems,
+								G_TYPE_INVALID)) {
+		g_debug ("Could not get modem list: %s", error->message);
+		g_error_free (error);
+	} else {
+		int i;
+
+		if (modems->len == 0) {
+			GtkWidget *dialog;
+			g_debug("No modems found");
+			dialog = gtk_message_dialog_new (GTK_WINDOW (pin_priv->dialog), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "No modems found!");
+			gtk_window_set_title (GTK_WINDOW (dialog), "Error");
+			gtk_dialog_run (GTK_DIALOG (dialog));
+			gtk_widget_destroy (dialog);
+			g_free(pin_priv->path);
+			g_free(pin_priv->pin_str);
+			g_free(pin_priv->new_pin_str);
+			g_free(pin_priv->puk_str);
+			gtk_widget_destroy(pin_priv->dialog);
+			return;
+		} else
+		if (modems->len > 1) {
+			GtkWidget *dialog;
+			g_debug("%d modems found", modems->len);
+			dialog = gtk_message_dialog_new (GTK_WINDOW (pin_priv->dialog), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Several modems found! using the first...");
+			gtk_window_set_title (GTK_WINDOW (dialog), "Warning");
+			gtk_dialog_run (GTK_DIALOG (dialog));
+			gtk_widget_destroy (dialog);
+		}
+		
+		for (i = 0; i < modems->len; i++) {
+			DBusGProxy *gsm_proxy;
+			char *path = (char *) g_ptr_array_index (modems, i);
+
+			g_debug("path = %s", path);
+
+			gsm_proxy = dbus_g_proxy_new_for_name (pin_priv->bus,
+											   MM_DBUS_SERVICE, path, MM_DBUS_INTERFACE_MODEM);
+
+			pin_priv->path = g_strdup(path);
+			dbus_g_proxy_begin_call (gsm_proxy, "Enable", enable_done,
+									 pin_priv, NULL,
+									 G_TYPE_BOOLEAN, TRUE,
+									 G_TYPE_INVALID);
+
+			g_debug("after enable");
+			
+//			create_modem (manager, path);
+			g_free (path);
+		}
+
+		g_ptr_array_free (modems, TRUE);
+	}
+}
+
+
+static void
+   enumerate_devices (CEPagePinPrivate *pin_priv)
+{
+	GError *error = NULL;
+
+	/* DBus */
+	pin_priv->bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
+	if (!pin_priv->bus) {
+		g_error ("Couldn't connect to DBus: %s", error->message);
+		g_error_free (error);
+
+		return;
+	}
+	pin_priv->proxy = dbus_g_proxy_new_for_name (pin_priv->bus,
+							   MM_DBUS_SERVICE, MM_DBUS_PATH, MM_DBUS_INTERFACE);
+
+	
+	dbus_g_proxy_begin_call (pin_priv->proxy, "EnumerateDevices", enumerate_devices_done, pin_priv, NULL, G_TYPE_INVALID);
+}
+
+
+static void
+   pin_utils (GtkButton *button, gpointer user_data)
+{
+	static CEPagePinPrivate pin_priv;
+//	CEPageMobilePrivate *priv = CE_PAGE_MOBILE_GET_PRIVATE (user_data);
+
+	gint result;
+	
+	pin_priv.xml = glade_xml_new (GLADEDIR "/ce-page-pin.glade", NULL, NULL);
+	pin_priv.dialog = glade_xml_get_widget (pin_priv.xml, "dialog1");
+
+//	glade_xml_signal_autoconnect (xml);
+
+	pin_priv.pin = GTK_ENTRY (glade_xml_get_widget (pin_priv.xml, "mobile_pin_pin"));
+	pin_priv.new_pin = GTK_ENTRY (glade_xml_get_widget (pin_priv.xml, "mobile_pin_new_pin"));
+	pin_priv.puk = GTK_ENTRY (glade_xml_get_widget (pin_priv.xml, "mobile_pin_puk"));
+	pin_priv.status = GTK_ENTRY (glade_xml_get_widget (pin_priv.xml, "mobile_pin_status"));
+
+	gtk_window_set_title (GTK_WINDOW (pin_priv.dialog), "PIN functions");
+	gtk_widget_show_all(pin_priv.dialog);
+
+	pin_priv.bUsePuk = 0;
+	result = gtk_dialog_run (GTK_DIALOG(pin_priv.dialog));
+
+	pin_priv.pin_str = g_strdup(gtk_entry_get_text(pin_priv.pin));
+	pin_priv.new_pin_str = g_strdup(gtk_entry_get_text(pin_priv.new_pin));
+	pin_priv.puk_str = g_strdup(gtk_entry_get_text(pin_priv.puk));
+
+	
+	switch (result) {
+		case 1: pin_priv.pin_func = CHANGE_PIN; 	gtk_entry_set_text(pin_priv.status, "Changing pin...."); break;
+		case 2: pin_priv.pin_func = ENABLE_PIN; gtk_entry_set_text(pin_priv.status, "Enabling pin....");break;
+		case 3: pin_priv.pin_func = DISABLE_PIN; gtk_entry_set_text(pin_priv.status, "Disabling pin....");break;
+		default:
+			pin_priv.pin_func = NOTHING;
+	}
+	
+	if (!pin_priv.pin_func == NOTHING)
+		enumerate_devices(&pin_priv);
+	else {
+		g_free(pin_priv.path);
+		g_free(pin_priv.pin_str);
+		g_free(pin_priv.new_pin_str);
+		g_free(pin_priv.puk_str);
+		gtk_widget_destroy(pin_priv.dialog);
+	}
+
+	g_debug ("result = %d", result);
+}
+
 CEPageMobile *
 ce_page_mobile_new (NMConnection *connection)
 {
 	CEPageMobile *self;
 	CEPageMobilePrivate *priv;
 	CEPage *parent;
 
 	self = CE_PAGE_MOBILE (g_object_new (CE_TYPE_PAGE_MOBILE, NULL));
@@ -284,16 +691,18 @@
 	g_signal_connect (priv->network_id, "changed", G_CALLBACK (stuff_changed), self);
 	g_signal_connect (priv->network_type, "changed", G_CALLBACK (stuff_changed), self);
 	g_signal_connect (priv->pin, "changed", G_CALLBACK (stuff_changed), self);
 	g_signal_connect (priv->puk, "changed", G_CALLBACK (stuff_changed), self);
 
 	g_signal_connect (glade_xml_get_widget (parent->xml, "mobile_show_passwords"),
 					  "toggled", G_CALLBACK (show_passwords), self);
 
+	g_signal_connect (glade_xml_get_widget (parent->xml, "mobile_pin_button"),
+					  "clicked", G_CALLBACK (pin_utils), self);
 	return self;
 }
 
 static const char *
 nm_entry_get_text (GtkEntry *entry)
 {
 	const char *txt;
 
@@ -324,16 +733,17 @@
 		net_type = NM_GSM_NETWORK_PREFER_GPRS_EDGE;
 		break;
 	case NET_TYPE_ANY:
 	default:
 		net_type = NM_GSM_NETWORK_ANY;
 		break;
 	}
 
+	
 	g_object_set (priv->setting,
 				  NM_SETTING_GSM_NUMBER,   nm_entry_get_text (priv->number),
 				  NM_SETTING_GSM_USERNAME, nm_entry_get_text (priv->username),
 				  NM_SETTING_GSM_PASSWORD, nm_entry_get_text (priv->password),
 				  NM_SETTING_GSM_APN, nm_entry_get_text (priv->apn),
 				  NM_SETTING_GSM_NETWORK_ID, nm_entry_get_text (priv->network_id),
 				  NM_SETTING_GSM_NETWORK_TYPE, net_type,
 				  NM_SETTING_GSM_PIN, nm_entry_get_text (priv->pin),
diff -rU8 -N applet.svn/src/connection-editor/.svn/all-wcprops NetworkManagerApplet_MBM/src/connection-editor/.svn/all-wcprops
diff -rU8 -N applet.svn/src/connection-editor/.svn/entries NetworkManagerApplet_MBM/src/connection-editor/.svn/entries
diff -rU8 -N applet.svn/src/connection-editor/.svn/format NetworkManagerApplet_MBM/src/connection-editor/.svn/format
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ce-mobile-wizard.glade.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ce-mobile-wizard.glade.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ce-page.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ce-page.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ce-page-dsl.glade.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ce-page-dsl.glade.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ce-page.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ce-page.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ce-page-ip4.glade.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ce-page-ip4.glade.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ce-page-mobile.glade.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ce-page-mobile.glade.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ce-page-ppp.glade.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ce-page-ppp.glade.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ce-page-wired.glade.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ce-page-wired.glade.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ce-page-wireless.glade.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ce-page-wireless.glade.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ce-page-wireless-security.glade.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ce-page-wireless-security.glade.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ce-vpn-wizard.glade.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ce-vpn-wizard.glade.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ip4-routes-dialog.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ip4-routes-dialog.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/ip4-routes-dialog.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/ip4-routes-dialog.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/main.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/main.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/Makefile.am.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/Makefile.am.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/mobile-wizard.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/mobile-wizard.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/mobile-wizard.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/mobile-wizard.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/nm-connection-editor.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/nm-connection-editor.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/nm-connection-editor.glade.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/nm-connection-editor.glade.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/nm-connection-editor.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/nm-connection-editor.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/nm-connection-editor-service.xml.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/nm-connection-editor-service.xml.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/nm-connection-list.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/nm-connection-list.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/nm-connection-list.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/nm-connection-list.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-dsl.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-dsl.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-dsl.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-dsl.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-ip4.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-ip4.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-ip4.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-ip4.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-mobile.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-mobile.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-mobile.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-mobile.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-ppp.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-ppp.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-ppp.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-ppp.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-vpn.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-vpn.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-vpn.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-vpn.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-wired.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-wired.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-wired.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-wired.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-wired-security.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-wired-security.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-wired-security.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-wired-security.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-wireless.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-wireless.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-wireless.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-wireless.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-wireless-security.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-wireless-security.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/page-wireless-security.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/page-wireless-security.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/polkit-06-helpers.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/polkit-06-helpers.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/polkit-06-helpers.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/polkit-06-helpers.h.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/vpn-helpers.c.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/vpn-helpers.c.svn-base
diff -rU8 -N applet.svn/src/connection-editor/.svn/text-base/vpn-helpers.h.svn-base NetworkManagerApplet_MBM/src/connection-editor/.svn/text-base/vpn-helpers.h.svn-base
diff -rU8 -N applet.svn/src/gconf-helpers/Makefile.in NetworkManagerApplet_MBM/src/gconf-helpers/Makefile.in
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/all-wcprops NetworkManagerApplet_MBM/src/gconf-helpers/.svn/all-wcprops
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/entries NetworkManagerApplet_MBM/src/gconf-helpers/.svn/entries
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/format NetworkManagerApplet_MBM/src/gconf-helpers/.svn/format
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/text-base/gconf-helpers.c.svn-base NetworkManagerApplet_MBM/src/gconf-helpers/.svn/text-base/gconf-helpers.c.svn-base
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/text-base/gconf-helpers.h.svn-base NetworkManagerApplet_MBM/src/gconf-helpers/.svn/text-base/gconf-helpers.h.svn-base
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/text-base/gconf-upgrade.c.svn-base NetworkManagerApplet_MBM/src/gconf-helpers/.svn/text-base/gconf-upgrade.c.svn-base
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/text-base/gconf-upgrade.h.svn-base NetworkManagerApplet_MBM/src/gconf-helpers/.svn/text-base/gconf-upgrade.h.svn-base
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/text-base/Makefile.am.svn-base NetworkManagerApplet_MBM/src/gconf-helpers/.svn/text-base/Makefile.am.svn-base
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/text-base/nma-gconf-connection.c.svn-base NetworkManagerApplet_MBM/src/gconf-helpers/.svn/text-base/nma-gconf-connection.c.svn-base
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/text-base/nma-gconf-connection.h.svn-base NetworkManagerApplet_MBM/src/gconf-helpers/.svn/text-base/nma-gconf-connection.h.svn-base
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/text-base/nma-gconf-settings.c.svn-base NetworkManagerApplet_MBM/src/gconf-helpers/.svn/text-base/nma-gconf-settings.c.svn-base
diff -rU8 -N applet.svn/src/gconf-helpers/.svn/text-base/nma-gconf-settings.h.svn-base NetworkManagerApplet_MBM/src/gconf-helpers/.svn/text-base/nma-gconf-settings.h.svn-base
diff -rU8 -N applet.svn/src/main.c NetworkManagerApplet_MBM/src/main.c
--- applet.svn/src/main.c	2008-11-24 21:36:03.000000000 +0100
+++ NetworkManagerApplet_MBM/src/main.c	2008-11-24 21:39:32.000000000 +0100
@@ -28,20 +28,76 @@
 #include <string.h>
 #include <stdlib.h>
 #include <signal.h>
 
 #include <gtk/gtk.h>
 #include <glib/gi18n-lib.h>
 
 #include "applet.h"
+#include <syslog.h>
 
 static GMainLoop *loop = NULL;
 
 static void
+log_handler (const gchar *log_domain,
+             GLogLevelFlags log_level,
+             const gchar *message,
+             gpointer ignored)
+{
+  int syslog_priority;
+
+  switch (log_level) {
+  case G_LOG_LEVEL_ERROR:
+    syslog_priority = LOG_CRIT;
+    break;
+
+  case G_LOG_LEVEL_CRITICAL:
+    syslog_priority = LOG_ERR;
+    break;
+
+  case G_LOG_LEVEL_WARNING:
+    syslog_priority = LOG_WARNING;
+    break;
+
+  case G_LOG_LEVEL_MESSAGE:
+    syslog_priority = LOG_NOTICE;
+    break;
+
+  case G_LOG_LEVEL_DEBUG:
+    syslog_priority = LOG_DEBUG;
+    break;
+
+  case G_LOG_LEVEL_INFO:
+  default:
+    syslog_priority = LOG_INFO;
+    break;
+  }
+
+  syslog (syslog_priority, "%s", message);
+}
+
+static void
+logging_setup (void)
+{
+  openlog (G_LOG_DOMAIN, LOG_CONS, LOG_DAEMON);
+  g_log_set_handler (G_LOG_DOMAIN, 
+		     G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,
+		     log_handler,
+		     NULL);
+}
+
+static void
+logging_shutdown (void)
+{
+  closelog ();
+}
+
+
+static void
 signal_handler (int signo)
 {
 	if (signo == SIGINT || signo == SIGTERM) {
 		g_message ("Caught signal %d, shutting down...", signo);
 		g_main_loop_quit (loop);
 	}
 }
 
@@ -63,21 +119,26 @@
 {
 	NMApplet * applet;
 
 	bindtextdomain (GETTEXT_PACKAGE, NMALOCALEDIR);
 	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
 	gtk_init (&argc, &argv);
 	textdomain (GETTEXT_PACKAGE);
 
+	logging_setup ();
+
+	g_debug("main");
+
 	applet = nm_applet_new ();
 	if (applet == NULL)
 		exit (1);
 
 	loop = g_main_loop_new (NULL, FALSE);
 	setup_signals ();
 	g_main_loop_run (loop);
 
 	g_object_unref (G_OBJECT (applet));
+	logging_shutdown ();
 
 	exit (0);
 }
 
diff -rU8 -N applet.svn/src/Makefile.in NetworkManagerApplet_MBM/src/Makefile.in
diff -rU8 -N applet.svn/src/marshallers/Makefile.in NetworkManagerApplet_MBM/src/marshallers/Makefile.in
diff -rU8 -N applet.svn/src/marshallers/.svn/all-wcprops NetworkManagerApplet_MBM/src/marshallers/.svn/all-wcprops
diff -rU8 -N applet.svn/src/marshallers/.svn/entries NetworkManagerApplet_MBM/src/marshallers/.svn/entries
diff -rU8 -N applet.svn/src/marshallers/.svn/format NetworkManagerApplet_MBM/src/marshallers/.svn/format
diff -rU8 -N applet.svn/src/marshallers/.svn/text-base/Makefile.am.svn-base NetworkManagerApplet_MBM/src/marshallers/.svn/text-base/Makefile.am.svn-base
diff -rU8 -N applet.svn/src/marshallers/.svn/text-base/nma-marshal.list.svn-base NetworkManagerApplet_MBM/src/marshallers/.svn/text-base/nma-marshal.list.svn-base
diff -rU8 -N applet.svn/src/marshallers/.svn/text-base/nma-marshal-main.c.svn-base NetworkManagerApplet_MBM/src/marshallers/.svn/text-base/nma-marshal-main.c.svn-base
diff -rU8 -N applet.svn/src/modems/Makefile.in NetworkManagerApplet_MBM/src/modems/Makefile.in
diff -rU8 -N applet.svn/src/modems/nm-modem-properties.glade NetworkManagerApplet_MBM/src/modems/nm-modem-properties.glade
--- applet.svn/src/modems/nm-modem-properties.glade	2008-11-25 19:19:00.000000000 +0100
+++ NetworkManagerApplet_MBM/src/modems/nm-modem-properties.glade	2008-11-24 21:39:33.000000000 +0100
@@ -1,1083 +1,532 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <glade-interface>
-
-<widget class="GtkDialog" id="main_dialog">
+  <widget class="GtkDialog" id="main_dialog">
   <property name="visible">True</property>
   <property name="title" translatable="yes">GSM modem properties</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">True</property>
-
   <child internal-child="vbox">
     <widget class="GtkVBox" id="dialog-vbox1">
       <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area1">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="closebutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-close</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-7</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
       <child>
 	<widget class="GtkVBox" id="vbox1">
 	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
 	  <property name="spacing">6</property>
-
 	  <child>
 	    <widget class="GtkHBox" id="hbox2">
 	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
 	      <property name="spacing">6</property>
-
 	      <child>
 		<widget class="GtkFrame" id="frame1">
 		  <property name="visible">True</property>
 		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
 		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
 		  <child>
 		    <widget class="GtkAlignment" id="alignment1">
 		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
 		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
 		      <child>
 			<widget class="GtkTable" id="info_table">
 			  <property name="visible">True</property>
 			  <property name="n_rows">8</property>
 			  <property name="n_columns">2</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">0</property>
 			  <property name="column_spacing">6</property>
-
 			  <child>
-			    <widget class="GtkLabel" id="label6">
+                              <widget class="GtkLabel" id="signal_quality_label">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Vendor</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">7</property>
+                                <property name="bottom_attach">8</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="label7">
+                              <widget class="GtkLabel" id="imei_label">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Model</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="x_options">fill</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">6</property>
+                                <property name="bottom_attach">7</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="label8">
+                              <widget class="GtkLabel" id="imsi_label">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Version</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">2</property>
-			      <property name="bottom_attach">3</property>
-			      <property name="x_options">fill</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">5</property>
+                                <property name="bottom_attach">6</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="label9">
+                              <widget class="GtkLabel" id="device_label">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Driver</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">3</property>
-			      <property name="bottom_attach">4</property>
-			      <property name="x_options">fill</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="label10">
+                              <widget class="GtkLabel" id="driver_label">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Data device</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">4</property>
-			      <property name="bottom_attach">5</property>
-			      <property name="x_options">fill</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="label11">
+                              <widget class="GtkLabel" id="version_label">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">IMSI</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">5</property>
-			      <property name="bottom_attach">6</property>
-			      <property name="x_options">fill</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="label12">
+                              <widget class="GtkLabel" id="model_label">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">IMEI</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">6</property>
-			      <property name="bottom_attach">7</property>
-			      <property name="x_options">fill</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="label13">
+                              <widget class="GtkLabel" id="vendor_label">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Signal quality</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">7</property>
-			      <property name="bottom_attach">8</property>
-			      <property name="x_options">fill</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="vendor_label">
+                              <widget class="GtkLabel" id="label13">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes"></property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
+                                <property name="label" translatable="yes">Signal strength</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
+                                <property name="top_attach">7</property>
+                                <property name="bottom_attach">8</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="model_label">
+                              <widget class="GtkLabel" id="label12">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes"></property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
+                                <property name="label" translatable="yes">IMEI</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="x_options">fill</property>
+                                <property name="top_attach">6</property>
+                                <property name="bottom_attach">7</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="version_label">
+                              <widget class="GtkLabel" id="label11">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes"></property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
+                                <property name="label" translatable="yes">IMSI</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">2</property>
-			      <property name="bottom_attach">3</property>
-			      <property name="x_options">fill</property>
+                                <property name="top_attach">5</property>
+                                <property name="bottom_attach">6</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="driver_label">
+                              <widget class="GtkLabel" id="label10">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes"></property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
+                                <property name="label" translatable="yes">Data device</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">3</property>
-			      <property name="bottom_attach">4</property>
-			      <property name="x_options">fill</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="device_label">
+                              <widget class="GtkLabel" id="label9">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes"></property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
+                                <property name="label" translatable="yes">Driver</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">4</property>
-			      <property name="bottom_attach">5</property>
-			      <property name="x_options">fill</property>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="imsi_label">
+                              <widget class="GtkLabel" id="label8">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes"></property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
+                                <property name="label" translatable="yes">Version</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">5</property>
-			      <property name="bottom_attach">6</property>
-			      <property name="x_options">fill</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="imei_label">
+                              <widget class="GtkLabel" id="label7">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes"></property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
+                                <property name="label" translatable="yes">Model</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">6</property>
-			      <property name="bottom_attach">7</property>
-			      <property name="x_options">fill</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
-
 			  <child>
-			    <widget class="GtkLabel" id="signal_quality_label">
+                              <widget class="GtkLabel" id="label6">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes"></property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0</property>
 			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
+                                <property name="label" translatable="yes">Vendor</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">7</property>
-			      <property name="bottom_attach">8</property>
-			      <property name="x_options">fill</property>
+                                <property name="x_options">GTK_FILL</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
 			</widget>
 		      </child>
 		    </widget>
 		  </child>
-
 		  <child>
 		    <widget class="GtkLabel" id="label1">
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">&lt;b&gt;Information&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
 		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
 		    </widget>
 		    <packing>
 		      <property name="type">label_item</property>
 		    </packing>
 		  </child>
 		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
 	      </child>
-
 	      <child>
 		<widget class="GtkFrame" id="frame3">
 		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
 		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
 		  <child>
 		    <widget class="GtkAlignment" id="alignment3">
 		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
 		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
 		      <child>
 			<placeholder/>
 		      </child>
 		    </widget>
 		  </child>
-
 		  <child>
 		    <widget class="GtkLabel" id="label4">
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">&lt;b&gt;PIN operations&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
 		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
 		    </widget>
 		    <packing>
 		      <property name="type">label_item</property>
 		    </packing>
 		  </child>
 		</widget>
 		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
+                    <property name="position">1</property>
 		</packing>
 	      </child>
 	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
 	  </child>
-
 	  <child>
 	    <widget class="GtkFrame" id="frame2">
 	      <property name="visible">True</property>
 	      <property name="label_xalign">0</property>
-	      <property name="label_yalign">0.5</property>
 	      <property name="shadow_type">GTK_SHADOW_NONE</property>
-
 	      <child>
 		<widget class="GtkAlignment" id="alignment2">
 		  <property name="visible">True</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xscale">1</property>
-		  <property name="yscale">1</property>
-		  <property name="top_padding">0</property>
-		  <property name="bottom_padding">0</property>
 		  <property name="left_padding">12</property>
-		  <property name="right_padding">0</property>
-
 		  <child>
 		    <widget class="GtkHBox" id="hbox1">
 		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
 		      <property name="spacing">6</property>
-
 		      <child>
 			<widget class="GtkScrolledWindow" id="scrolledwindow1">
 			  <property name="visible">True</property>
 			  <property name="can_focus">True</property>
 			  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
 			  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
 			  <property name="shadow_type">GTK_SHADOW_IN</property>
-			  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
 			  <child>
 			    <widget class="GtkTreeView" id="network_list">
 			      <property name="visible">True</property>
 			      <property name="can_focus">True</property>
 			      <property name="headers_visible">False</property>
-			      <property name="rules_hint">False</property>
-			      <property name="reorderable">False</property>
-			      <property name="enable_search">True</property>
-			      <property name="fixed_height_mode">False</property>
-			      <property name="hover_selection">False</property>
-			      <property name="hover_expand">False</property>
 			    </widget>
 			  </child>
 			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
 		      </child>
-
 		      <child>
 			<widget class="GtkVButtonBox" id="vbuttonbox1">
 			  <property name="visible">True</property>
 			  <property name="layout_style">GTK_BUTTONBOX_START</property>
-			  <property name="spacing">0</property>
-
 			  <child>
 			    <widget class="GtkButton" id="scan_button">
 			      <property name="visible">True</property>
-			      <property name="can_default">True</property>
 			      <property name="can_focus">True</property>
+                                <property name="can_default">True</property>
 			      <property name="label" translatable="yes">Scan</property>
 			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
+                                <property name="response_id">0</property>
 			    </widget>
 			  </child>
-
 			  <child>
 			    <widget class="GtkButton" id="create_connection_button">
 			      <property name="visible">True</property>
-			      <property name="can_default">True</property>
 			      <property name="can_focus">True</property>
+                                <property name="can_default">True</property>
 			      <property name="label" translatable="yes">Create connection</property>
 			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
+                                <property name="response_id">0</property>
 			    </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
 			  </child>
 			</widget>
 			<packing>
-			  <property name="padding">0</property>
 			  <property name="expand">False</property>
 			  <property name="fill">False</property>
+                            <property name="position">1</property>
 			</packing>
 		      </child>
 		    </widget>
 		  </child>
 		</widget>
 	      </child>
-
 	      <child>
 		<widget class="GtkLabel" id="label2">
 		  <property name="visible">True</property>
 		  <property name="label" translatable="yes">&lt;b&gt;Networks&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
 		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
 		</widget>
 		<packing>
 		  <property name="type">label_item</property>
 		</packing>
 	      </child>
 	    </widget>
 	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
+                <property name="position">1</property>
 	    </packing>
 	  </child>
 	</widget>
 	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
+            <property name="position">2</property>
 	</packing>
       </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="create_network_dialog">
-  <property name="title" translatable="yes">Create new connection</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">False</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox2">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
       <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area2">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
 	  <property name="visible">True</property>
 	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
 	  <child>
-	    <widget class="GtkButton" id="cancelbutton1">
+              <widget class="GtkButton" id="closebutton1">
 	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
 	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton1">
-	      <property name="visible">True</property>
 	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
+                <property name="label">gtk-close</property>
 	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
+                <property name="response_id">-7</property>
 	    </widget>
 	  </child>
 	</widget>
 	<packing>
-	  <property name="padding">0</property>
 	  <property name="expand">False</property>
-	  <property name="fill">True</property>
 	  <property name="pack_type">GTK_PACK_END</property>
 	</packing>
       </child>
-
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="create_network_dialog">
+    <property name="title" translatable="yes">Create new connection</property>
+    <property name="resizable">False</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox2">
+        <property name="visible">True</property>
       <child>
 	<widget class="GtkVBox" id="vbox2">
-	  <property name="border_width">6</property>
 	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
+            <property name="border_width">6</property>
 	  <property name="spacing">6</property>
-
 	  <child>
 	    <widget class="GtkLabel" id="label3">
 	      <property name="visible">True</property>
 	      <property name="label" translatable="yes">Please choose a name for the connection</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
 	    </widget>
 	    <packing>
-	      <property name="padding">0</property>
 	      <property name="expand">False</property>
 	      <property name="fill">False</property>
 	    </packing>
 	  </child>
-
 	  <child>
 	    <widget class="GtkEntry" id="create_network_name">
 	      <property name="visible">True</property>
 	      <property name="can_focus">True</property>
-	      <property name="editable">True</property>
-	      <property name="visibility">True</property>
-	      <property name="max_length">0</property>
-	      <property name="text" translatable="yes"></property>
-	      <property name="has_frame">True</property>
-	      <property name="invisible_char">●</property>
 	      <property name="activates_default">True</property>
 	    </widget>
 	    <packing>
-	      <property name="padding">0</property>
 	      <property name="expand">False</property>
 	      <property name="fill">False</property>
+                <property name="position">1</property>
 	    </packing>
 	  </child>
 	</widget>
 	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
+            <property name="position">2</property>
 	</packing>
       </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area2">
+            <property name="visible">True</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkButton" id="cancelbutton1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="label">gtk-cancel</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">-6</property>
     </widget>
   </child>
-</widget>
-
-<widget class="GtkWindow" id="scan_dialog">
-  <property name="title" translatable="yes"></property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
-  <property name="modal">True</property>
+            <child>
+              <widget class="GtkButton" id="okbutton1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="label">gtk-ok</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">-5</property>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkWindow" id="scan_dialog">
   <property name="resizable">False</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">False</property>
+    <property name="modal">True</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="skip_taskbar_hint">True</property>
   <property name="skip_pager_hint">True</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="decorated">False</property>
   <property name="gravity">GDK_GRAVITY_CENTER</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-
   <child>
     <widget class="GtkVBox" id="vbox3">
-      <property name="border_width">6</property>
       <property name="visible">True</property>
-      <property name="homogeneous">False</property>
+        <property name="border_width">6</property>
       <property name="spacing">6</property>
-
       <child>
 	<widget class="GtkLabel" id="label5">
 	  <property name="visible">True</property>
 	  <property name="label" translatable="yes">Scanning... Please wait.</property>
-	  <property name="use_underline">False</property>
-	  <property name="use_markup">False</property>
-	  <property name="justify">GTK_JUSTIFY_LEFT</property>
-	  <property name="wrap">False</property>
-	  <property name="selectable">False</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	  <property name="width_chars">-1</property>
-	  <property name="single_line_mode">False</property>
-	  <property name="angle">0</property>
 	</widget>
 	<packing>
-	  <property name="padding">0</property>
 	  <property name="expand">False</property>
 	  <property name="fill">False</property>
 	</packing>
       </child>
-
       <child>
 	<widget class="GtkProgressBar" id="scan_progress_bar">
 	  <property name="visible">True</property>
-	  <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
-	  <property name="fraction">0</property>
 	  <property name="pulse_step">0.10000000149</property>
-	  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 	</widget>
 	<packing>
-	  <property name="padding">0</property>
 	  <property name="expand">False</property>
 	  <property name="fill">False</property>
+            <property name="position">1</property>
 	</packing>
       </child>
     </widget>
   </child>
-</widget>
-
-<widget class="GtkDialog" id="pin_dialog">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">PIN code required</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">False</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox3">
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area3">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="cancelbutton2">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton2">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox4">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="pin_dialog_label">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Please enter SIM PIN code</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkEntry" id="pin_dialog_entry">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="editable">True</property>
-	      <property name="visibility">True</property>
-	      <property name="max_length">0</property>
-	      <property name="text" translatable="yes"></property>
-	      <property name="has_frame">True</property>
-	      <property name="invisible_char">●</property>
-	      <property name="activates_default">False</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+  </widget>
 </glade-interface>
diff -rU8 -N applet.svn/src/nma-gsm-modem.c NetworkManagerApplet_MBM/src/nma-gsm-modem.c
--- applet.svn/src/nma-gsm-modem.c	2008-11-25 19:19:00.000000000 +0100
+++ NetworkManagerApplet_MBM/src/nma-gsm-modem.c	2008-11-24 21:39:32.000000000 +0100
@@ -5,48 +5,54 @@
 
 G_DEFINE_TYPE (NMAGsmModem, nma_gsm_modem, G_TYPE_OBJECT)
 
 #define NMA_GSM_MODEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NMA_TYPE_GSM_MODEM, NMAGsmModemPrivate))
 
 typedef struct {
 	DBusGProxy *proxy;
 	int signal_quality;
+	int network_mode;
 
 	gboolean disposed;
 } NMAGsmModemPrivate;
 
 enum {
 	SIGNAL_QUALITY,
 	NETWORK_MODE,
 
 	LAST_SIGNAL
 };
 
-static guint signals[LAST_SIGNAL] = { 0 };
+static guint signals[LAST_SIGNAL] = { 0, 0 };
 
 static void
 signal_quality_proxy (DBusGProxy *proxy,
 				  guint32 signal_quality,
 				  gpointer user_data)
 {
 	NMAGsmModem *modem = NMA_GSM_MODEM (user_data);
 
+
 	NMA_GSM_MODEM_GET_PRIVATE (modem)->signal_quality = signal_quality;
 
 	g_signal_emit (modem, signals[SIGNAL_QUALITY], 0, signal_quality);
 }
 
 static void
 network_mode_proxy (DBusGProxy *proxy,
 				guint32 network_mode,
 				gpointer user_data)
 {
 	NMAGsmModem *modem = NMA_GSM_MODEM (user_data);
 
+	g_debug("network_mode_proxy");
+
+	NMA_GSM_MODEM_GET_PRIVATE (modem)->network_mode = network_mode;	
+
 	g_signal_emit (modem, signals[NETWORK_MODE], 0, network_mode);
 }
 
 NMAGsmModem *
 nma_gsm_modem_new (DBusGConnection *bus, const char *object_path)
 {
 	NMAGsmModem *modem;
 	NMAGsmModemPrivate *priv;
@@ -79,79 +85,83 @@
 guint32
 nma_gsm_modem_get_signal_quality (NMAGsmModem *modem)
 {
 	NMAGsmModemPrivate *priv = NMA_GSM_MODEM_GET_PRIVATE (modem);
 	GError *err = NULL;
 
 	g_return_val_if_fail (NMA_IS_GSM_MODEM (modem), 0);
 
-	if (priv->signal_quality == -1) {
+	//	if (priv->signal_quality == -1) {
 		if (!dbus_g_proxy_call (priv->proxy, "GetSignalQuality", &err,
 						    G_TYPE_INVALID,
 						    G_TYPE_UINT, &priv->signal_quality,
 						    G_TYPE_INVALID)) {
 			g_warning ("Error in getting signal quality: %s", err->message);
 			g_error_free (err);
 		}
-	}
+	//	}
 
 	return priv->signal_quality;
 }
 
 guint32
 nma_gsm_modem_get_registration_info (NMAGsmModem *modem,
 							  char **operator_code,
 							  char **operator_name)
 {
 	NMAGsmModemPrivate *priv = NMA_GSM_MODEM_GET_PRIVATE (modem);
 	GError *err = NULL;
 	guint32 status = MM_GSM_MODEM_REG_STATUS_UNKNOWN;
 
 	g_return_val_if_fail (NMA_IS_GSM_MODEM (modem), 0);
 
-	if (!dbus_g_proxy_call (priv->proxy, "GetRegistrationInfo", &err,
-					    G_TYPE_INVALID,
-					    G_TYPE_UINT, &status,
-					    G_TYPE_STRING, operator_code,
-					    G_TYPE_STRING, operator_name,
-					    G_TYPE_INVALID)) {
-		g_warning ("Error in getting network mode: %s", err->message);
-		g_error_free (err);
-	}
-
+    	if (!dbus_g_proxy_call (priv->proxy, "GetRegistrationInfo", &err,
+    				    G_TYPE_INVALID,
+    				    G_TYPE_UINT, &status,
+    				    G_TYPE_STRING, operator_code,
+    				    G_TYPE_STRING, operator_name,
+    				    G_TYPE_INVALID)) {
+    		g_warning ("Error in getting network mode: %s", err->message);
+    		g_error_free (err);
+    	}
 	return status;
 }
+	
 
 guint32
 nma_gsm_modem_get_network_mode (NMAGsmModem *modem)
 {
 	NMAGsmModemPrivate *priv = NMA_GSM_MODEM_GET_PRIVATE (modem);
 	GError *err = NULL;
-	guint32 network_mode = 0;
 
 	g_return_val_if_fail (NMA_IS_GSM_MODEM (modem), 0);
 
-	if (!dbus_g_proxy_call (priv->proxy, "GetNetworkMode", &err,
+	g_debug("nma_gsm_modem_get_network_mode ");
+
+	//if (priv->network_mode == -1) {
+		if (!dbus_g_proxy_call (priv->proxy, "GetNetworkMode", &err,
 					    G_TYPE_INVALID,
-					    G_TYPE_UINT, &network_mode,
+					    G_TYPE_UINT, &priv->network_mode,
 					    G_TYPE_INVALID)) {
-		g_warning ("Error in getting network mode: %s", err->message);
-		g_error_free (err);
-	}
+			g_warning ("Error in getting network mode: %s", err->message);
+			g_error_free (err);
+		}
+	//}
 
-	return network_mode;
+	return priv->network_mode;
 }
 
 static void
 nma_gsm_modem_init (NMAGsmModem *modem)
 {
 	NMAGsmModemPrivate *priv = NMA_GSM_MODEM_GET_PRIVATE (modem);
 
 	priv->signal_quality = -1;
+	priv->network_mode = -1;
 }
 
 static void
 dispose (GObject *object)
 {
 	NMAGsmModemPrivate *priv = NMA_GSM_MODEM_GET_PRIVATE (object);
 
 	if (priv->disposed)
diff -rU8 -N applet.svn/src/.svn/all-wcprops NetworkManagerApplet_MBM/src/.svn/all-wcprops
diff -rU8 -N applet.svn/src/.svn/entries NetworkManagerApplet_MBM/src/.svn/entries
diff -rU8 -N applet.svn/src/.svn/format NetworkManagerApplet_MBM/src/.svn/format
diff -rU8 -N applet.svn/src/.svn/prop-base/keyring.png.svn-base NetworkManagerApplet_MBM/src/.svn/prop-base/keyring.png.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/ap-menu-item.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/ap-menu-item.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/ap-menu-item.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/ap-menu-item.h.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-dbus-manager.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-dbus-manager.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-dbus-manager.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-dbus-manager.h.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-device-cdma.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-device-cdma.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-device-cdma.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-device-cdma.h.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-device-gsm.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-device-gsm.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-device-gsm.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-device-gsm.h.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-device-wifi.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-device-wifi.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-device-wifi.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-device-wifi.h.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-device-wired.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-device-wired.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-device-wired.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-device-wired.h.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-dialogs.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-dialogs.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet-dialogs.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet-dialogs.h.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet.glade.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet.glade.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/applet.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/applet.h.svn-base
Binary files applet.svn/src/.svn/text-base/keyring.png.svn-base and NetworkManagerApplet_MBM/src/.svn/text-base/keyring.png.svn-base differ
diff -rU8 -N applet.svn/src/.svn/text-base/main.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/main.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/Makefile.am.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/Makefile.am.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/vpn-password-dialog.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/vpn-password-dialog.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/vpn-password-dialog.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/vpn-password-dialog.h.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/wired-dialog.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/wired-dialog.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/wired-dialog.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/wired-dialog.h.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/wireless-dialog.c.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/wireless-dialog.c.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/wireless-dialog.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/wireless-dialog.h.svn-base
diff -rU8 -N applet.svn/src/.svn/text-base/wireless-helper.h.svn-base NetworkManagerApplet_MBM/src/.svn/text-base/wireless-helper.h.svn-base
diff -rU8 -N applet.svn/src/utils/Makefile.in NetworkManagerApplet_MBM/src/utils/Makefile.in
diff -rU8 -N applet.svn/src/utils/.svn/all-wcprops NetworkManagerApplet_MBM/src/utils/.svn/all-wcprops
diff -rU8 -N applet.svn/src/utils/.svn/entries NetworkManagerApplet_MBM/src/utils/.svn/entries
diff -rU8 -N applet.svn/src/utils/.svn/format NetworkManagerApplet_MBM/src/utils/.svn/format
diff -rU8 -N applet.svn/src/utils/.svn/text-base/gnome-keyring-md5.c.svn-base NetworkManagerApplet_MBM/src/utils/.svn/text-base/gnome-keyring-md5.c.svn-base
diff -rU8 -N applet.svn/src/utils/.svn/text-base/gnome-keyring-md5.h.svn-base NetworkManagerApplet_MBM/src/utils/.svn/text-base/gnome-keyring-md5.h.svn-base
diff -rU8 -N applet.svn/src/utils/.svn/text-base/Makefile.am.svn-base NetworkManagerApplet_MBM/src/utils/.svn/text-base/Makefile.am.svn-base
diff -rU8 -N applet.svn/src/utils/.svn/text-base/utils.c.svn-base NetworkManagerApplet_MBM/src/utils/.svn/text-base/utils.c.svn-base
diff -rU8 -N applet.svn/src/utils/.svn/text-base/utils.h.svn-base NetworkManagerApplet_MBM/src/utils/.svn/text-base/utils.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/Makefile.in NetworkManagerApplet_MBM/src/wireless-security/Makefile.in
diff -rU8 -N applet.svn/src/wireless-security/.svn/all-wcprops NetworkManagerApplet_MBM/src/wireless-security/.svn/all-wcprops
diff -rU8 -N applet.svn/src/wireless-security/.svn/entries NetworkManagerApplet_MBM/src/wireless-security/.svn/entries
diff -rU8 -N applet.svn/src/wireless-security/.svn/format NetworkManagerApplet_MBM/src/wireless-security/.svn/format
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method-leap.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method-leap.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method-leap.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method-leap.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method-peap.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method-peap.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method-peap.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method-peap.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method-simple.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method-simple.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method-simple.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method-simple.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method-tls.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method-tls.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method-tls.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method-tls.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method-ttls.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method-ttls.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/eap-method-ttls.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/eap-method-ttls.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/Makefile.am.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/Makefile.am.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/sha1.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/sha1.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/sha1.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/sha1.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/wireless-security.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/wireless-security.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/wireless-security.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/wireless-security.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/ws-dynamic-wep.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/ws-dynamic-wep.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/ws-dynamic-wep.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/ws-dynamic-wep.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/ws-leap.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/ws-leap.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/ws-leap.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/ws-leap.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/ws-wep-key.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/ws-wep-key.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/ws-wep-key.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/ws-wep-key.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/ws-wpa-eap.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/ws-wpa-eap.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/ws-wpa-eap.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/ws-wpa-eap.h.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/ws-wpa-psk.c.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/ws-wpa-psk.c.svn-base
diff -rU8 -N applet.svn/src/wireless-security/.svn/text-base/ws-wpa-psk.h.svn-base NetworkManagerApplet_MBM/src/wireless-security/.svn/text-base/ws-wpa-psk.h.svn-base
diff -rU8 -N applet.svn/.svn/all-wcprops NetworkManagerApplet_MBM/.svn/all-wcprops
diff -rU8 -N applet.svn/.svn/entries NetworkManagerApplet_MBM/.svn/entries
diff -rU8 -N applet.svn/.svn/format NetworkManagerApplet_MBM/.svn/format
diff -rU8 -N applet.svn/.svn/prop-base/autogen.sh.svn-base NetworkManagerApplet_MBM/.svn/prop-base/autogen.sh.svn-base
diff -rU8 -N applet.svn/.svn/text-base/autogen.sh.svn-base NetworkManagerApplet_MBM/.svn/text-base/autogen.sh.svn-base
diff -rU8 -N applet.svn/.svn/text-base/ChangeLog.svn-base NetworkManagerApplet_MBM/.svn/text-base/ChangeLog.svn-base
diff -rU8 -N applet.svn/.svn/text-base/configure.ac.svn-base NetworkManagerApplet_MBM/.svn/text-base/configure.ac.svn-base
diff -rU8 -N applet.svn/.svn/text-base/CONTRIBUTING.svn-base NetworkManagerApplet_MBM/.svn/text-base/CONTRIBUTING.svn-base
diff -rU8 -N applet.svn/.svn/text-base/COPYING.svn-base NetworkManagerApplet_MBM/.svn/text-base/COPYING.svn-base
diff -rU8 -N applet.svn/.svn/text-base/INSTALL.svn-base NetworkManagerApplet_MBM/.svn/text-base/INSTALL.svn-base
diff -rU8 -N applet.svn/.svn/text-base/MAINTAINERS.svn-base NetworkManagerApplet_MBM/.svn/text-base/MAINTAINERS.svn-base
diff -rU8 -N applet.svn/.svn/text-base/Makefile.am.svn-base NetworkManagerApplet_MBM/.svn/text-base/Makefile.am.svn-base
diff -rU8 -N applet.svn/.svn/text-base/nm-applet.conf.svn-base NetworkManagerApplet_MBM/.svn/text-base/nm-applet.conf.svn-base
diff -rU8 -N applet.svn/.svn/text-base/nm-applet.desktop.svn-base NetworkManagerApplet_MBM/.svn/text-base/nm-applet.desktop.svn-base
diff -rU8 -N applet.svn/.svn/text-base/nm-connection-editor.desktop.svn-base NetworkManagerApplet_MBM/.svn/text-base/nm-connection-editor.desktop.svn-base
