debian/0000775000000000000000000000000012322763061007172 5ustar debian/libnm-gtk-common.install0000664000000000000000000000003412322763056013735 0ustar usr/share/libnm-gtk/wifi.ui debian/network-manager-gnome.maintscript0000664000000000000000000000011712322763056015660 0ustar rm_conffile /etc/dbus-1/system.d/nm-applet.conf 0.9.0-4~ network-manager-gnome debian/network-manager-gnome.README.Debian0000664000000000000000000000047612322763056015451 0ustar network-manager-gnome provides a Notification Area applet called nm-applet for conveniently choosing wired and wireless networks in GNOME, KDE and XFCE. network-manager-gnome uses network-manager. Please see the network-mananger documentation in /usr/share/doc/network-manager/README.Debian for further information. debian/icons/0000775000000000000000000000000012322763056010311 5ustar debian/icons/22/0000775000000000000000000000000012322763056010534 5ustar debian/icons/22/nm-device-wired-secure.png0000664000000000000000000000166112322763056015511 0ustar PNG  IHDRĴl;bKGD pHYs  ~ vpAgXIDAT8˕KTAsn-m䖐]ХEAHEmM$^RƺhTFu_H%vQaH~HNYkwty6 }<#Oe:w;iOB<Zlh˲Xŋ~Yr|EqdeNBc#)*x($;Y}h`P|{R&Cl^';FRWiP^: 5!0L#="ЀmkH-{(ݲ'W\L wp `fR>b~6vvyEZ y܈G$ {+ފ\qVT: P4vHl)_~&`'$Nݰ /_V2/'&pK ɲ,@66Ov hP_[ibXXJ_rwۨ-x8A!aXLh i:B:~=\ ^G.i"]&%Bv$ }_+EM `EqR ǃRrklmY/B@+ %~]wDj4倣s3ҮkdpxYHE "nH95pfJ)~吂W;%*RNCR \*Բh:I]]CǛ t vmv*r- `fթ2yCZ%tEXtdate:create2011-01-19T15:39:43-05:00Qf,%tEXtdate:modify2011-01-19T15:38:41-05:00XIENDB`debian/icons/22/nm-secure-lock.png0000664000000000000000000000051712322763056014071 0ustar PNG  IHDRĴl;sRGBbKGD pHYs B(xtIME  IDAT8;Pр(F]@&;r)NDKk!L3u( V)/?Gx*|$(h* +x5˩Mz4eY"4p9&jeYGQCr(Zyt6CXb`1=X:%\D6q~;O'=LV>o1@.RA:4IENDB`debian/icons/22/nm-signal-50-secure.png0000664000000000000000000000140212322763056014632 0ustar PNG  IHDRĴl;bKGD pHYs   vpAgXIDAT8ՔMkQ{ϹYR!BF[AĬ)KAp!ܨQ(-[э!jZ&3E̴Fw3sϝy=3~Isd# ǜ׏]mO^vh4lUY _˴TR"f6W-=.UĺԖԖ݃T߻277nq~4RW 8@yOya.w!(S_:+0 ~g6MtEXtCommentCreated with The GIMPd%n%tEXtdate:create2011-01-19T15:39:43-05:00Qf,%tEXtdate:modify2011-01-19T15:38:41-05:00XIENDB`debian/icons/22/nm-signal-100-secure.png0000664000000000000000000000126012322763056014710 0ustar PNG  IHDRĴl;bKGD pHYs   vpAgXIDAT8Ք?NAc/%D$HV&+ ܁P܁C8m40읙/̲k9 y߷潙Q E?!i8eUTNwXC7JT ֨'xP@q~rwc9mWŨ:Ku<.ǯj@aCan&*wn їfb,Vk§ =Uyp@V;ssu`SƏ{/%yxƍfa3+cg I;mkDD<鸶y^d 5K&F"ny)lŚ~ v &;vHǮAXX{|$9\qܯbBZNҊ+ltEXtCommentCreated with The GIMPd%n%tEXtdate:create2011-01-19T15:39:43-05:00Qf,%tEXtdate:modify2011-01-19T15:38:41-05:00XIENDB`debian/icons/22/nm-signal-25-secure.png0000664000000000000000000000141312322763056014636 0ustar PNG  IHDRĴl;bKGD pHYs   vpAgX IDAT8Ք=kQ{9S,b(+FHi4Dj v"X? XvV6UXĵm\VD!~ewg,63ٙĕ4=wy=؊W8yc1d=~~K+`Ϛ͹Z&UtnuƍJ4_;ƇrSW[yZBI[7+I^YxP 8|x>PPH5ӥMUËQ$/{=?~13sP{wn`#_D2TJkv!8XM0%o]nndx@n:.9},"w`Qejj ESRS5,0\dHJ{<~MqS%Ai"?4R %0ckRSD5BTq"N!a3Y{Q̂á^2 I3wÈ~Y`줉OiapُDH 6<[?wz?Խ$9tEXtCommentCreated with The GIMPd%n%tEXtdate:create2011-01-19T15:39:43-05:00Qf,%tEXtdate:modify2011-01-19T15:38:41-05:00XIENDB`debian/icons/22/nm-signal-75-secure.png0000664000000000000000000000135312322763056014646 0ustar PNG  IHDRĴl;bKGD pHYs   vpAgXIDAT8ՔMkQE(4 "fĥRppBmHnEn Q*6{ i9{νww$cՅ:ď~kͭ]?3śfSm1px< 7kopSp!?iB/R_ZMty*gϞ> q_xi3y|<g[o= R)|"³1*>zoAJ@LJ5s|>9TQLq-E 2ƠQxT<s6Tw%p7r"B/RRzsX_y<(L @ixqew+u,ގF(u5BOvl0գ(ȭR" c q1((Y`' S<ӳ</GTTUT0 BtEXtCommentCreated with The GIMPd%n%tEXtdate:create2011-01-19T15:39:43-05:00Qf,%tEXtdate:modify2011-01-19T15:38:41-05:00XIENDB`debian/icons/22/nm-signal-00-secure.png0000664000000000000000000000140712322763056014632 0ustar PNG  IHDRĴl;bKGD pHYs   vpAgXIDAT8ՔkQ?̃[rD9A. Ug;;KORRRx bE<[ KDⲛݻ<9f~޼c[˫c2:~cw._?mWhUzI;-׺Rx2(W=]N\5n@**4}jʮ_t@.^J ŠǑZࡣqhG4;7zklgHql/(onEgn9gbsl(:Cu ? UHVh M2 ] #o-fBQg~0թBK.evR )fyaT俇DIENDB`debian/gbp.conf0000664000000000000000000000006512322763056010616 0ustar [DEFAULT] pristine-tar = True debian-branch = master debian/compat0000664000000000000000000000000212322763056010374 0ustar 8 debian/libnm-gtk-dev.install0000664000000000000000000000015312322763056013225 0ustar usr/lib/libnm-gtk.so usr/include/libnm-gtk/ usr/lib/pkgconfig/libnm-gtk.pc usr/share/gir-1.0/NMGtk-1.0.gir debian/gir1.2-nmgtk-1.0.install0000664000000000000000000000003212322763056013175 0ustar usr/lib/girepository-1.0/ debian/network-manager-gnome.manpages0000664000000000000000000000002312322763056015112 0ustar debian/nm-applet.1 debian/nm-applet.sgml0000664000000000000000000000604512322763056011764 0ustar manpage.1'. You may view the manual page with: `docbook-to-man manpage.sgml | nroff -man | less'. A typical entry in a Makefile or Makefile.am is: manpage.1: manpage.sgml docbook-to-man $< > $@ The docbook-to-man binary is found in the docbook-to-man package. Please remember that if you create the nroff version in one of the debian/rules file targets (such as build), you will need to include docbook-to-man in your Build-Depends control field. --> 8 February, 2006"> GNU"> GPL"> ]>
giskard@autistici.org;
Riccardo Setti 2006 Riccardo Setti &date;
nm-applet 1 &package; Network management framework &package; DESCRIPTION &package; is the GNOME front-end for NetworkManager It is a systray applet which will display an icon in GNOME's notification area but it also works for other desktop environments which provide a systray like KDE or XFCE. &package; shows a list of available networks and allows you to easily switch between them. For encrypted networks it will prompt you for the key/passphrase and you can optionally store them in the gnome-keyring so you don't have to type them again. SEE ALSO NetworkManager(8), nm-tool(1) More Information about NetworkManager can be found at http://www.gnome.org/projects/NetworkManager/ . AUTHOR This manual page was written by Riccardo Setti giskard@autistici.org for the Debian system.
debian/changelog0000664000000000000000000034003312322763056011053 0ustar network-manager-applet (0.9.8.8-0ubuntu4) trusty; urgency=medium * debian/control: drop gnome-bluetooth back to a Suggests. (LP: #1307485) -- Mathieu Trudel-Lapierre Mon, 14 Apr 2014 09:44:10 -0400 network-manager-applet (0.9.8.8-0ubuntu3) trusty; urgency=medium * debian/patches/11-user-connections.patch: Allow users with access to modify their own connection to create wireless connections without using system-wide privileges. (LP: #1116317) -- Mathieu Trudel-Lapierre Tue, 18 Mar 2014 14:48:18 -0400 network-manager-applet (0.9.8.8-0ubuntu2) trusty; urgency=medium * debian/patches/set_atk_relations.patch: Set label relationships in info dialogs to better present information to Orca users. (LP: #1266302) -- Luke Yelavich Wed, 12 Mar 2014 14:10:29 +1100 network-manager-applet (0.9.8.8-0ubuntu1) trusty; urgency=medium * New upstream release. (LP: #1276082) - nm-applet: change logging to use g_debug - applet: redo the gnome-shell interaction code (LP: #1267100) - editor: do not gtk_widget_destroy() dialog on "close" signal - nma-bt-device: fix creation of BT settings when creating connection * debian/patches/nm-applet-use-indicator.patch: refreshed * debian/patches/lp460144_correctly_update_notification.patch: refreshed. -- Mathieu Trudel-Lapierre Wed, 05 Mar 2014 14:14:30 -0500 network-manager-applet (0.9.8.4-1ubuntu3) trusty; urgency=medium * Add new patch to move on with enter in the country page of the new mobile wizard -- Iain Lane Wed, 19 Feb 2014 17:30:58 +0000 network-manager-applet (0.9.8.4-1ubuntu2) trusty; urgency=medium * debian/rules, debian/control: Enable ModemManager1 support. * debian/patches/nm-applet-use-indicator.patch: refresh patch for missing update to the get_icon function for "broadband" devices used by MM1. -- Mathieu Trudel-Lapierre Fri, 24 Jan 2014 13:01:48 -0500 network-manager-applet (0.9.8.4-1ubuntu1) trusty; urgency=medium * Merge changes from Debian, remaining changes: - Don't keep a postinst script; we don't need to worry about migration from versions prior to 0.9.0. - Build-Depend on dh-translations, libappindicator3-dev, docbook-to-man. - Different Descriptions for libnm-gtk packages. - debian/rules: ship extra icons, use --enable-indicators, export translations for Launchpad and fail if any files are missing from .install files, or not being installed. - debian/rules: use -delete to remove .la/.a files. - No notice about netdev group in README.Debian. - 11-user-connections.patch: don't use this patch, keep secrets system-wide as meant by upstream. - 12-force-online.patch: don't use this patch, we deal with the online state a different way... - lp289466_always_show_tray_icon.patch: always show the tray icon, even if NM is not running. - lp328572-dxteam-connect-text.patch, lp330571_dxteam_wired_connect_text.patch, lp330608_dxteam_gsm_connect_text.patch: update notification text to be prettier. - lp341684_device_sensitive_disconnect_notify.patch: show correct notification messages for disconnect events, to be in line with the other *connect*text patches. - lp460144_correctly_update_notification.patch: cleaner notification messages, and allow for messages to be updated instead of cleared. - applet-wifi-menu-before-vpn.patch: show Create New and Connect to Hidden wifi menu items with the other Wifi items, rather than separated by the VPN menus. - clear-notification-actions.patch: clear notification actions before adding new ones, to not append extra "Don't show this again" buttons. - key-certificate-extensions.patch: allow for the extra certificate file extension ".key". - lp829673_gconf_hide_applet.patch: allow for a gsettings key that disables ever showing the applet on the notification area. - nm-applet-use-indicator.patch: patch to support showing nm-applet as an appindicator in Unity. - position_dialogs_to_center_of_the_screen.patch: position dialogs to the center of the screen. - make_menu_items_insensitive_based_on_permissions.patch, hide_policy_items_env_var.patch: provide a method to desensitize or hide menu items which are useless given the current policykit policy level of the user. - applet_adhoc_use_wpa_rsn_part1.patch: enable Ad-Hoc using WPA RSN. - lp1048516_dont_req_keyring_in_greeter.patch: don't try to load the keyring if the user has no permissions to edit their own connections. - lp1048520_delay_pin_dialog_in_greeter.patch: only ask for PIN entry when a connection is being established rather than when a modem is detected. - rebuild_menu_after_init.patch: force a rebuild of the menu to avoid it staying empty on login. -- Mathieu Trudel-Lapierre Mon, 06 Jan 2014 22:29:40 -0500 network-manager-applet (0.9.8.4-1) unstable; urgency=low * New upstream release. * Refresh patches. -- Michael Biebl Fri, 13 Sep 2013 20:07:47 +0200 network-manager-applet (0.9.8.2-1) unstable; urgency=low * New upstream release. * Refresh patches. * Conversion from libgnome-keyring to libsecret. Add Build-Depends on libsecret-1-dev and keep libgnome-keyring-dev for the migration tool. * Use DEB_LDFLAGS_MAINT_APPEND to properly append our custom build flags. -- Michael Biebl Sat, 08 Jun 2013 02:05:04 +0200 network-manager-applet (0.9.8.0-2) unstable; urgency=low * Use gir dh addon instead of calling dh_girepository manually. * Upload to unstable. * Bump Standards-Version to 3.9.4. No further changes. -- Michael Biebl Mon, 06 May 2013 06:33:22 +0200 network-manager-applet (0.9.8.0-1ubuntu7) trusty; urgency=medium * Don't overwrite the dh_autoreconf targets. -- Matthias Klose Sat, 28 Dec 2013 21:16:35 +0100 network-manager-applet (0.9.8.0-1ubuntu6) trusty; urgency=low * debian/patches/lp330608_dxteam_gsm_connect_text.patch: refresh patch: remove some additional g_free() calls that were being made on a const string for a NM internal pointer containing the connection ID, which should not be freed. Thanks to Jean-Pierre Rupp for the fix. (LP: #1185330) -- Mathieu Trudel-Lapierre Sun, 01 Dec 2013 09:07:04 -0500 network-manager-applet (0.9.8.0-1ubuntu5) saucy; urgency=low * debian/patches/nm-applet-use-indicator.patch: - Fix crash when nm-applet quits (LP: #1230148) -- Robert Ancell Wed, 16 Oct 2013 16:35:33 +1300 network-manager-applet (0.9.8.0-1ubuntu4) saucy; urgency=low * Update the previous patch to use AutostartCondition, thanks to Tim. This fixes nm-applet on gnome-but-not-shell sessions. -- Iain Lane Fri, 04 Oct 2013 22:40:22 +0100 network-manager-applet (0.9.8.0-1ubuntu3) saucy; urgency=low * debian/patches/git_dont_autostart_under_GNOME.patch (LP: #1189309) -- Tim Mon, 02 Sep 2013 14:03:33 +1000 network-manager-applet (0.9.8.0-1ubuntu2) raring; urgency=low * debian/control: add docbook-to-man to Build-Depends, missing in the previous upload. -- Mathieu Trudel-Lapierre Fri, 08 Mar 2013 11:47:45 -0500 network-manager-applet (0.9.8.0-1ubuntu1) raring; urgency=low * Merge with Debian; remaining changes: - Don't keep a postinst script; we don't need to worry about migration from versions prior to 0.9.0. - Build-Depend on dh-translations, libappindicator3-dev. - Different Descriptions for libnm-gtk packages. - Ship network-manager-gnome-dbg. - debian/rules: ship extra icons, use --enable-indicators, export translations for Launchpad, provide -dbg package and fail if any files are missing from .install files, or not being installed. - debian/rules: Rules for daily build in PPA... - 12-force-online.patch: don't use this patch, we deal with the online state a different way... - lp289466_always_show_tray_icon.patch: always show the tray icon, even if NM is not running. - lp328572-dxteam-connect-text.patch, lp330571_dxteam_wired_connect_text.patch, lp330608_dxteam_gsm_connect_text.patch: update notification text to be prettier. - lp341684_device_sensitive_disconnect_notify.patch: show correct notification messages for disconnect events, to be in line with the other *connect*text patches. - lp460144_correctly_update_notification.patch: cleaner notification messages, and allow for messages to be updated instead of cleared. - applet-wifi-menu-before-vpn.patch: show Create New and Connect to Hidden wifi menu items with the other Wifi items, rather than separated by the VPN menus. - clear-notification-actions.patch: clear notification actions before adding new ones, to not append extra "Don't show this again" buttons. - key-certificate-extensions.patch: allow for the extra certificate file extension ".key". - lp829673_gconf_hide_applet.patch: allow for a gsettings key that disables ever showing the applet on the notification area. - nm-applet-use-indicator.patch: patch to support showing nm-applet as an appindicator in Unity. - position_dialogs_to_center_of_the_screen.patch: position dialogs to the center of the screen. - make_menu_items_insensitive_based_on_permissions.patch, hide_policy_items_env_var.patch: provide a method to desensitize or hide menu items which are useless given the current policykit policy level of the user. - applet_adhoc_use_wpa_rsn_part1.patch: enable Ad-Hoc using WPA RSN. - lp1048516_dont_req_keyring_in_greeter.patch: don't try to load the keyring if the user has no permissions to edit their own connections. - lp1048520_delay_pin_dialog_in_greeter.patch: only ask for PIN entry when a connection is being established rather than when a modem is detected. - rebuild_menu_after_init.patch: force a rebuild of the menu to avoid it staying empty on login. * debian/rules: simulate the behavior of autogen.sh for dh_autoreconf; since autogen.sh isn't being shipped by upstream in release tarballs. * debian/patches/*: refresh patches. * lp328572-dxteam-connect-text.patch, lp330571_dxteam_wired_connect_text.patch, lp330608_dxteam_gsm_connect_text.patch, lp341684_device_sensitive_disconnect_notify.patch: update notification text to match the specs on https://wiki.ubuntu.com/Networking. -- Mathieu Trudel-Lapierre Thu, 07 Mar 2013 15:59:22 -0500 network-manager-applet (0.9.8.0-1) experimental; urgency=low * New upstream release. * Refresh 11-user-connections.patch. * Bump minimum required version of network-manager to (>= 0.9.8). * Install man pages provided by upstream instead of our own. * Enable gobject introspection support for libnm-gtk. The typelib files are shipped in a separate binary package named gir1.2-nmgtk-1.0. -- Michael Biebl Thu, 21 Feb 2013 03:57:27 +0100 network-manager-applet (0.9.7.997-1) experimental; urgency=low * New upstream release (0.9.8 beta2). - VPN connections can now be configured as "secondary" connections which are autostarted as soon as the underlying connection is active. (Closes: #589533) * Remove 05-8021x-passwords-user.patch, merged upstream. * Update 11-user-connections.patch for new code base. * Update 12-force-online.patch for the icon name changes. * Update symbols file for libnm-gtk0. * Bump minimum required version of network-manager to (>= 0.9.7.997). * Add Build-Depends on libgudev-1.0-dev and gobject-introspection. * Mark binary packages as linux-any. * Use a strict dependency between network-manager-gnome and libnm-gtk0 to avoid crashes due to missing schema files. (Closes: #699590) -- Michael Biebl Sat, 09 Feb 2013 21:08:40 +0100 network-manager-applet (0.9.7.995+git201301311844.0376019-0ubuntu3) raring; urgency=low * debian/control: make libnm-gtk-dev depend on gir1.2-nmgtk-1.0 * debian/rules: run dh_girepository -- Rico Tzschichholz Thu, 07 Feb 2013 17:42:18 +0100 network-manager-applet (0.9.7.995+git201301311844.0376019-0ubuntu2) raring; urgency=low * debian/control: add gir1.2-nmgtk-1.0 package. * debian/gir1.2-nmgtk-1.0.install: install the necessary introspection data. * debian/rules: run dh_install with --fail-missing. * debian/network-manager-gnome.install: add /usr/share/locale and /usr/share/GConf which are unexplicably missing from the package to be installed. * debian/rules: move find command to get rid of .la/.a files to before dh_install, update to use -delete rather than piping file names to rm. * debian/control: add libgirepository1.0-dev. -- Mathieu Trudel-Lapierre Wed, 06 Feb 2013 17:17:23 -0500 network-manager-applet (0.9.7.995+git201301311844.0376019-0ubuntu1) raring; urgency=low * upstream snapshot 2013-01-31 18:44:13 (GMT) + 03760194e54eaeaf493e9b45c4835e84524d8650 * debian/patches/nm-applet-use-indicator.patch: refreshed. * debian/patches/lp1048516_dont_req_keyring_in_greeter.patch: refreshed. * debian/patches/lp289466_always_show_tray_icon.patch: refreshed. * debian/patches/lp829673_gconf_hide_applet.patch: refreshed. * debian/patches/position_dialogs_to_center_of_the_screen.patch: refreshed. * debian/patches/hide_policy_items_env_var.patch: refreshed. * debian/patches/lp1048520_delay_pin_dialog_in_greeter.patch: refreshed. * debian/patches/nm-applet-use-indicator.patch: fix the addition of separator menu items to avoid multiple separators added in a block. * debian/control: bump network-manager Depends and Build-Depends to the appropriate snapshot version. -- Mathieu Trudel-Lapierre Tue, 05 Feb 2013 16:15:00 -0500 network-manager-applet (0.9.6.4-4) experimental; urgency=low * Merge bug fix from unstable branch. -- Michael Biebl Wed, 30 Jan 2013 02:45:10 +0100 network-manager-applet (0.9.6.4-3) experimental; urgency=low * Merge changes from unstable branch. * Update debian/patches/11-user-connections.patch again. -- Michael Biebl Thu, 17 Jan 2013 12:02:16 +0100 network-manager-applet (0.9.6.4-2) experimental; urgency=low * Merge changes from unstable branch. * Update debian/patches/11-user-connections.patch. -- Michael Biebl Sun, 06 Jan 2013 10:53:34 +0100 network-manager-applet (0.9.6.4-1) experimental; urgency=low * New upstream release. * Use --list-missing to show uninstalled files. * Update symbols file for libnm-gtk. -- Michael Biebl Fri, 26 Oct 2012 22:50:15 +0200 network-manager-applet (0.9.6.2+git201212301945.bac0998-0ubuntu1) raring; urgency=low * upstream snapshot 2012-12-30 19:45:57 (GMT) + bac09981ba00f0f96c6a1d682b14b0883ba7e3ef * debian/patches/nm-applet-use-indicator.patch: refreshed. * debian/patches/mobile-wizard.patch: dropped. * debian/control: bump Build-Depends and Depends for network-manager and related libraries to >= 0.9.6.0+git201301021750.e78c3e8. -- Mathieu Trudel-Lapierre Mon, 07 Jan 2013 10:53:30 -0500 network-manager-applet (0.9.6.2+git201211052130.2d666bc-0ubuntu2) raring; urgency=low * debian/patches/rebuild_menu_after_init.patch: Work around issues with menu initialization at session start by forcing a first menu update after 30 seconds. (LP: #965895) -- Mathieu Trudel-Lapierre Fri, 14 Dec 2012 13:30:28 -0500 network-manager-applet (0.9.6.2+git201211052130.2d666bc-0ubuntu1) raring; urgency=low * upstream snapshot 2012-11-05 21:30:03 (GMT) + 2d666bc7aa6f0b731d131319b36f07b0f2bdce16 * debian/patches/git_fix_some_leaks_80ef61b.patch, debian/patches/git_indicate_hspa+_lte_tech_dbe3b12.patch, debian/patches/git_mac_addr_string_leakage_6dae878.patch: dropped, included in upstream tarball. * debian/patches/lp328572-dxteam-connect-text.patch: refreshed. * debian/patches/lp330571_dxteam_wired_connect_text.patch: refreshed. * debian/patches/lp337960_dxteam_notification_icon_names.diff, debian/patches/lp337960_dxteam_notification_icon_names_part2-images.diff: disabled patches, they don't seem to be used (the icons don't match up with what is currently observable on the desktop). Let's see if someone screams. * debian/patches/applet-wifi-menu-before-vpn.patch: refreshed. * debian/patches/lp830178_adhoc_ip6_ignore.patch: refreshed. * debian/patches/lp829673_gconf_hide_applet.patch: refreshed. * debian/patches/nm-applet-use-indicator.patch: refreshed. * debian/patches/hide_policy_items_env_var.patch: refreshed. * debian/patches/applet_adhoc_use_wpa_rsn_part1.patch: refreshed. * debian/patches/lp341684_device_sensitive_disconnect_notify.patch: refreshed. * debian/patches/lp460144_correctly_update_notification.patch: refreshed. * debian/patches/make_menu_items_insensitive_based_on_permissions.patch: refreshed. * debian/control: - add gobject-introspection to Build-Depends. - add gudev-dev to Build-Depends. - bump network-manager and libnm-* Build-Depends and Depends to require at least 0.9.6.0+git201211131441.e9e2c56-0ubuntu1. * debian/rules: - use autogen.sh with dh_autoreconf instead of calling intltoolize and gtkdocize manually. -- Mathieu Trudel-Lapierre Mon, 19 Nov 2012 14:46:29 -0500 network-manager-applet (0.9.6.2-0ubuntu6) quantal; urgency=low * debian/patches/git_indicate_hspa+_lte_tech_dbe3b12.patch: add indications and support for HSPA+ and LTE modes. (LP: #1044744) * Also update nm-applet-use-indicator.patch for the changes above. * debian/patches/git_mac_addr_string_leakage_6dae878.patch: use nm_utils_hwaddr_ntoa() to output MAC addresses as strings since it's available and make sure they get freed to avoid leaks. -- Mathieu Trudel-Lapierre Thu, 27 Sep 2012 22:25:48 -0400 network-manager-applet (0.9.6.2-0ubuntu5) quantal; urgency=low * debian/patches/nm-applet-use-indicator.patch: Plug two small leaks. * debian/patches/lp1048520_delay_pin_dialog_in_greeter.patch: Delay PIN dialog when in greeter mode; it shouldn't show unless a user goes to activate a mobile connection which needs unlocking. (LP: #1048520) -- Mathieu Trudel-Lapierre Thu, 20 Sep 2012 16:40:24 -0400 network-manager-applet (0.9.6.2-0ubuntu4) quantal; urgency=low * debian/patches/make_menu_items_insensitive_based_on_permissions.patch, debian/patches/hide_policy_items_env_var.patch: Make "New Mobile Broadband connection..." item sensitive to permissions. (LP: #1048512) * debian/patches/lp1048516_dont_req_keyring_in_greeter.patch: don't have the pin dialog try to save passwords (and thus don't require a keyring) if the user doesn't have MODIFY_OWN permissions. (LP: #1048516) -- Mathieu Trudel-Lapierre Mon, 17 Sep 2012 15:05:13 -0400 network-manager-applet (0.9.6.2-0ubuntu3) quantal; urgency=low * debian/patches/applet_adhoc_use_wpa_rsn_part1.patch: enable the use of WPA2/RSN for adhoc again, instead of WPA-None; to provide a way to get a "good" encryption method available for adhoc networks. (LP: #1046918) -- Mathieu Trudel-Lapierre Fri, 07 Sep 2012 16:06:37 -0400 network-manager-applet (0.9.6.2-0ubuntu2) quantal; urgency=low * debian/patches/position_dialogs_to_center_of_the_screen.patch: make sure created dialogs (like password requests) are properly centered on the screen. (LP: #1043934) * debian/patches/make_menu_items_invisible_based_on_permissions.patch, debian/patches/hide_policy_items_env_var.patch: items that are disallowed by the effective PolicyKit policy for a user should be consistently showing as such: they should either be insensitive (greyed), or hidden altogether. (LP: #1043929) -- Mathieu Trudel-Lapierre Thu, 30 Aug 2012 14:27:42 -0400 network-manager-applet (0.9.6.2-0ubuntu1) quantal; urgency=low * New upstream release. - Fix GNOME Bluetooth plugin DUN modem detection and setup - Various crash and stability fixes - Allow appending DNS servers and domains in automatic addressing mode - Fix defaults for PPP echo values - Show IPv6 addressing page for VPN plugins that support it - Port to GSettings and split out 0.8 -> 0.9 migration code - Recognize PKCS#12 certificates imported from Firefox - Pre-fill CDMA username/password in the mobile broadband wizard - Only handle VPN secrets for GNOME Shell 3.3 and lower * debian/control: Bump Depends and Build-Depends to (>= 0.9.6) for network-manager and the libnm-{glib,util,glib-vpn}-dev packages. * debian/patches/git_fix_some_leaks_80ef61b.patch: cherry-picked patch to fix a few leaks: g_object_get() and gtk_tree_model_get() copy/ref the values they return, so make sure to deal with that everywhere. -- Mathieu Trudel-Lapierre Fri, 10 Aug 2012 15:44:44 -0400 network-manager-applet (0.9.6.0~git201207161252.13c6db8-0ubuntu3) quantal; urgency=low * Rebuild with current libgnome-bluetooth -- Sebastien Bacher Fri, 10 Aug 2012 11:59:51 +0200 network-manager-applet (0.9.6.0~git201207161252.13c6db8-0ubuntu2) quantal; urgency=low * debian/patches/lp341684_device_sensitive_disconnect_notify.patch: updated to respect the "disable-disconnected-notifications" settings. (LP: #445872) -- Matvey Marinin Thu, 02 Aug 2012 16:21:04 -0400 network-manager-applet (0.9.6.0~git201207161252.13c6db8-0ubuntu1) quantal; urgency=low * upstream snapshot 2012-07-16 12:52:27 (GMT) (LP: #1020429) + 13c6db880345b4123fb75d00905a5addbd046f92 * debian/rules: simplify version number for git snapshots. * debian/control: bump Depends/Build-Depends for NM to 0.9.5.95; since we require nm_utils_is_file_pkcs12(); which is introduced in that version. * debian/patches/revert_git_policy_error_dialog_ba8381a.patch: dropped, not required anymore. * debian/patches/nm-applet-use-indicator.patch: refreshed. * debian/patches/lp829673_gconf_hide_applet.patch: refreshed and revised to use gsettings instead of gconf. * debian/patches/series: moved nm-applet-use-indicator.patch to be the last applied; so that others are easier to push upstream. * debian/network-manager-gnome.install: - Install gsettings schemas. - Also install nm-applet-migration-tool; for the migration of gconf to gsettings. -- Mathieu Trudel-Lapierre Tue, 17 Jul 2012 17:17:08 -0400 network-manager-applet (0.9.5.95-1) experimental; urgency=low * New upstream release (0.9.6 rc1). * debian/network-manager-gnome.maintscript: Use versioning scheme as recommended by dpkg-maintscript-helper which better handles local modifications and (bin)NMUs. * Bump Build-Depends on libglib2.0-dev to (>= 2.26). * Bump Build-Depends on libnm-*-dev and network-manager-dev to (>= 0.9.5.95). * Install GSettings schemas, GConf conversion script and the split-off migration wizard nm-applet-migration-tool. * debian/patches/01-format-security.patch: Removed, merged upstream. * debian/patches/01-fix-crash-in-migration-wizard.patch: Fix a crash in g_object_unref() call when running the migration wizard. Patch cherry-picked from upstream Git. -- Michael Biebl Fri, 29 Jun 2012 21:03:59 +0200 network-manager-applet (0.9.4.1-5) unstable; urgency=low * debian/patches/11-user-connections.patch: Fix a bug in the check for whether to mark WEP keys as agent-owned. -- Michael Biebl Wed, 30 Jan 2013 02:33:26 +0100 network-manager-applet (0.9.4.1-4) unstable; urgency=low * debian/patches/12-force-online.patch: If NM has an active unmanaged device it will forcefully set the online state to CONNECTED_GLOBAL. In that case show a wired connection icon instead of an offline icon. (Closes: #471191) * Recommend gnome-keyring instead of libpam-keyring. The former is what we actually need for storing secrets in the user session. (Closes: #694695) * debian/patches/11-user-connections.patch: Treat WEP keys like WPA secrets and store them in the keyring for user-owned connections. -- Michael Biebl Thu, 17 Jan 2013 10:58:23 +0100 network-manager-applet (0.9.4.1-3) unstable; urgency=low [ Michael Biebl ] * Add Build-Depends on gnome-common which is required for autoreconf. [ Josselin Mouette ] * debian/patches/05-8021x-passwords-user.patch: patch from upstream git. Correctly set 802.1x passwords as agent-owned, so that they are stored in the user’s keyring. * debian/patches/11-user-connections.patch: new patch. Set passwords as agent-owned when they need to, to allow users without root permissions to easily configure their connections. (Closes: #696256) The logic is: - Bluetooth, CDMA and GSM connections: always user-owned - WEP/WPA connections: system-owned if user has the permissions (with NM’s config, that is netdev or sudo membership), user-owned otherwise. The password is stored in the keyring for WPA, not for WEP. - WiMax / Wired connections: always system-owned (with 802.1x passwords in the keyring). -- Michael Biebl Sun, 06 Jan 2013 09:57:29 +0100 network-manager-applet (0.9.4.1-2) unstable; urgency=low * debian/rules: Use xz compression for binary packages. * debian/control: Add network-manager-openconnect-gnome to Suggests. (Closes: #670724) * debian/patches/02-fix-shell-version-detecting-code.patch, debian/patches/03-dont-handle-VPN-secrets-with-GNOME-Shell-3.4.patch: Fix race condition on session startup when detecting the GNOME Shell version and only handle VPN authentication requests with GNOME Shell < 3.4 otherwise nm-applet and the Shell fight over who gets to handle secrets. Patches cherry-picked from upstream Git. (Closes: #680963) * debian/patches/04-gnome-bluetooth-3.4-support.patch: Add support for gnome-bluetooth 3.4 which uses GDBusProxy instead of DBusGProxy. This fixes the timeouts when creating DUN connections. Patch cherry-picked from upstream Git. (Closes: #680866) -- Michael Biebl Tue, 11 Sep 2012 21:51:03 +0200 network-manager-applet (0.9.4.1-1) unstable; urgency=low * New upstream release. * Bump Build-Depends on libnm-*-dev and network-manager-dev to (>= 0.9.4). * Drop unused Build-Depends on libpolkit-gobject-1-dev. * Remove patches, all merged upstream: - debian/patches/01-editor-policykit-authentication.patch - debian/patches/02-link-gconf-helper-test-against-gnome-keyring.patch - debian/patches/04-autostart.patch * Update debian/copyright using the machine-readable copyright format 1.0. * Bump Standards-Version to 3.9.3. * debian/patches/01-format-security.patch: Fix format string vulnerability in utils_show_error_dialog(). * Bump Depends on network-manager to (>= 0.9.4). -- Michael Biebl Sat, 24 Mar 2012 22:45:34 +0100 network-manager-applet (0.9.4.1-0ubuntu3) quantal; urgency=low * No-change rebuild for libgnome-bluetooth10. -- Mathieu Trudel-Lapierre Wed, 16 May 2012 21:25:09 -0400 network-manager-applet (0.9.4.1-0ubuntu2) precise; urgency=low * debian/patches/nm-applet-use-indicator.patch: move the tooltip/accessible description update to after the tooltip string gets updated; so that we get the right string rather than what was just changed. (LP: #944766) -- Mathieu Trudel-Lapierre Tue, 03 Apr 2012 12:24:24 -0400 network-manager-applet (0.9.4.1-0ubuntu1) precise; urgency=low * New upstream release 0.9.4.1. - Bugfix release. - mobile: fix some memory leaks - applet: don't call nm_secret_agent_register() when the agent is registered - applet: fix an uninitialized variable - applet: track GNOME Shell version, not just whether it's running - Add NotShowIn=KDE to .desktop files (bgo #660046) - applet: fix pixbuf leak when mobile broadband is connected (lp:939802) * debian/control: bump Build-Depends and Depends for libnm-*-dev and the network-manager(-dev) packages to 0.9.4. * debian/control: drop unused Build-Depends on libpolkit-gobject-1-dev. * debian/patches/04-autostart.patch: dropped, applied upstream. * debian/patches/lp939802_fix_mobile_icon_leak.patch: dropped, applied upstream. * debian/patches/lp289466_always_show_tray_icon.patch: refreshed. * debian/patches/nm-applet-use-indicator.patch: refreshed and cleaned up. * debian/patches/revert_git_policy_error_dialog_ba8381a.patch: revert commit ba8381a: don't show an error dialog when connection creation, disconnects, or activations fail; we already have a warning message. * debian/patches/lp341684_device_sensitive_disconnect_notify.patch: drop the notification urgency back to NORMAL from CRITICAL for offline notifications since they otherwise "stick around" in Gnome Shell. (LP: #883443) -- Mathieu Trudel-Lapierre Thu, 29 Mar 2012 14:19:26 -0400 network-manager-applet (0.9.3.995+git.20120313t141231.c89224f-0ubuntu2) precise; urgency=low * debian/patches/lp939802_fix_mobile_icon_leak.patch: avoid leaking memory due to badly keeping track of references to device icons. (LP: #939802) -- Mathieu Trudel-Lapierre Mon, 19 Mar 2012 20:11:38 -0400 network-manager-applet (0.9.3.995+git.20120313t141231.c89224f-0ubuntu1) precise; urgency=low * upstream snapshot 2012-03-13 14:12:31 (GMT) + c89224f42f7cee4fca7369a890011a67350d8ff6 - Freeze Exception: (LP: #953123) - Adding EAP-FAST support in UI. - mobile-wizard: fix sensitizing providers' list (LP: #894249) * debian/patches/lp912150_lazy_notify_init.patch: dropped, applied upstream. * debian/patches/lp330571_dxteam_wired_connect_text.patch: refreshed. * debian/patches/lp330608_dxteam_gsm_connect_text.patch: refreshed. * debian/patches/nm-applet-use-indicator.patch: refreshed. * debian/patches/no_Werror.patch: dropped, applied upstream. * debian/rules: pass --enable-more-warnings=no to retain the same behavior as with the no_Werror.patch. -- Mathieu Trudel-Lapierre Wed, 14 Mar 2012 16:03:22 -0400 network-manager-applet (0.9.2.0+git.20120126t000800.5151959-0ubuntu4) precise; urgency=low * debian/patches/lp829673_gconf_hide_applet.patch: only set the applet GtkStatusIcon to be visible when the icon is updated if the indicator is in fallback mode. (LP: #938380) -- Mathieu Trudel-Lapierre Mon, 27 Feb 2012 12:41:59 -0500 network-manager-applet (0.9.2.0+git.20120126t000800.5151959-0ubuntu3) precise; urgency=low * debian/patches/lp829673_gconf_hide_applet.patch: allow toggling the applet visibility. (LP: #829673) * debian/patches/nm-applet-use-indicator.patch: completely replace the old wireless menu item creation code overriding NMNetworkMenuItem objects to rewrite it more simply with GtkImageMenuItems. This should really take care of the memory leaks. (LP: #930491) -- Mathieu Trudel-Lapierre Mon, 20 Feb 2012 13:58:49 -0500 network-manager-applet (0.9.2.0+git.20120126t000800.5151959-0ubuntu2) precise; urgency=low * debian/patches/nm-applet-use-indicator.patch: - polish look for the fallback: make sure we keep track of the fallback state to avoid trampling over the menu for the GtkStatusIcon. - clean up after objects and signals to avoid leaking memory. - reduce the frequency of menu updates; updating on BSSID signal strength changes is too expensive in noisy environments. - add a call to app_indicator_set_title() for Unity HUD support. -- Mathieu Trudel-Lapierre Thu, 16 Feb 2012 12:33:29 -0500 network-manager-applet (0.9.2.0+git.20120126t000800.5151959-0ubuntu1) precise; urgency=low [ Mathieu Trudel-Lapierre ] * upstream snapshot 2012-01-26 00:08:00 (GMT) + 515195990c5b36171d30cdd9e62c76f117f25c7e * debian/rules, debian/control: use dh-translations to make sure we get an updated translation template. Thanks to Gabor Kelemen for the patch. (LP: #879017) * debian/patches/vpn-import-export-dir.patch: dropped, applied upstream. * debian/patches/lp337960_dxteam_notification_icon_names.diff: refreshed. * debian/patches/lp912150_lazy_notify_init.patch: refreshed. * debian/patches/no_Werror.patch: drop changes to configure, which aren't needed since we use autoreconf. * debian/patches/nm-applet-use-indicator.patch: rework to avoid "flashing" every time the menu is opened. We're back to updating when AP, devices, etc. change and when new VPN connections are added, which should cover most cases. (LP: #823955) [ Luke Yelavich ] * Present wireless network strength and security status for wireless networks to screen reader users. -- Mathieu Trudel-Lapierre Mon, 06 Feb 2012 12:08:33 -0500 network-manager-applet (0.9.2.0-2) unstable; urgency=low * Fix versioned Build-Depends on dpkg-dev. The buildflags.mk snippet was added in version 1.16.1, not 1.6.1. * debian/patches/01-editor-policykit-authentication.patch - Fix interaction of single-edit mode with PolicyKit authentication. Patch cherry-picked from upstream Git. (Closes: #652961) * debian/patches/02-link-gconf-helper-test-against-gnome-keyring.patch - Fix linking with gnome-keyring in a gconf-helpers test program. Patch cherry-picked from upstream Git. -- Michael Biebl Wed, 01 Feb 2012 15:14:40 +0100 network-manager-applet (0.9.2.0-1) unstable; urgency=low * New upstream release. * Remove debian/patches/01-export-symbols.patch, merged upstream. * debian/control: - Bump Build-Depends on libnm-*-dev and network-manager-dev to (>= 0.9.2). - Bump Depends on network-manager to (>= 0.9.2). - Update Depends of libnm-gtk-dev according to libnm-gtk.pc. * Enable default hardening options from dpkg-buildflags. - Use buildflags.mk snippet in debian/rules. - Add Build-Depends on dpkg-dev (>= 1.6.1). -- Michael Biebl Sat, 12 Nov 2011 06:08:08 +0100 network-manager-applet (0.9.1.95-1) experimental; urgency=low * New upstream release (0.9.2 rc1). * Provide libnm-gtk as a private library for wireless and mobile dialogs: - Add packages for libnm-gtk0, libnm-gtk-dev and libnm-gtk-common. - Add debian/patches/01-export-symbols.patch to restrict the number of exported symbols. - Use dh-autoreconf to update the build system. * debian/control: - Bump Build-Depends on libnm-*-dev and network-manager-dev to (>= 0.9.1). - Add Build-Depends on iso-codes. - Add Recommends on iso-codes for translated country names in the mobile broadband wizard. -- Michael Biebl Fri, 04 Nov 2011 12:47:42 +0100 network-manager-applet (0.9.1.90-0ubuntu7) precise; urgency=low * Add no_Werror.patch: Disable building with -Werror to avoid build failure due to deprecated API with GTK 3.3.x. * Add lp912150_lazy_notify_init.patch: Avoid spawning the notification daemon at startup through querying server caps. Instead, cache the result in applet_notify_server_has_actions() and initialize it lazily. (LP: #912150) * clear-notification-actions.patch: Unfuzz for above patch. -- Martin Pitt Fri, 06 Jan 2012 12:25:47 +0100 network-manager-applet (0.9.1.90-0ubuntu6) oneiric; urgency=low * debian/patches/lp830178_adhoc_ip6_ignore.patch: fix adhoc network activation by disabling IPv6 (where sharing isn't supported anyway), so dnsmasq only gets started once and doesn't cause connections to fail. (LP: #830178) -- Mathieu Trudel-Lapierre Mon, 03 Oct 2011 16:21:01 -0400 network-manager-applet (0.9.1.90-0ubuntu5) oneiric; urgency=low * debian/patches/04-autostart.patch: - revert: disable autostart when using gnome-shell (LP: #863120) -- Mathieu Trudel-Lapierre Fri, 30 Sep 2011 14:34:44 -0400 network-manager-applet (0.9.1.90-0ubuntu4) oneiric; urgency=low * debian/control: drop libnm-gtk0 Depends for network-manager to Recommends. -- Mathieu Trudel-Lapierre Thu, 29 Sep 2011 12:55:36 -0400 network-manager-applet (0.9.1.90-0ubuntu3) oneiric; urgency=low * debian/libnm-gtk-dev.install: - Add missing .pc file (LP: #861443) -- Rodrigo Moya Thu, 29 Sep 2011 10:24:08 +0200 network-manager-applet (0.9.1.90-0ubuntu2) oneiric; urgency=low * debian/control, debian/network-manager-gnome.install, debian/libnm-gtk-common.install, debian/libnm-gtk0.install: move wifi.ui from libnm-gtk0 to libnm-gtk-common and the bluetooth plugin libnma.so back to network-manager-gnome. * debian/control: fixup package Descriptions. -- Mathieu Trudel-Lapierre Mon, 26 Sep 2011 17:52:19 -0400 network-manager-applet (0.9.1.90-0ubuntu1) oneiric; urgency=low * New upstream release. - Split wireless/mobile dialogs into a new libnm-gtk library. [ Dylan McCall ] * debian/patches/04-autostart.patch: - disable autostart when using gnome-shell (LP: #852961) [ Mathieu Trudel-Lapierre ] * debian/control: add libnm-gtk0 and libnm-gtk-dev binary packages. * debian/control: bump network-manager-dev, libnm-*-dev Build-Depends to (>= 0.9.1). * debian/control: add iso-codes to Build-Depends. * debian/network-manager-gnome.install, debian/libnm-gtk0.install, debian/libnm-gtk-dev.install: install files to the right packages now that we have multiple binary packages. * debian/patches/nm-applet-use-indicator.patch: refresh. * debian/control, debian/rules: add network-manager-gnome-dbg. (LP: #415394) * debian/patches/vpn-import-export-dir.patch: fix default path for importing or exporting VPN connections. (LP: #634913) * debian/patches/mobile-wizard.patch: clear up the mobile wizard intro page buttons and titles. (LP: #856785) -- Mathieu Trudel-Lapierre Fri, 23 Sep 2011 15:25:35 -0400 network-manager-applet (0.9.0-4) unstable; urgency=low * debian/watch: Track .xz tarballs. * Use the new maintscript facility in dh_installdeb to remove the obsolete conffile. * Update the last unfixed version to 0.9.0-3 as we missed to remove the old conffile for users upgrading from 0.8.4-2 or 0.8.4-3. (Closes: #645450) -- Michael Biebl Wed, 19 Oct 2011 10:37:45 +0200 network-manager-applet (0.9.0-3) unstable; urgency=low * Build against GTK 3 and gnome-bluetooth 3. (Closes: #623781) * Add Breaks against gnome-bluetooth (<< 3.0). -- Michael Biebl Thu, 13 Oct 2011 19:44:10 +0200 network-manager-applet (0.9.0-2) unstable; urgency=low * On upgrades tell update-notifier to show a reboot-required notification since older versions of nm-applet will no longer work with network-manager 0.9 and need to be restarted. * Upload to unstable. -- Michael Biebl Sat, 17 Sep 2011 21:06:53 +0200 network-manager-applet (0.9.0-1) experimental; urgency=low * New upstream release. * debian/control - Bump Build-Depends on libnm-*-dev and network-manager-dev to (>= 0.9). - Bump Build-Depends on libnotify-dev to (>= 0.7). - Bump Depends on network-manager to (>= 0.9). - Restrict Build-Depends on libgnome-bluetooth-dev to (<< 3.0.0). -- Michael Biebl Wed, 24 Aug 2011 15:00:38 +0200 network-manager-applet (0.9.0-0ubuntu3) oneiric; urgency=low * debian/patches/clear-notification-actions.patch: clear actions tied to notifications being sent; otherwise stacking notifications also causes the attached actions to be stacked (resulting in multiple "Don't show this" buttons appearing in the notification bubble. (LP: #606825) * debian/control: drop gnome-bluetooth to Suggests. (LP: #844027) * debian/patches/key-certificate-extensions.patch: allow using a key certificate with a .key extension in network security dialogs. (LP: #839864) -- Mathieu Trudel-Lapierre Thu, 15 Sep 2011 13:48:23 -0400 network-manager-applet (0.9.0-0ubuntu2) oneiric; urgency=low * debian/patches/default-ipv6-auto.patch: don't expect a missing DHCPv6 method value to mean "Ignore", when it now means "use DHCP". (LP: #761558) * debian/patches/nm-applet-use-indicator.patch: (LP: #819617) - rework, drop a lot of unnecessary changes. - turn the GtkStatusIcon back on. - use custom AppIndicator fallbacks to show/hide the GtkStatusIcon. -- Mathieu Trudel-Lapierre Fri, 02 Sep 2011 15:33:05 -0400 network-manager-applet (0.9.0-0ubuntu1) oneiric; urgency=low * New upstream release. -- Mathieu Trudel-Lapierre Wed, 24 Aug 2011 11:50:06 -0400 network-manager-applet (0.8.9997+git.20110726t113022.cc3d423-0ubuntu1) oneiric; urgency=low * upstream snapshot 2011-07-26 11:30:22 (GMT) + cc3d42317acec0d027e1ccdabb6a4b96bbafbb7d - agent: fix various VPN secret saving issues - editor: remove dead VPN save secrets code - agent: save updated secrets before sending to NetworkManager - editor: get secrets for VPN export too - cdma: enable registration state home/roaming notifications - editor: default to IPv6 Auto for manually created connections too - editor: change "Device MAC address" to combo box with an entry -- Mathieu Trudel-Lapierre Wed, 27 Jul 2011 17:42:36 -0400 network-manager-applet (0.8.9997+git.20110707t152406.340f695-0ubuntu1) oneiric; urgency=low * upstream snapshot 2011-07-07 15:24:06 (GMT) + 340f69597ea787cebf690b73de2d4c8c78f7b16c - editor: update secret flags when updating visibility - applet: don't show irrelevant security options during secrets requests - added translations * debian/control: drop gksu from network-manager-gnome Depends. * debian/patches/nm-applet-use-indicator.patch: - refreshed. - rework menu update code to trigger on dbusmenu about-to-show signal (LP: #791770, #764451) -- Mathieu Trudel-Lapierre Fri, 08 Jul 2011 01:07:05 -0400 network-manager-applet (0.8.9997+git.20110616t193616.b2e6a33-0ubuntu1) oneiric; urgency=low * upstream snapshot 2011-06-16 19:36:16 (GMT) + b2e6a33e2c870df26fca0daa618eadaa4bb81751 - editor: fix resizing GtkNotebook when user resizes main window - applet: fix "Configure VPN" menu item to show the editor's VPN tab - editor: fix calling connections_read() on freed data - ui: ensure entries activate default button if Enter is pressed - applet: mark VPN notifications as transient (bgo #652143) - applet: fix possible crash when gtk_entry_get_text() returns NULL - gsm: add registration status notification - applet: use generic icons for GSM registration notifications * debian/patches/lp460144_correctly_update_notification.patch: refreshed. * debian/patches/nm-applet-use-indicator.patch: refreshed. -- Mathieu Trudel-Lapierre Fri, 17 Jun 2011 15:36:31 -0400 network-manager-applet (0.8.9997+git.20110529t170033.9ec4c5d-0ubuntu1) oneiric; urgency=low * upstream snapshot 2011-05-29 17:00:33 (GMT) + 9ec4c5de855de5d9ee6c17752c3b0de6c68e9384 - applet: fix leak in import/upgrade code (LP: #784756) * debian/rules: switch back to git "master" branch. * debian/patches/0001-applet-fix-possibly-uninitialized-variable.patch: drop, this is fixed upstream. * debian/patches/04-autostart.patch: refreshed. * debian/patches/20_use_full_vpn_dialog_service_name_path.patch: refreshed. * debian/patches/lp328572-dxteam-connect-text.patch: refreshed. * debian/patches/lp337960_dxteam_notification_icon_names.diff: refreshed. * debian/patches/lp341684_device_sensitive_disconnect_notify.patch: refresh. * debian/patches/lp460144_correctly_update_notification.patch: refreshed. * debian/patches/lp341684_device_sensitive_disconnect_notify.patch: refresh. * debian/patches/lp358526_generic_disconnected_notification_icon.patch: refreshed. * debian/patches/nm-applet-use-indicator.patch: refreshed and modified to build with GTK3 appindicator. - properly free icon_name for indicators (LP: #724554), thanks JKL. - fix leak in applet_menu_item_add_complex_separator_helper due to new'ing a GtkSeparatorMenuItem on top of a GtkImageMenuItem (LP: #784711). * debian/control: - Bump Build-Depends to libappindicator3-dev. - Update Build-Depends for GTK to libgtk-3-dev. - Bump network-manager and libnm Depends and Build-Depends to 0.8.998. * debian/rules, debian/patches/series: pass --libexecdir to configure, which now renders the patch 20_use_full_vpn_dialog_service_name_path.patch unnecessary, so we're dropping it. * debian/patches/20_use_full_vpn_dialog_service_name_path.patch: dropped, see above. -- Mathieu Trudel-Lapierre Mon, 30 May 2011 13:25:18 -0400 network-manager-applet (0.8.9997-1) experimental; urgency=low * New upstream release (0.9 rc3). - Fixes unused-but-set-variable warnings. (Closes: #625400) -- Michael Biebl Sun, 29 May 2011 23:02:21 +0200 network-manager-applet (0.8.999-1) experimental; urgency=low * New upstream release (0.9 rc2). * Merge changes from unstable branch. -- Michael Biebl Wed, 04 May 2011 23:27:46 +0200 network-manager-applet (0.8.998-1) experimental; urgency=low * New major upstream release (0.9 rc1). * debian/control - Bump Build-Depends on libnm-*-dev and network-manager-dev to (>= 0.8.998). - Bump Build-Depends on libgtk2.0-dev to (>= 2.20). - Bump Depends on network-manager to (>= 0.8.998). - Bump Standards-Version to 3.9.2. No further changes. * debian/rules - Build against GTK+ version 2. * User settings are gone. - Drop debian/patches/01-dbus_access_nm_applet.patch, obsolete. - Remove /etc/dbus-1/system.d/nm-applet.conf on upgrades. Use dpkg-maintscript-helper to remove the conffile. * Refresh debian/patches/04-autostart.patch. -- Michael Biebl Sat, 09 Apr 2011 20:18:31 +0200 network-manager-applet (0.8.4-3) unstable; urgency=low * debian/rules - Disable additional compiler warnings (including -Werror) as it causes build failures with GCC 4.6. (Closes: #634392) -- Michael Biebl Sun, 31 Jul 2011 17:00:14 +0200 network-manager-applet (0.8.4-2) unstable; urgency=low * debian/patches/0001-applet-fix-possibly-uninitialized-variable.patch - Cherry-pick patch from upstream Git to fix possibly uninitialized variable. (Closes: #625016) -- Michael Biebl Tue, 03 May 2011 03:09:15 +0200 network-manager-applet (0.8.4-1) unstable; urgency=low * New upstream release. * debian/control - Bump Build-Depends on libnm-*-dev and network-manager-dev to (>= 0.8.4). - Bump Standards-Version to 3.9.2. No further changes. - Update package description. -- Michael Biebl Thu, 21 Apr 2011 17:17:22 +0200 network-manager-applet (0.8.4-0ubuntu1) oneiric; urgency=low * New upstream release 0.8.4. * debian/source/format: migrate to debian source format 3.0 (quilt). * debian/control: sync with Debian's changes: - drop a bunch of old, unnecessary build dependencies. - keep in Build-Depends: libiw-dev, libxml-parser-perl, libnss3-dev, libappindicator-dev - add to Build-Depends: dh-autoreconf and libnm-glib-vpn-dev. - network-manager-gnome: specify package's Section as gnome. - network-manager-gnome: add policykt-1-gnome, gnome-icon-theme, dbus-x11 to Depends. - network-manager-gnome: now Recommends gnome-bluetooth. - network-manager-gnome: add Suggests for the VPN plugins. - adjust network-manager-gnome long description to match Debian's. - bump Standards-Version to 3.9.2. * debian/compat: bump to compat level 8. * debian/copyright: sync with Debian's copyright file. * debian/rules: - migrate to dh instead of CDBS. - use dh-autoreconf to reconfigure the build tree. - drop old dapper-to-intrepid and karmic-to-lucid workarounds for icon changes. - we switch to using png icons directly instead of uuencoded png files; so remove the uudecode parts that are no longer necessary. - don't empty aclocal.m4. - do some extra cleanup of files left behind by the build process. - drop configure parameters --with-mbca, --with-nss, --without-gnutls. * debian/icons/22/*: replace uuencoded png icons by their original, decoded versions. * debian/source/include-binaries: add .png icons to included-binaries. * debian/network-manager-gnome.README.Debian: include Debian's README.Debian file for network-manager-gnome, minus the part about using the netdev user. * debian/network-manager-gnome.docs: install NEWS from upstream. * Fix the manpage so it actually gets installed: - Rename network-manager-applet.manpages to network-manager-gnome.manpages. - Sync nm-applet.sgml with the file from Debian. * debian/patches/04-autostart.patch, debian/patches/lp268803_xdg_autostart_gnome_xfce_only.patch, debian/patches/lp295788_xfce_menu_entry.patch: Install the 04-autostart.patch patch, editing the .desktop files from Debian and adjust it to also replace OnlyShowIn with NotShowIn=KDE for nm-connection-editor. This renders the two other patches obsolete, so drop them. Also fixes (LP: #753300). * debian/patches/0001-applet-fix-possibly-uninitialized-variable.patch: Include that patch from Debian which fixes a potential FTBFS. - This makes debian/patches/applet-dialog-uninited-method.patch obsolete. * debian/patches/lp328572-dxteam-connect-text.patch: refreshed so it applies cleanly. * debian/patches/lp330608_dxteam_gsm_connect_text.patch: refreshed so it applies cleanly. * debian/patches/lp341684_device_sensitive_disconnect_notify.patch: refreshed so it applies cleanly. -- Mathieu Trudel-Lapierre Wed, 18 May 2011 14:50:06 -0400 network-manager-applet (0.8.3.999-1) unstable; urgency=low * New upstream release (0.8.4 rc2). * Update debian/watch, switch to bzip2. -- Michael Biebl Mon, 04 Apr 2011 23:38:51 +0200 network-manager-applet (0.8.3.998-1) unstable; urgency=low * New upstream release (0.8.4 rc1). - Show IPv6 information in Connection Information dialog. (Closes: #606929) * debian/control - Drop Build-Depends on libglade2-dev, converted to GtkBuilder. - Bump Build-Depends on libnm-*-dev and network-manager-dev to (>= 0.8.3.995). -- Michael Biebl Fri, 18 Mar 2011 21:37:12 +0100 network-manager-applet (0.8.4~git.20110318t152954.9c4c9a0-0ubuntu1) natty; urgency=low * upstream snapshot 2011-03-18 15:29:54 (GMT) + 9c4c9a0f689fa3920b7b083f04479fc094cdbec2 - release: bump version to 0.8.3.998 (0.8.4-rc1) - gconf: fix accessing freed memory - applet: don't overwrite already-migrated certificate paths (rh #682288) - release: bump version to 0.8.3.997 (0.8.4-beta3) - eap: make DER certificate checking code endian-safe - Updated Polish translation - applet: update about dialog copyright to 2011 * debian/patches/nm-applet-use-indicator.patch, debian/patches/indicator-accessible-desc.patch, debian/patches/series: Fold in accessible descriptions in the general indicator patch. * debian/patches/nm-applet-use-indicator.patch: rework patch for inclusion in nm-applet proper, following recommendations from Dan Williams. * debian/patches/nm-applet-use-indicator.patch: don't escape underscores in SSIDs. (LP: #739490) * debian/control: bump network-manager, libnm-glib2 and libnm-util1 Build-Depends to 0.8.4~. * debian/control: bump network-manager Depends to 0.8.4~. -- Mathieu Trudel-Lapierre Wed, 23 Mar 2011 16:00:42 -0400 network-manager-applet (0.8.4~git.20110228t141430.abba62f-0ubuntu1) natty; urgency=low * upstream snapshot 2011-02-28 14:14:30 (GMT) + abba62fe1c22422bb84f12875fd3612b90ead434 - editor: fix usage of nm_connection_update_secrets() (LP: #721071) - release: bump version to 0.8.3.996 (0.8.4-beta2) - mobile: fix path to GtkBuilder file - applet: blacklist "Free Public Wifi" (LP: #659461) - applet: consolidate manufacturer default SSID lists - release: bump version to 0.8.3.995 (0.8.4-beta1) - release: update NEWS with changes since 0.8.2 - editor: remove unused argument from CEPage 'initialized' signal - bluetooth: don't create empty plugin dirs when disabled (bgo #641300) - Updated Polish translation * debian/patches/nm-applet-use-indicator.patch: Further update indicator patch to fix memory leaks in get_best_icon_name_for_ap(). (LP: #724554) * debian/patches/nm-applet-use-indicator.patch: Set indicator icon for mobile according to the connection's current signal strength (LP: #726669) * debian/patches/indicator-accessible-desc.patch: provide accessible descriptions for the various icons and devices states for NetworkManager (LP: #719736) -- Mathieu Trudel-Lapierre Fri, 04 Mar 2011 15:05:58 -0500 network-manager-applet (0.8.3+git.20110203t003354.9bf0b98-0ubuntu1) natty; urgency=low * upstream snapshot 2011-02-03 00:33:54 (GMT) + 9bf0b98073bee4905bb00b4658d8fd78c84a831f * debian/control: Drop the mobile-broadband-provider-info dependency to a Recommends. (LP: #582404) * debian/patches/nm-applet-use-indicator.patch: revert Flight Mode, it's confusing users and not accurate; plus doesn't allow re-enabling just wifi from flight mode (when flights allow wifi, for instance) (LP: #704295, #712122) * debian/patches/nm-applet-use-indicator.patch: disconnect a VPN connection when it's activated and its GtkCheckMenuItem is clicked. (LP: #701004) * debian/patches/applet-wifi-menu-before-vpn.patch: move Connect to Hidden, Create New wireless items below the VPN submenu. * debian/control: bump Standards-Version to 3.9.1. * debian/control: move Homepage to its own field. -- Mathieu Trudel-Lapierre Tue, 15 Feb 2011 09:53:22 -0500 network-manager-applet (0.8.3+git.20110114t131931.fd589a7-0ubuntu5) natty; urgency=low * debian/patches/nm-applet-use-indicator.patch: do not add the About menu item. -- Mathieu Trudel-Lapierre Fri, 28 Jan 2011 14:14:35 -0500 network-manager-applet (0.8.3+git.20110114t131931.fd589a7-0ubuntu4) natty; urgency=low * debian/patches/nm-applet-use-indicator.patch: Unbreak CDMA modems: the piece of code added to workaround mobile disable not working shows CDMA as always disabled. (LP: #705196) -- Mathieu Trudel-Lapierre Thu, 27 Jan 2011 12:54:17 -0500 network-manager-applet (0.8.3+git.20110114t131931.fd589a7-0ubuntu3) natty; urgency=low * Ship fallback icons for the new *-secure icons we need (as well as links for the 3g ones). - update debian/rules - add debian/icons/22/nm-device-wired-secure.png.uue - add debian/icons/22/nm-signal-00-secure.png.uue - add debian/icons/22/nm-signal-25-secure.png.uue - add debian/icons/22/nm-signal-50-secure.png.uue - add debian/icons/22/nm-signal-75-secure.png.uue - add debian/icons/22/nm-signal-100-secure.png.uue -- Mathieu Trudel-Lapierre Thu, 20 Jan 2011 17:06:37 -0500 network-manager-applet (0.8.3+git.20110114t131931.fd589a7-0ubuntu2) natty; urgency=low * debian/patches/nm-applet-use-indicator.patch: Fix memory leak in escape_mnemonics(). -- Anders Kaseorg Wed, 19 Jan 2011 15:29:52 -0500 network-manager-applet (0.8.3+git.20110114t131931.fd589a7-0ubuntu1) natty; urgency=low * upstream snapshot 2011-01-14 13:19:31 (GMT) + fd589a743f2484dd19495951cb1d498b8902ff4b - applet: show IPv6 stuff in Connection information window - mobile-wizard: use "Country or region" term (bgo #618511) * Collapse the Enable networking, wireless, mobile broadband into just one menu item (Flight mode), which toggles all radio-based systems (everything but wired). * Clean up some of the separations by removing the "Available" items, turning it into a plain separator. * Do some further rework of the indicator patch: dispatch menu rebuilds only when no other events are happening, which should reduce the number of spurious errors messages in .xsession-errors. * Drop the patch for fixing races in getting enable/disable permissions; it's been upstream for a long while (was a backport). - deleted debian/patches/lp637930_fix_race_in_permissions-changed.patch * Fix an uninitialized variable in the new code to show IPv6 address info in the Connection Information dialog. - added debian/patches/applet-dialog-uninited-method.patch - updated debian/patches/series -- Mathieu Trudel-Lapierre Mon, 17 Jan 2011 14:53:13 -0500 network-manager-applet (0.8.3+git.20101209t081952.0330eca-0ubuntu3) natty; urgency=low * Re-instate animations while processing network association phases, it tends to be annoying and confusing without them. (LP: #694534) * Provide and use premade theme icons for wireless strength *with security*, which include the padlock already composited. - Enable icons in menus for wireless strength and security. (LP: #683896) - Re-use the same icons to notify the user that they are connected to a VPN-secured connection. (LP: #696442) * Clean up code paths for GSM and CDMA devices which still tried to create a custom widget to add to the menu -- replaced it with a simple image menu item. * Escape underscores in SSID names so they display with the correct name rather than underlining the next character (as a mnemonic). -- Mathieu Trudel-Lapierre Fri, 07 Jan 2011 12:52:06 -0500 network-manager-applet (0.8.3+git.20101209t081952.0330eca-0ubuntu2) natty; urgency=low * Update indicator patch to not re-create the menu on a device-added signal, only on state-changed (which gets called anyway). This should fix the crash for GSM/CDMA devices when they are plugged in as nm-applet starts. (LP: #692234) - update debian/patches/nm-applet-use-indicator.patch -- Mathieu Trudel-Lapierre Mon, 20 Dec 2010 14:51:52 -0500 network-manager-applet (0.8.3+git.20101209t081952.0330eca-0ubuntu1) natty; urgency=low * upstream snapshot 2010-12-09 08:19:52 (GMT) + 0330ecae2eec0d4dfccd57921f1992b8e245e2da - core: convert to GtkBuilder (bgo #625248) - when no VPN plugin is installed, indicate that in the tooltip of "Add" button * Refresh notifications update patch, which needed some rework due to upstream libnotify >= 0.7 fixes. - update debian/patches/lp460144_correctly_update_notification.patch * Rip out some more GtkImageMenuItems from the indicator menus, since they tend to cause spewage of Glib/Gtk errors on .xsession-errors. They do not show on a default install anyway. Also refresh the patch for libnotify changes. - update debian/patches/nm-applet-use-indicator.patch * Switch from regularly updating the menus to doing it "on-demand", by following the signals sent from NetworkManager on device state changes. - update debian/patches/nm-applet-use-indicator.patch * More changes to indicator patch for making sure allocated memory gets freed. - update debian/patches/nm-applet-use-indicator.patch -- Mathieu Trudel-Lapierre Fri, 10 Dec 2010 17:51:44 -0500 network-manager-applet (0.8.2+git.20101123t161608.f143e76-0ubuntu1) natty; urgency=low * upstream snapshot 2010-11-23 16:16:08 (GMT) + f143e7629749acdb20de072372fbd471ec2c19a8 * Refreshed debian/patches/lp295788_xfce_menu_entry.patch * Refreshed debian/patches/lp337960_dxteam_notification_icon_names.diff * Refreshed debian/patches/lp341684_device_sensitive_disconnect_notify.patch * more workflow updates to get the daily builds to work with different branches - update debian/rules * Now draw the applet and applet's menus using libappindicator. - add debian/patches/nm-applet-use-indicator.patch - update debian/patches/series * Explicitly turn on libappindicator support with --enable-indicator. - update debian/rules * Add Build-Depends for libappindicator-dev - update debian/control -- Mathieu Trudel-Lapierre Mon, 29 Nov 2010 10:38:51 -0500 network-manager-applet (0.8.2-4) unstable; urgency=low * debian/control - Drop Build-Depends on libiw-dev. No longer needed. - Bump Build-Depends on debhelper to (>= 8). - Bump Depends on network-manager to (>= 0.8.2). * Bump debhelper compatibility level to 8. -- Michael Biebl Mon, 07 Mar 2011 01:38:40 +0100 network-manager-applet (0.8.2-3) unstable; urgency=low * Upload to unstable. -- Michael Biebl Mon, 07 Feb 2011 01:07:50 +0100 network-manager-applet (0.8.2-2) experimental; urgency=low * Switch from cdbs to dh - Drop Build-Depends on cdbs. - Bump Build-Depends on debhelper to (>= 7.0.50~) for override targets. - Convert debian/rules to use dh. - Add debian/network-manager-gnome.docs. -- Michael Biebl Wed, 22 Dec 2010 04:34:56 +0100 network-manager-applet (0.8.2-1) experimental; urgency=low * New upstream release. * Update Vcs-* fields: Move packaging from svn to git. * Remove patches, merged upstream - debian/patches/02-hide-pin-in-pin-puk-dialog-by-default.patch - debian/patches/03-enter-closes-pin-puk-dialog.patch * debian/control - Bump Build-Depends on libnm-* packages to (>= 0.8.2). -- Michael Biebl Sat, 18 Dec 2010 12:34:37 +0100 network-manager-applet (0.8.1+git.20100809t190028.290dc70-0ubuntu3) maverick; urgency=low * Cherry-pick upstream commit c7b5312 to fix greyed-out Enable Networking items in context menu (LP: #637930) - added debian/patches/lp637930_fix_race_in_permissions-changed.patch - modified debian/patches/series -- Mathieu Trudel-Lapierre Thu, 16 Sep 2010 10:23:15 -0400 network-manager-applet (0.8.1+git.20100809t190028.290dc70-0ubuntu2) maverick; urgency=low * Bump Build-Depends for network-manager-dev, libnm-glib-dev, libnm-util-dev to be >= 0.8.1. - update debian/control -- Mathieu Trudel-Lapierre Wed, 11 Aug 2010 10:48:13 -0400 network-manager-applet (0.8.1+git.20100809t190028.290dc70-0ubuntu1) maverick; urgency=low * upstream snapshot 2010-08-09 19:00:28 (GMT) + 290dc707f2076135eac02ed2d975912cb1ae80ce * update debian/rules: - switch GIT_BRANCH to NMA_0_8, be conservative: only track 0.8.1 for now. - update get-orig-source/branch code to properly deal with branch switch. * refresh the device disconnection notification patch, update to new code base - updated debian/patches/lp341684_device_sensitive_disconnect_notify.patch * refreshed vpn service name patch, update to new code base - updated debian/patches/20_use_full_vpn_dialog_service_name_path.patch * delete lazy icon loading patch from seb128, it's applied upstream - deleted debian/patches/bgo609134_lazy_icons.patch - updated debian/patches/series * delete lazy notification capabilities checking from pitti: applied upstream - deleted debian/patches/bgo610881_lazy_init_notify_caps.patch - updated debian/patches/series * bump DEB_AUTO_UPDATE_ACLOCAL and DEB_AUTO_UPDATE_AUTOMAKE to 1.11 - update debian/rules * refreshed the patch to always show the tray icon - update debian/patches/lp289466_always_show_tray_icon.patch -- Mathieu Trudel-Lapierre Wed, 11 Aug 2010 10:09:37 -0400 network-manager-applet (0.8.1-2) unstable; urgency=low * debian/patches/02-hide-pin-in-pin-puk-dialog-by-default.patch - Hide PIN in PIN/PUK dialog by default. (Closes: #592364) Patch cherry-picked from upstream Git. * debian/patches/03-enter-closes-pin-puk-dialog.patch - Ensure Enter closes the PIN/PUK dialog. Patch cherry-picked from upstream Git. -- Michael Biebl Wed, 17 Nov 2010 23:49:29 +0100 network-manager-applet (0.8.1-1) unstable; urgency=low * New upstream release. * debian/control - Bump Build-Depends on libnm-* packages to (>= 0.8.1). - Bump Depends on network-manager to (>= 0.8.1) so the "Enable Networking" option works correctly. (Closes: #588618, #570169) - Bump Standards-Version to 3.9.1. No further changes. -- Michael Biebl Tue, 27 Jul 2010 09:51:13 +0200 network-manager-applet (0.8.0.999-1) unstable; urgency=low * New upstream release (0.8.1 rc1). * Switch to source format 3.0 (quilt). - Add debian/source/format. - Drop Build-Depends on quilt. - Remove /usr/share/cdbs/1/rules/patchsys-quilt.mk from debian/rules. * debian/control - Bump Standards-Version to 3.9.0. No further changes. - Bump Build-Depends on libnm-* packages to (>= 0.8.0.999). -- Michael Biebl Fri, 09 Jul 2010 00:45:16 +0200 network-manager-applet (0.8-1) unstable; urgency=low * New upstream release. * debian/control - Bump Build-Depends on libnm-* packages to (>= 0.8). - Bump Standards-Version to 3.8.4. No further changes. -- Michael Biebl Mon, 22 Feb 2010 19:51:55 +0100 network-manager-applet (0.8-0ubuntu3) lucid; urgency=low [ Mirco Müller (MacSlow) ] * Make nm-applet correctly update a notification, if the connection-status has changed. This avoids displaying obsolete notifications to the user, which no longer reflect the correct connection-status. Fixes LP: #460144 - add debian/patches/lp460144_correctly_update_notification.patch - update debian/patches/series [ Chris Coulson Tue, 30 Mar 2010 10:39:18 +0200 network-manager-applet (0.8-0ubuntu2) lucid; urgency=low * Add bgo610881_lazy_init_notify_caps.patch: Defer querying notification server capabilities until needed, to avoid starting notify-osd on desktop startup. -- Martin Pitt Tue, 23 Feb 2010 23:22:23 +0100 network-manager-applet (0.8-0ubuntu1) lucid; urgency=low [ Tony Espy ] * drop string change revert_* patches, as full SRU for Karmic was rejected. - remove debian/patches/revert_more_networks.patch - remove debian/patches/revert_disable_notifications.patch - remove debian/patches/revert_country_not_listed.patch - remove debian/patches/revert_cleartext_priv_keys.patch - remove debian/patches/revert_enable_broadband.patch - update debian/series [ Mathieu Trudel ] * upstream release 0.8 - core: add --help to explain what nm-applet is/does (rh #494641) - core: clearer failure message when an applet is already running - wired: don't crash when getting 802.1x settings from the user (rh #556763) - info: don't crash on various D-Bus property errors (rh #557007) - core: fix clearing secrets when updating connections - build: link nm-connection-editor with libm for ceil() (rh #541353) - gsm: fix secret requests when connection has multiple secrets * bump build-depends to >= 0.8 to build with 0.8 final. - update debian/control [ Michael Vogt ] * debian/rules, debian/icons/22/nm-active-device.png.uue: - install icon so that on upgrade the old applet can still find it and not error out (LP: #518760) [ Sebastien Bacher ] * lazily load icons for using less cpu on login - add debian/patches/bgo609134_lazy_icons.patch - update debian/patches/series -- Mathieu Trudel Fri, 19 Feb 2010 08:34:28 -0500 network-manager-applet (0.8~rc2-0ubuntu1) lucid; urgency=low * upstream snapshot 2009-11-12 07:27:27 (GMT) + 4162285fd7c53e8b684e1c1513a2ba6ce865e073 * upstream 0.8-rc1 release - applet: don't crash if we can't get some ActiveConnection attrs (rh: #545011) - editor: serialize PolicyKit auth requests (rh #462944) (LP: #462944) - applet: don't crash if wireless dialog goes away quickly (rh #542617) - eap: handle PEM files without and ending newline (rh #507315) - tls: require password-protected private keys - applet: fix connecting to system connections from wireless dialog - menu: show BT connections when no other devices available (rh #532049) - applet: don't assert when auto connections can't be made (rh #532680) - editor: fix various IP page tooltips (bgo #595287) - applet: fix animation issues - mobile-wizard: add a "My Country is not listed" option (rh #530981) (bgo #599705) - applet: fix issues with icon loading when panel is slow to resize (rh #529766) - applet: Connect to Hidden doesn't work for non-New networks (LP: #446394) - applet: nm-applet does not start at login (LP: #146896) * upstream 0.8-rc2 release - editor: protect against invalid CEPolkitButton objects (rh #549579) - menu: ensure active menu item is valid before trying to use it (rh #546901) - editor: fix bad assignment - core: add "Enable Mobile Broadband" menu item - applet: escape notification text [ Mathieu Trudel ] * updated device sensitive disconnect notification patch - update debian/patches/lp341684_device_sensitive_disconnect_notify.patch [ Tony Espy ] * add logic to map '~rc' versions to '-rc' tag format used upstream. This allows the upstream tags to be used, while managing to keep the version numbers less than the final release version. - update debian/rules * update build and runtime depends for network-manager to >= 0.8~rc2 - update debian/control * backout string changes in preparation for SRU - add deb/debian/patches/revert_more_networks.patch - add deb/debian/patches/revert_disable_notifications.patch - add deb/debian/patches/revert_country_not_listed.patch - add deb/debian/patches/revert_cleartext_priv_keys.patch - add deb/debian/patches/revert_enable_broadband.patch - update debian/series -- Tony Espy Wed, 20 Jan 2010 10:16:56 -0500 network-manager-applet (0.8~a~git.20091014t134532.4033e62-0ubuntu1) karmic; urgency=low * upstream snapshot for karmic-RC 2009-10-14 13:45:32 (GMT) + 4033e623f7af571d38281f5fb6ab28a77bfe2220 - core: don't crash if we can't get active connection properties from NM (LP: #430535) - gconf: restore 0.7 notification behavior defaults (LP: #444561) -- Alexander Sack Thu, 15 Oct 2009 00:34:03 +0200 network-manager-applet (0.8~a~git.20091002t194214.8515a07-0ubuntu1) karmic; urgency=low * upstream snapshot 2009-10-02 19:42:14 (GMT) + 8515a07e507847c4372fe8f95bddf57aea66acd5 * fixed upstream - LP: #285219 - Critical warning while running nm-connection-editor - LP: #442988 - network manager mobile broadband does not remember username and password - LP: #439956 - Cannot set manual IP and DNS with nm-connection-editor - LP: #438160 - nm-applet loses ipv4 configuration - LP: #431265 - Network Manager can't connect to hidden wireless networks - LP: #443049 - MASTER nm-connection-editor crashed with SIGSEGV in get_permissions_cb - LP: #438374 - Failure to retain edited MTU value - LP: #436839 - Disconnect menu option looks like wireless network [ Tony Espy ] * drop wifi toplevel_sort patch that was committed upstream - delete debian/patches/wifi_toplevel_ap_sort.patch - update debian/patches/series [ Alexander Sack ] * drop preview patch that was committed upstream - delete debian/patches/nm08-applet-preview.patch - update debian/patches/series * require network-manager and libnm-* >= 0.8~a~git.20090930t162132 - update debian/control * adjust patches to new upstream code base - update debian/patches/lp341684_device_sensitive_disconnect_notify.patch * (re-)sort wifi toplevel AP list alphabetically before adding to menu - add debian/patches/toplevel_sort.patch - update debian/patches/series * rebuild against latest NM after padding additions to libnm-* APIs - update debian/control -- Alexander Sack Mon, 05 Oct 2009 23:45:07 +0200 network-manager-applet (0.8~a~git.20090923t220421.1ac8ffd-0ubuntu4) karmic; urgency=low * LP: #436061 - fix nm-applet crash when no APs in proximity; drop assert on a GList, which explicitly can be NULL. - update debian/patches/nm08-applet-preview.patch * LP: #436179 - nm-applet assert failure: ERROR:applet.c:481:applet_menu_item_favorize_helper: assertion failed: (favoritePixbuf); simply return with warning if favorize helper is invoked without a favorite pixbuf - update debian/patches/nm08-applet-preview.patch * important UI tweaks for karmic beta: 1. don't use an icon to indicate favorites/known connections - the heart was just too ugly; 2. dont put "Active" separator above the current active connection; in turn we make the current AP bold; 3. increase xpadding for title items (e.g. Wireless Networks) to 10.0; 4. do not visualize all visible connections as active if a device is disconnected. - update debian/patches/nm08-applet-preview.patch -- Alexander Sack Fri, 25 Sep 2009 10:08:46 +0200 network-manager-applet (0.8~a~git.20090923t220421.1ac8ffd-0ubuntu3) karmic; urgency=low * fix build failure because of compiler warnings due to uninitialized variable - update debian/patches/nm08-applet-preview.patch -- Alexander Sack Thu, 24 Sep 2009 17:40:06 +0200 network-manager-applet (0.8~a~git.20090923t220421.1ac8ffd-0ubuntu2) karmic; urgency=low * fix build failure caused by missing build-depend for uudecode - update debian/control -- Alexander Sack Thu, 24 Sep 2009 17:16:54 +0200 network-manager-applet (0.8~a~git.20090923t220421.1ac8ffd-0ubuntu1) karmic; urgency=low * upstream snapshot 2009-09-23 22:04:21 (GMT) + 1ac8ffd41a2d162d23713415cec6c3e96fbc3c82 + new upstream UI for beta (prepatched) - LP: #435333 + mini-abi transition respin for libnm-glib-vpn rename fixes LP: #435888 [ Alexander Sack ] * increase build-depend version requirements for network-manager bits to latest upstream (>= 0.8~a~git.20090923t064445) - update debian/control * add new nm08 applet prepatch and add icons not shippable in diff manually using uudecode - add debian/patches/nm08-applet-preview.patch - update debian/patches/series - add debian/icons/22/nm-secure-lock.png.uue - update debian/rules [ Mathieu Trudel ] * fix noisy output: use grep -q -c rather than just -c in GET_SOURCE etc. - update debian/rules * add get-snapshot-info rule - update debian/rules * make GET_SOURCE not go mad for git versions that use a different abbrev-id syntax - update debian/rules * drop ellipsize patch, addressed libhal issues, superseded by the use of udev - delete debian/patches/lp341940_use_ellipsized_menu_entries.patch - update debian/patches/series -- Alexander Sack Thu, 24 Sep 2009 15:30:33 +0200 network-manager-applet (0.8~a~git.20090913t161448.cc2f6be-0ubuntu1) karmic; urgency=low * upstream snapshot 2009-09-13 16:14:48 (GMT) + cc2f6bea12daec5f0caf535a3534f07ade5b5cf2 [ Alexander Sack ] * build depend on libpolkit-gobject-1-dev instead of libpolkit-dbus-dev - update debian/control [ Tony Espy ] * adjust patches for upstream code base - update debian/patches/20_use_full_vpn_dialog_service_name_path.patch - update debian/patches/lp328572_dxteam_connect_text.patch - update debian/patches/lp337960_dxteam_notification_icon_names.diff - update debian/patches/lp341684_device_sensitive_disconnect_notify.patch * adjust build and runtime depends due to ABI changes in latest NM - update debian/control -- Alexander Sack Mon, 14 Sep 2009 11:32:57 +0200 network-manager-applet (0.8~a~git.20090818t151413.a8b7eed-0ubuntu2) karmic; urgency=low * fix lpia build problems; make find and remove of .a .la files more robust in common-binary-post-install-arch:: target - update debian/rules -- Alexander Sack Fri, 21 Aug 2009 10:32:12 +0200 network-manager-applet (0.8~a~git.20090818t151413.a8b7eed-0ubuntu1) karmic; urgency=low [ Tony Espy ] * upstream snapshot 2009-08-18 15:14:13 (GMT) + a8b7eed3676e1154b4df1b3292eb414a3e9f2378 - includes WEP Auth dialog simplification and minor IPv6 changes [ Alexander Sack ] * add LOCAL_BRANCH feature to play nicely with fta's build bot - update rules * add gnome-bluetooth support; build-depend on libgnome-bluetooth-dev and install the gnome-bluetooth plugin to the gnome-bluetooth plugindir directory. - update debian/control * remove bluetooth plugin .la and .la files during post-install - update debian/rules -- Tony Espy Thu, 20 Aug 2009 11:48:20 -0400 network-manager-applet (0.8~a~git.20090805t131328.d1edfce-0ubuntu1) karmic; urgency=low [ Tony Espy ] * upstream snapshot 2009-08-05 13:13:28 (GMT) + d1edfced3ac4373019c097a4de5c7b97d0b2562a * bump required version for networkmanager bits to >= 0.8~a~git.20090804t185522 - update control * adjust patch for upstream code base - update patches/lp341684_device_sensitive_disconnect_notify.patch * re-work tarball generation code; added get-curr-source to grab a specific version; get-orig-source now grabs the tip of new variable GIT_BRANCH; adjusted changelog version to new scheme. - update rules [ Alexander Sack ] * prepare get-orig-source for daily ppa-scripts - update rules * adjust patches to changed upstream codebase - update patches/lp341940_use_ellipsized_menu_entries.patch * raise build requirements on network-manager parts to >= 0.8~ - update control -- Tony Espy Thu, 06 Aug 2009 10:35:38 +0100 network-manager-applet (0.7.999-2) unstable; urgency=low * Upload to unstable. -- Michael Biebl Tue, 26 Jan 2010 17:33:18 +0100 network-manager-applet (0.7.999-1) experimental; urgency=low * New upstream release (0.8 rc3). - Port to PolicyKit 1. (Closes: #549503) - Mobile broadband assisstant. - Bluetooth support integrating with gnome-bluetooth. * debian/control - Bump Build-Depends on libglib2.0-dev to (>= 2.16). - Bump Build-Depends on libnm-* packages to (>= 0.7.999). - Replace Build-Depends on libpolkit-gnome-dev with libpolkit-gobject-1-dev (>= 0.92). - Add Build-Depends on libgnome-bluetooth-dev (>= 2.27.6). - Replace Depends on policykit-gnome with policykit-1-gnome. - Add Recommends on mobile-broadband-provider-info for easier configuration of your mobile broadband service provider. - Add Recommends on gnome-bluetooth which allows to easily setup your mobile phone and make it available for NetworkManager. * debian/rules - Don't install libtool *.la and static library files. * debian/patches/02-CVE-2009-4145_fix_leakage_of_secrets_on_system_bus.patch - Remove, fixed upstream. * debian/patches/03-CVE-2009-4144_fix_ca_cert_handling_after_cert_file_deletion.patch - Remove, fixed upstream. * debian/copyright - Review and update copyright file. -- Michael Biebl Sat, 23 Jan 2010 06:09:46 +0100 network-manager-applet (0.7.2-2) unstable; urgency=low * debian/control - Bump Build-Depends on libdbus-glib-1-dev to (>= 0.74). - Bump Build-Depends on libgtk2.0-dev to (>= 2.14). * debian/patches/02-CVE-2009-4145_fix_leakage_of_secrets_on_system_bus.patch - Fix potential leakage of secrets onto the system bus. (Closes: #563371) Patch backported from upstream Git. Fixes: CVE-2009-4145 * debian/patches/03-CVE-2009-4144_fix_ca_cert_handling_after_cert_file_deletion.patch - Fix possible connections to spoofed WPA Enterprise networks when certification file is deleted. (Closes: #560067) Patch backported from upstream Git. Fixes: CVE-2009-4144 -- Michael Biebl Fri, 22 Jan 2010 23:33:06 +0100 network-manager-applet (0.7.2-1) unstable; urgency=low * New upstream release. - Add support for GTC (WPA2 Enterprise/PEAP). See #543454. - Add gconf schema for applet values. (Closes: #524004) * debian/control - Bump build dependencies on nm packages to (>= 0.7.2). - Bump Standards-Version to 3.7.3. No further changes. - Add dependency on gnome-icon-theme. (Closes: #520437) - Add dependency on dbus-x11. (Closes: #461436) * debian/nm-applet.sgml - Fix references to to other man pages. (Closes: #556427) -- Michael Biebl Thu, 26 Nov 2009 02:39:25 +0100 network-manager-applet (0.7.1.git.2.8ed7940cd3-0ubuntu1~nm1) UNRELEASED; urgency=low * upstream snapshot 2009-07-01 18:21:51 (GMT) + commit 8ed7940cd3eb2158f95786e4a0cfbeea2035a870 * bump required version for networkmanager bits to >= 0.7.1.git.1 * drop mbca patch because upstream ships its own wizard now - delete patches/add_libmbca_support.patch - update patches/series * drop libmbca-dev from build-depends as nm applet builds its own wizard now; in turn depend binary package on mobile-broadband-provider-info >= 20090622 - update control * adjust patches to changed upstream code base - update patches/lp341940_use_ellipsized_menu_entries.patch - update patches/lp337960_dxteam_notification_icon_names.diff - update patches/lp341684_device_sensitive_disconnect_notify.patch * drop libmbca0 from Recommends - update control -- Alexander Sack Tue, 02 Jun 2009 14:14:43 +0200 network-manager-applet (0.7.1-1) unstable; urgency=low * New upstream release. -- Michael Biebl Thu, 16 Apr 2009 23:55:05 +0200 network-manager-applet (0.7.1-0ubuntu1) karmic; urgency=low * Upstream release 0.7.1 * drop patches applied upstream - delete patches/fix_upstream_buildfailure.patch - update patches/series * adjust patches to new upstream code base - update patches/lp341940_use_ellipsized_menu_entries.patch * fix LP: #341940 - menu entries like device names can be overly long; we fix this by using ellipsized labels with proper tooltip to allow interested users to read the full text label - add patches/lp341940_use_ellipsized_menu_entries.patch - update patches/series -- Alexander Sack Tue, 02 Jun 2009 13:20:07 +0200 network-manager-applet (0.7.1~rc4.1-0ubuntu2) jaunty; urgency=low * point Vcs-Bzr header to proper branch - update control * fix LP: #358526 - Notification shows wrong WiFi disconnected icon when resuming from suspend; we use the proper generic disconnected icon if we don't know which device type caused the "offline" event. - add patches/lp358526_generic_disconnected_notification_icon.patch - update patches/series -- Alexander Sack Tue, 14 Apr 2009 12:52:44 +0200 network-manager-applet (0.7.1~rc4.1-0ubuntu1) jaunty; urgency=low * New upstream release 0.7.1 rc4 + svn-v3-trunk0:9c6bbc85-7128-0410-879a-9bbc9e4270e9:branches%2FNETWORKMANAGER_APPLET_0_7:1254 + drop upstreamed patches - delete patches/lp331799_sensible_notify_actions.patch - update patches/series + adjust diverged patches to new upstream codebase - update patches/add_libmbca_support.patch - update patches/lp341684_device_sensitive_disconnect_notify.patch + fix build failure with our gcc introduced upstream (string format issue) - add patches/fix_upstream_buildfailure.patch - update patches/series * rename patch for disconnect states to match the bug it fixed (LP: #341684) - rename patches/lpXXX_device_sensitive_disconnect_notify.patch => lp341684_device_sensitive_disconnect_notify.patch - update patche/series * fix LP: #348612 - Wired disconnect icon is wrong; we fix a typo in icon name - update patches/lp341684_device_sensitive_disconnect_notify.patch * fix LP: #354420 - offline notification should have NOTIFY_URGENCY_CRITICAL; normal disconnect notifications get NOTIFY_URGENCY_NORMAL - update patches/lp341684_device_sensitive_disconnect_notify.patch * eliminate string changes from a few notification patches - update patches/lp330571_dxteam_wired_connect_text.patch - update patches/lp330608_dxteam_gsm_connect_text.patch and adjust follow up patches - update patches/lp337960_dxteam_notification_icon_names.diff -- Alexander Sack Mon, 06 Apr 2009 13:25:39 +0200 network-manager-applet (0.7.0.100-1) unstable; urgency=low * New upstream release (0.7.1 rc4). * debian/patches/01-dbus_access_nm_applet.patch - Updated for latest upstream changes. * debian/control - Bump Standards-Version to 3.8.1. No further changes. -- Michael Biebl Wed, 08 Apr 2009 08:04:41 +0200 network-manager-applet (0.7.0.99-1) unstable; urgency=low * New upstream release (0.7.1 rc3). * debian/control - Upgrade Recommends on policykit-gnome to Depends which is required for editing system connections. (Closes: #507733) - Bump Build-Depends on libnm-glib-dev to (>= 0.7.0.99). -- Michael Biebl Thu, 05 Mar 2009 23:11:47 +0100 network-manager-applet (0.7.1~rc3-0ubuntu4) jaunty; urgency=low * use the notification-gsm-disconnected icon name used by human theme for jaunty beta - update patches/lpXXX_device_sensitive_disconnect_notify.patch -- Alexander Sack Thu, 19 Mar 2009 17:02:01 +0100 network-manager-applet (0.7.1~rc3-0ubuntu3) jaunty; urgency=low * fix bug in lpXXX_device_sensitive_disconnect_notify.patch that made disconnect events to not display a notification if the overall state still was online - update patches/lpXXX_device_sensitive_disconnect_notify.patch -- Alexander Sack Thu, 19 Mar 2009 15:44:43 +0100 network-manager-applet (0.7.1~rc3-0ubuntu2) jaunty; urgency=low * flip title in wifi "Connection Established" notification bubble (LP: #338389) - update patches/lp328572-dxteam-connect-text.patch - update patches/lp337960_dxteam_notification_icon_names.diff * add patch to support device sensitive disconnect/offline notifications; this patch queues event from NMClient and NMDevice and then decides what kind of disconnect happened and which device was reponsible. - add patches/lpXXX_device_sensitive_disconnect_notify.patch - update patches/series -- Alexander Sack Thu, 19 Mar 2009 14:54:03 +0100 network-manager-applet (0.7.1~rc3-0ubuntu1) jaunty; urgency=low * new upstream RC 0.7.1rc3 + rev: 982 + revision-id: svn-v3-trunk0:9c6bbc85-7128-0410-879a-9bbc9e4270e9:branches%2FNETWORKMANAGER_APPLET_0_7:1212 + branch: http://bzr-playground.gnome.org/network-manager-applet/branches/NETWORKMANAGER_APPLET_0_7/ - update .bzr-builddeb/default.conf * bump lower builds for network-manager build depends to >= 0.7.1~rc3 - update control * fix LP: #328572 - Connecting/disconnecting notification changes; we apply the the "Connecting" part of this patch, as the disconnecting part would require string changes that need to be done upstream - add patches/lp328572-dxteam-connect-text.patch - update patches/series * fix LP: #330571 - Wired connected message in nm-applet too long - add patches/lp330571_dxteam_wired_connect_text.patch - update patches/series * fix LP: #330608 - GSM connection message too long in nm-applet - add patches/lp330608_dxteam_gsm_connect_text.patch - update patches/series * fix LP: #337960 - nm-applet jaunty icon changes - brought to you by d(u)xteam; we apply two patches: first patch changes the icon names referred to in notifications; second patch ships fallback icons for those names within network-manager-gnome package -- Alexander Sack Thu, 05 Mar 2009 01:30:46 +0100 network-manager-applet (0.7.0.97-1) unstable; urgency=low * New upstream release. * Merge experimental branch into unstable. Remaining changes: - Update 01-dbus_access_nm_applet.patch, changes have been merged upstream and we only keep the "netdev" group related diff. - Update 04-autostart.patch, do not start nm-applet in KDE. - Remove 05-fix_bashisms.patch, obsolete. - Remove 06-po_fr.patch, obsolete. - Remove 07-po_pl.patch, merged upstream. - Remove 08-manual_means_always_online.patch, obsolete. - Remove 09-fix_assertion_because_of_unmanaged_devices.patch, obsolete. * debian/control - Bump Build-Depends on libnm-util-dev to (>= 0.7.0.97). -- Michael Biebl Wed, 25 Feb 2009 10:41:53 +0100 network-manager-applet (0.7.1~rc1+20090219+bzr974-0ubuntu2) jaunty; urgency=low * "Network Connections" settings entry does not appear in gnome-control-center; we fix a typo in the .desktop file introduced by the xfce patch - update patches/lp295788_xfce_menu_entry.patch -- Alexander Sack Mon, 23 Feb 2009 15:45:07 +0100 network-manager-applet (0.7.1~rc1+20090219+bzr974-0ubuntu1) jaunty; urgency=low * new upstream snapshot 0.7.1rc1+ Feb 19, 2009 + rev: 974 + revision-id: svn-v3-trunk0:9c6bbc85-7128-0410-879a-9bbc9e4270e9:branches%2FNETWORKMANAGER_APPLET_0_7:1186 + branch: http://bzr-playground.gnome.org/network-manager-applet/branches/NETWORKMANAGER_APPLET_0_7/ - update .bzr-builddeb/default.conf * rebase diverged patches - update patches/add_libmbca_support.patch * fix LP: #331799 - nm-applet must not send actions when notification server does not support actions - add patches/331799_sensible_notify_actions.patch - update patches/series -- Alexander Sack Thu, 19 Feb 2009 23:32:28 +0100 network-manager-applet (0.7.1~20090213+bzr960-0ubuntu1) jaunty; urgency=low * new upstream snapshot 0.7.1pre Feb 13, 2009 + rev: 960 + revision-id: svn-v3-trunk0:9c6bbc85-7128-0410-879a-9bbc9e4270e9:branches%2FNETWORKMANAGER_APPLET_0_7:1161 + branch: http://bzr-playground.gnome.org/network-manager-applet/branches/NETWORKMANAGER_APPLET_0_7/ * add config for bzr-builddeb meta information; we declare "merge" as default operation mode and set the current top most upstream revision id - add .bzr-builddeb/default.conf * adjust patches to new upstream code - update patches/add_libmbca_support.patch * new tree layout doesn't have upstream sources; in turn we apply autotools/cdbs integration magic on the fly now; this means we run intltoolize in pre-build and create a dummy aclocal.m4 in clean::; doing that allows us to use a bzr export from the upstream tree instead of a make dist tarball - update rules * fix "(applet.c:1044):applet_open_mbca: code should not be reached" warnings that get dumped to console; typos produced those warnings even if nothing was wrong - update patches/add_libmbca_support.patch * bump lower bound for network-manager build-depends to >= 0.7.1~ - update control * fix LP: #327427 - network manager applet should pop up wizard when 3g device is plugged in and no configuration exists; we adjust the mobile broadband patch to not show notification. - update patches/add_libmbca_support.patch -- Alexander Sack Tue, 17 Feb 2009 16:06:09 +0100 network-manager-applet (0.7-0ubuntu2) jaunty; urgency=low * fix LP: #295788 - Network Configuration menu item should also be displayed in Xfce; we add XFCE to the OnlyShowIn .desktop field; patch by Martin Mai - add debian/patches/lp295788_xfce_menu_entry.patch * fix LP: #327411 - network-manager: configure button(s) to create gsm connections only works on first attempt; the assitants lists contains UdiAssitants and not MbcaAssistant's - update debian/patches/add_libmbca_support.patch -- Alexander Sack Sun, 15 Feb 2009 02:29:53 +0100 network-manager-applet (0.7.0-2) experimental; urgency=low * debian/patches/01-dbus_access_nm_applet.patch - Remove bare send_interface directives to avoid non-deterministic allow messages with no interface. (Closes: #510728) - Do not allow unpriviledged processes to ask for a users' connections. - Allow introspection by default. * debian/control - Wrap build dependencies. - Bump build dependency on debhelper to (>= 7). * debian/compat - Bump to debhelper v7 compat mode. -- Michael Biebl Sat, 14 Feb 2009 16:16:35 +0100 network-manager-applet (0.7.0-1) experimental; urgency=low * New upstream release. - Notification popups can be disabled. (Closes: #446963) - Notification applet correctly handles panel restarts. (Closes:# 458332) - The nm-editor tool has been replaced by nm-connection-editor. (Closes: #494148, #482107, #485651) - Show the correct configuration for WPA Enterprise setups in nm-connection-editor (Closes: #480039) [ Sjoerd Simons ] * debian/patches/02-nm-api-update.patch: - Removed. Fixed upstream * debian/control: Tighten build-depends on nm related libraries [ Michael Biebl ] * debian/copyright - More updates to the copyright file. The polkit-helper bits are licensed under the LGPL. * debian/control - Add network-manager-pptp-gnome to Suggests. -- Michael Biebl Tue, 16 Dec 2008 06:50:06 +0100 network-manager-applet (0.7-0ubuntu1) jaunty; urgency=low * merge new upstrema release (0.7) from trunk branch (rev970) * drop patches superseeded/applied upstream - delete debian/patches/lp293749_better_prefix_netmask_ui.patch - delete debian/patches/lp286421_fix_i18n_bug_286421.patch - update debian/patches/series * adjust patches to new upstream codebase (mostly accessor and anti-bit-rotting measures) - update debian/patches/add_libmbca_support.patch - update debian/patches/20_use_full_vpn_dialog_service_name_path.patch - update debian/patches/lp268803_xdg_autostart_gnome_xfce_only.patch - update debian/patches/lp289466_always_show_tray_icon.patch * add support for "easy" bzr builddeb add .bzr-builddeb/default.conf * bump minimum required version for network-manager-dev, libnm-glib-dev and libnm-util-dev - update debian/control -- Alexander Sack Mon, 12 Jan 2009 13:31:17 +0100 network-manager-applet (0.7~~svn20081020t000444-0ubuntu2) jaunty; urgency=low * fix LP: #289466 - Network Manager 0.7 applet not Appearing if there are managed entries in /etc/network/interfaces; we always call applet_schedule_update_icon in client_init; also we also show the try when there are error conditions (no NM running, no managed device) - add debian/patches/lp289464_always_show_tray_icon.patch - update debian/patches/series * fix LP: #286421 - nm-connection-editor menu item untranslatable; add i18n support to nm-connection-editor.desktop; patch by Timo Jyrinki - add debian/patches/lp286421_fix_i18n_bug_286421.patch - update debian/patches/series * fix LP: #268803 - Ubuntu Intrepid: Both Knetworkmanager and Network Manager load on startup; fix xdg autostart .desktop file to "OnlyShowIn=GNOME;XFCE;" - add debian/patches/lp268803_xdg_autostart_gnome_xfce_only.patch - update debian/patches/series * fix LP: #293749 - prefix vs. netmask translation inconsistencies in connection-editor causes confusion; we cherry pick rev1009 from upstream svn and backport that. - add debian/patches/lp293749_better_prefix_netmask_ui.patch - update debian/patches/series -- Alexander Sack Mon, 01 Dec 2008 14:05:51 +0100 network-manager-applet (0.7~~svn20081020t000444-0ubuntu1) intrepid; urgency=low New upstream snapshot Mon 2008-10-20 00:04:44 +0000 (rev 819) * support .cer and .crt extensions for wpa-eap (LP: #272185) - update src/wireless-security/eap-method.c * Don't translate widget labels - update src/connection-editor/ce-page-ip4.glade * updated translations for sv, es, hu, sk, nb, be, he -- Alexander Sack Mon, 20 Oct 2008 16:30:10 +0200 network-manager-applet (0.7.0~svn953-1) experimental; urgency=low [ Michael Biebl ] * Switch to quilt patch management system. * debian/rules - Set libexecdir to /usr/lib/NetworkManager, so nm-applet and nm-connection-editor automatically find the VPN GUI plugins. * debian/control: - Bump Standards-Version to 3.8.0. No further changes. - Demote Recommends on VPN plugins to Suggests. - Bump Depends on network-manager to (>= 0.7). - Add Build-Depends on libpolkit-gnome-dev. - Add Recommends on policykit-gnome. This package is required if you want to manage system connections. * debian/patches/01-dbus_access_nm_applet.patch: Updated * Removed obsolete patches: - debian/patches/02-hal_deprecated_keys.patch - debian/patches/03-nm_editor_category.patch * debian/copyright: Revised for the latest changes. [ Simon McVittie ] * Newer svn snapshot [ Sjoerd Simons ] * debian/patches/02-nm-api-udate.patch - Added. cope with a small NM 0.7 api change * debian/control: Build-Depend on nm-glib dev packages with new api -- Sjoerd Simons Sat, 18 Oct 2008 21:40:05 +0100 network-manager-applet (0.7~~svn20081015t194645-0ubuntu1) intrepid; urgency=low * new upstream snapshot Wed 2008-10-15 19:46:45 +0000 (rev 809) * fix LP: #277084 - nm-applet confused by icon name changes during hardy-intrepid upgrade; we ship icons used by NM 0.6 in the NM 0.7 to prevent this behaviour - update debian/rules -- Alexander Sack Thu, 16 Oct 2008 00:42:34 +0200 network-manager-applet (0.7~~svn20081012t133407-0ubuntu1) intrepid; urgency=low * new upstream snapshot Sun 2008-10-12 13:34:07 +0000 (rev 805) - fixes LP: #279387 * adjust patch to new upstream code - update debian/patches/add_libmbca_support.patch -- Alexander Sack Mon, 13 Oct 2008 21:24:14 +0200 network-manager-applet (0.7~~svn20081005t082522-0ubuntu1) intrepid; urgency=low * new upstream snapshot Sun 2008-10-05 08:25:22 +0000 (rev 793) * adjust mbca patch for changed upstream code base - update debian/patches/add_libmbca_support.patch -- Alexander Sack Mon, 06 Oct 2008 13:41:27 +0200 network-manager-applet (0.7~~svn20080927t101113-0ubuntu1) intrepid; urgency=low * new upstream snapshot Sat 2008-09-27 10:11:13 +0000 (rev 776) [ Antti Kaijanmäki ] * added support for Mobile Broadband Configuration Assistant: - added debian/patches/add_libmbca_support.patch - updated debian/patches/series - added libmbca-dev build-dependency to debian/control - added --with-libmbca to DEB_CONFIGURE_EXTRA_FLAGS in debian/control [ Alexander Sack ] * refresh libmbca patch using quilt to prevent diff pollution in future. (quilt refresh --diffstat --no-timestamps -U8) - update debian/patches/add_libmbca_support.patch * generate a uuid for NMSettingConnection which was introduced by recent network manager dbus API changes. - update debian/patches/add_libmbca_support.patch * fix libmbca setting the dialup string instead of the proper number (*99#) for GSM modems - update debian/patches/add_libmbca_support.patch * add new parameter to add_connection call in mbca patch and strip trailing whitespaces uses quilt refresh - update debian/patches/add_libmbca_support.patch * bump build-depends and depends bar on network-manager bits to >= 0.7~~svn20080928 - update debian/control * explicitly set connection scope for mbca created connections to NM_CONNECTION_SCOPE_USER - update debian/patches/add_libmbca_support.patch * add libmbca0 to Recommends - update debian/control -- Alexander Sack Mon, 29 Sep 2008 22:15:13 +0200 network-manager-applet (0.7~~svn20080907t033843-0ubuntu2) intrepid; urgency=low * new upstream snapshot Sun 2008-09-07 03:38:43 +0000 (rev 743) * adjust versioned (build-)depends on network-manager packages to >= 0.7~~svn20080908 - update debian/control -- Alexander Sack Tue, 09 Sep 2008 16:42:23 +0200 network-manager-applet (0.7~~svn20080817t183748-0ubuntu1) intrepid; urgency=low * new upstream snapshot Sun 2008-08-17 18:37:48 +0000 (rev 723) * drop patches applied upstream: - delete debian/patches/01_gcc43.patch - update debian/patches/series * bump build dependency versions on network-manager-dev and friends to (>= 0.7~~svn20080812) - update debian/control * use full path for vpn auth-dialog's as provided by the .name key file in $sysconfdir/NetworkManager/VPN/ - add debian/patches/20_use_full_vpn_dialog_service_name_path.patch - update debian/patches/series -- Alexander Sack Mon, 18 Aug 2008 21:32:15 +0200 network-manager-applet (0.7~~svn20080721t051503-0ubuntu1) intrepid; urgency=low * new upstream snapshot Mon 2008-07-21 05:15:03 +0000 (bzr trunk rev673) * drop manual network config patches - default connection editor is NM - delete debian/patches/01_static_network-admin.patch - delete debian/patches/03_manual_config_available_when_connected.patch - delete debian/patches/13_custom-network-admin.diff - update debian/patches/series * fix gcc 4.3 build failures - add debian/patches/01_gcc43.patch - update debian/patches/series * higher network-manager versions for build and binary depends (>= 0.7~~svn20080720t224551) - update debian/control -- Alexander Sack Thu, 07 Aug 2008 01:54:01 +0200 network-manager-applet (0.7~~svn20080121t194048-0ubuntu0~pre6) hardy; urgency=low * package 0.7 svn snapshot * add automake1.9 to Build-Depends - update debian/control * add quilt to Build-Depends - update debian/control * add libtool to Build-Depends - update debian/control * add gnome-common to Build-Depends - update debian/control * add libnotify-dev to Build-Depends - update debian/control * add libgnutls-dev to Build-Depends and pass --with-gnutls and --without-nss to configure explicitly - update debian/control - update debian/rules * make libnm-util-dev build dependency versioned to only build against versions that come with libnm-util1 - update debian/control * include empty aclocal.m4 file to make cdbs trigger aclocal auto run - add aclocal.m4 * switch to use quilt as patchsystem - add debian/patches/series - update debian/rules * unfold Build-Depends and Depends in debian/control to improve legability of patches - update debian/control * bump {Build-}Depends: version for network-manager and friends to a reasonable value (>= 0.7~~svn20080121t191418+eni1-0ubuntu0~pre6) - update debian/control * remove debian/network-manager-gnome/usr/include on install - update debian/rules -- Alexander Sack Tue, 22 Jan 2008 17:56:32 +0000 network-manager-applet (0.6.6-4) unstable; urgency=low * debian/patches/08-manual_means_always_online.patch - manual-means-online: If there are interfaces that are not managed by NetworkManager because they have custom configuration in /etc/network/interfaces, we assume to be online and show a wired network icon indicating manual network configuration. * debian/patches/09-fix_assertion_because_of_unmanaged_devices.patch - Fix assertion failures for unmanaged devices. -- Michael Biebl Wed, 14 Jan 2009 08:48:15 +0100 network-manager-applet (0.6.6-3) unstable; urgency=low * debian/patches/04-autostart.patch - Allow nm-applet to be started in desktop environments like XFCE or LXDE. Only disable it for KDE, as we have k-n-m there. (Closes: #500119) * debian/patches/05-fix_bashisms.patch - Fix bashisms in nm-disconnect-wireless-on-exit.sh. (Closes: #489638) Thanks Chris Lamb for the patch. * debian/patches/06-po_fr.patch - Fix typos in French translation. (Closes: #506254) Thanks Cyril Brulebois for the patch. * debian/patches/07-po_pl.patch - Improvements to Polish translation. (Closes: #450588) Thanks Radosław Warowny for the patch. -- Michael Biebl Fri, 05 Dec 2008 19:52:02 +0100 network-manager-applet (0.6.6-2) unstable; urgency=low * debian/control - Add Build-Depends on pkg-config. * debian/patches/03-nm_editor_category.patch - Don't show nm-editor under Applications->Internet. (Closes: #474544) -- Michael Biebl Sun, 06 Apr 2008 16:39:07 +0200 network-manager-applet (0.6.6-1) unstable; urgency=low * New upstream release. - Better handling of VPN and WPA Enterprise security. (Closes: #444977) * debian/control - The Vcs-* fields are now officially supported, so remove the XS- prefix. - Bump Standards-Version to 3.7.3. No further changes required. - Fix Xfce spelling error in the package description. - Bump Build-Depends on libnm-util-dev and network-manager-dev to (>= 0.6.6). * Removed patches - debian/patches/10-po_fr.patch (merged upstream) - debian/patches/11-po_de.patch (merged upstream) - debian/patches/12-po_jp.patch (merged upstream) - debian/patches/20-stable_branch_updates_r98.patch (applied upstream) - debian/patches/30-connection_info_hide_on_delete_event.patch (merged upstream) * debian/patches/02-hal_deprecated_keys.patch - Add support for newer HAL versions where the "net.physical_device" key has been deprecated and replaced by "net.originating_device". * debian/rules - The nm-applet autostart file is now installed into /etc/xdg/autostart by default, so we no longer have to move it around manually. * debian/network-manager-gnome.postinst - Tell dbus to reload its config files. -- Michael Biebl Thu, 03 Apr 2008 21:34:40 +0200 network-manager-applet (0.6.5-3) unstable; urgency=low * debian/control - Use the new "Homepage:" field to specify the upstream URL. - Add Recommends: network-manager-openvpn-gnome, network-manager-vpnc-gnome -- Michael Biebl Fri, 19 Oct 2007 18:23:59 +0200 network-manager-applet (0.6.5-2) unstable; urgency=low * debian/patches/30-connection_info_hide_on_delete_event.patch - Patch from Ubuntu. Hide connection info dialog on delete-event. (Closes: #406073) -- Michael Biebl Wed, 19 Sep 2007 22:34:18 +0200 network-manager-applet (0.6.5-1) unstable; urgency=low * Initial release after the package split. * Imported files from previous network-manager source package - debian/nm-applet.sgml - debian/network-manager-gnome.manpages - debian/network-manager-gnome.README.Debian - debian/patches/01-dbus_access_nm_applet.patch - debian/patches/10-po_fr.patch - debian/patches/11-po_de.patch * debian/patches/12-po_jp.patch - Fixes for the Japanese translation. (Closes: #430672) Patch by Kobayashi Noritada * debian/patches/20-stable_branch_updates_r98.patch - Pull updates from the stable branch up until revision 98. - Contains various bug fixes and translation updates. * Add debian/watch to track new upstream releases. -- Michael Biebl Mon, 27 Aug 2007 08:03:06 +0200 network-manager-applet (0.6.5-0ubuntu11) hardy; urgency=low * apply patch to drop gnome-runtime dependencies (LP: #136945) - patch by Jani Monoses - add debian/patches/06_drop_libgnome.patch - add debian/patches/99_autoconf_update.patch * don't use gksu in hardy anymore - policy kit hooray! (LP: #176222) - update debian/patches/01_static_network-admin.patch - update debian/patches/13_custom-network-admin.diff [ TJ ] * debian/patches/15_lp124336_missing_prototype_causes_connect_to_other_networks_sigsegv.patch: Fix SIGSEGV caused by pointer>int>pointer conversion on x86_64. (LP: #124336) -- Alexander Sack Wed, 09 Jan 2008 13:15:10 +0100 network-manager-applet (0.6.5-0ubuntu10) gutsy; urgency=low * debian/control: add missing depends on gksu to allow manual network-configuration even for minimal ubuntu flavours, like the UME. * debian/patches/13_custom-network-admin.diff: use BINDIR "/" MANUAL_CONF_FILE when its available on the system. (LP: #145625) * debian/rules: apply previously forgotten hunk to install network manager applet autostart file to /etc/xdg/autostart/ from LP: #95064. * debian/patches/14_lp123808_dont_start_applet_on_ltsp_client.patch: don't start nm-applet on ltsp client. (LP: #123808) -- Alexander Sack Tue, 02 Oct 2007 20:58:18 +0200 network-manager-applet (0.6.5-0ubuntu9) gutsy; urgency=low * debian/patches/11_lp95064-enable-xdg-autostart-for-xfce.patch: enable autostart of nm-applet for XFCE nm-applet.desktop. (LP: #95064) * debian/patches/12_lp101978-connection-info-hide-on-delete-event.patch: hide connection info on delete-event; patch by Dima Korzhevin. (LP: #101978). -- Alexander Sack Wed, 19 Sep 2007 18:24:28 +0200 network-manager-applet (0.6.5-0ubuntu8) gutsy; urgency=low * set Maintainer to ubuntu-core-dev * add XS-Vcs-Bzr tag to point apt-get to the correct branch -- Reinhard Tartler Thu, 26 Jul 2007 15:55:06 +0200 network-manager-applet (0.6.5-0ubuntu7) gutsy; urgency=low * add 04_nm-vpn-properties_path again, nm-vpn-properties has been moved back again. LP: #127844 -- Reinhard Tartler Thu, 26 Jul 2007 11:05:45 +0200 network-manager-applet (0.6.5-0ubuntu6) gutsy; urgency=low * remove 04_nm-vpn-properties_path.patch. nm-vpn-properties now installed in /usr/bin again. -- Reinhard Tartler Thu, 05 Jul 2007 10:25:15 +0200 network-manager-applet (0.6.5-0ubuntu5) gutsy; urgency=low * debian/control: - Build-Depends on intltool so the translation template updated (LP: #122547) -- Sebastien Bacher Thu, 28 Jun 2007 21:32:29 +0200 network-manager-applet (0.6.5-0ubuntu4) gutsy; urgency=low * debian/patches/01_static_network-admin.patch: fix by Peter Clifton; adding NULL check to stop nm-applet from crashing and make encrypted wifi work. (LP: #121228) -- Alexander Sack Wed, 27 Jun 2007 12:34:03 +0200 network-manager-applet (0.6.5-0ubuntu3) gutsy; urgency=low * Re-import applet patches from network-manager * debian/control: tighten build-depends on network-manager to >= 0.6.5-0ubuntu3 * Make patches apply against applet sources + drop patches that have been applied upstream: - debian/patches/01_static_network-admin.patch: fix diff path for new source layout: gnome/applet -> src/ + update line numbers. - debian/patches/02_manual_means_always_online.diff: fix diff path for new source layout: gnome/applet -> src/ + update line numbers; drop diffs for sources not in this tarball: src/NetworkManagerDbus.c, src/NetworkManagerMain.h and src/nm-device.c. - debian/patches/03_manual_config_available_when_connected.patch: fix diff path for new source layout: gnome/applet -> src/ + update line numbers. - debian/patches/04_nm-vpn-properties_path.patch: nm-vpn-properties are shipped in network-manager pkglibdir - debian/patches/10-po_fr.patch: all but one translation fixes were applied upstream. -- Alexander Sack Tue, 26 Jun 2007 10:52:45 +0200 network-manager-applet (0.6.5-0ubuntu2) gutsy; urgency=low * Added missing dep network-manager -- Anthony Mercatante Fri, 22 Jun 2007 18:24:22 +0200 network-manager-applet (0.6.5-0ubuntu1) gutsy; urgency=low * Initial release * Added 21_manual_means_always_online.diff to "patches-not-applied" The gnome applet has been splitted from n-m code, and patch needs to be rewritten * Added 04_nm-vpn-properties_path.patch Fixes path to nm-vpn-properties according to the changes we've done to network-manager package due to bad source splitting -- Anthony Mercatante Fri, 15 Jun 2007 12:46:22 +0200 debian/watch0000664000000000000000000000016212322763056010226 0ustar version=3 http://download.gnome.org/sources/network-manager-applet/([\d\.]+)/network-manager-applet-(.*)\.tar\.xz debian/libnm-gtk0.install0000664000000000000000000000002712322763056012531 0ustar usr/lib/libnm-gtk.so.* debian/source/0000775000000000000000000000000012322763056010476 5ustar debian/source/format0000664000000000000000000000001412322763056011704 0ustar 3.0 (quilt) debian/source/include-binaries0000664000000000000000000000047412322763056013643 0ustar debian/icons/22/nm-secure-lock.png debian/icons/22/nm-signal-25-secure.png debian/icons/22/nm-signal-00-secure.png debian/icons/22/nm-device-wired-secure.png debian/icons/22/nm-signal-75-secure.png debian/icons/22/nm-signal-50-secure.png debian/icons/22/nm-active-device.png debian/icons/22/nm-signal-100-secure.png debian/network-manager-gnome.install0000664000000000000000000000036112322763056014772 0ustar usr/bin/ usr/share/icons/ usr/share/locale/ usr/share/applications/ usr/share/nm-applet/ usr/share/man/ usr/lib/gnome-bluetooth/ usr/lib/NetworkManager/nm-applet-migration-tool usr/share/GConf/gsettings/ usr/share/glib-2.0/schemas/ etc/xdg/ debian/control0000664000000000000000000001147512322763056010611 0ustar Source: network-manager-applet Section: gnome Priority: optional Maintainer: Ubuntu Core Developers XSBC-Original-Maintainer: Utopia Maintenance Team Uploaders: Michael Biebl Build-Depends: debhelper (>= 8.1.0~), dpkg-dev (>= 1.16.1), autotools-dev, dh-autoreconf, gnome-common, intltool, docbook-to-man, libdbus-glib-1-dev (>= 0.74), libgnome-keyring-dev, libsecret-1-dev, libgtk-3-dev (>= 3.0), libglib2.0-dev (>= 2.26), libgconf2-dev, libnotify-dev (>= 0.7), libnm-util-dev (>= 0.9.8), libnm-glib-dev (>= 0.9.8), libnm-glib-vpn-dev (>= 0.9.8), network-manager-dev (>= 0.9.8), libmm-glib-dev, libgudev-1.0-dev (>= 147), libgnome-bluetooth-dev (>= 3.0.0), iso-codes, libgirepository1.0-dev, dh-translations, libappindicator3-dev, gobject-introspection Standards-Version: 3.9.4 Vcs-Bzr: https://code.launchpad.net/~network-manager/network-manager-applet/ubuntu Homepage: http://www.gnome.org/projects/NetworkManager/ Package: network-manager-gnome Architecture: linux-any Section: gnome Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, libnm-gtk0 (= ${binary:Version}), network-manager (>= 0.9.8), policykit-1-gnome, gnome-icon-theme, dbus-x11 Recommends: notification-daemon, gnome-keyring, mobile-broadband-provider-info, iso-codes Suggests: gnome-bluetooth, network-manager-openconnect-gnome, network-manager-openvpn-gnome, network-manager-vpnc-gnome, network-manager-pptp-gnome Breaks: gnome-bluetooth (<< 3.0) Description: network management framework (GNOME frontend) NetworkManager is a system network service that manages your network devices and connections, attempting to keep active network connectivity when available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE devices, and provides VPN integration with a variety of different VPN services. . This package contains a systray applet for GNOME's notification area but it also works for other desktop environments which provide a systray like KDE or Xfce. It displays the available networks and allows users to easily switch between them. For encrypted networks it will prompt the user for the key/passphrase and it can optionally store them in the gnome-keyring. Package: libnm-gtk0 Architecture: linux-any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends}, libnm-gtk-common (= ${source:Version}) Description: network management framework (GNOME dialogs for wifi and mobile) NetworkManager is a system network service that manages your network devices and connections, attempting to keep active network connectivity when available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE devices, and provides VPN integration with a variety of different VPN services. . This library provides Gtk+ dialogs for NetworkManager. Package: libnm-gtk-common Architecture: all Section: libs Depends: ${misc:Depends} Description: network management framework (common files for wifi and mobile) NetworkManager is a system network service that manages your network devices and connections, attempting to keep active network connectivity when available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE devices, and provides VPN integration with a variety of different VPN services. . This package contains data files used by libnm-gtk. Package: libnm-gtk-dev Architecture: linux-any Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends}, libnm-gtk0 (= ${binary:Version}), gir1.2-nmgtk-1.0 (= ${binary:Version}), network-manager-dev (>= 0.9), libnm-util-dev (>= 0.9), libnm-glib-dev (>= 0.9), libgtk-3-dev, libdbus-glib-1-dev Description: network management framework (dialogs development libraries) NetworkManager is a system network service that manages your network devices and connections, attempting to keep active network connectivity when available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE devices, and provides VPN integration with a variety of different VPN services. . This package contains development libraries to use when building applications that need to display dialogs for wireless or mobile connections. Package: gir1.2-nmgtk-1.0 Section: introspection Architecture: linux-any Depends: ${gir:Depends}, ${shlibs:Depends}, ${misc:Depends} Description: GObject introspection data for libnm-gtk NetworkManager is a system network service that manages your network devices and connections, attempting to keep active network connectivity when available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE devices, and provides VPN integration with a variety of different VPN services. . This package contains introspection data for libnm-gtk. . It can be used by packages using the GIRepository format to generate dynamic bindings. debian/network-manager-gnome.docs0000664000000000000000000000000512322763056014247 0ustar NEWS debian/rules0000775000000000000000000000536312322763056010265 0ustar #!/usr/bin/make -f DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk export DEB_LDFLAGS_MAINT_APPEND = -Wl,-z,defs -Wl,--as-needed %: dh $@ --with autoreconf,translations,gir override_dh_auto_configure: dh_auto_configure -- \ --libexecdir=/usr/lib/NetworkManager \ --disable-more-warnings \ --enable-migration \ --enable-introspection \ --with-modem-manager-1=yes \ --with-gtkver=3 \ --enable-indicator \ override_dh_auto_clean: dh_auto_clean rm -f icons/22/*-secure.png icons/22/nm-active-device.png rm -f debian/*.1 override_dh_auto_build: dh_auto_build cp -rf $(CURDIR)/debian/icons/22 icons/ docbook-to-man debian/nm-applet.sgml > debian/nm-applet.1 override_dh_install: find debian/tmp/ -name \*.la -delete -o -name \*.a -delete dh_install --fail-missing # workaround for icon-changes # natty fallback icons cp -f debian/icons/22/nm-device-wired-secure.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/ cp -f debian/icons/22/nm-signal-00-secure.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/ ln -snf nm-signal-00.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/gsm-3g-none.png ln -snf nm-signal-00-secure.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/gsm-3g-none-secure.png cp -f debian/icons/22/nm-signal-25-secure.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/ ln -snf nm-signal-25.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/gsm-3g-low.png ln -snf nm-signal-25-secure.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/gsm-3g-low-secure.png cp -f debian/icons/22/nm-signal-50-secure.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/ ln -snf nm-signal-50.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/gsm-3g-medium.png ln -snf nm-signal-50-secure.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/gsm-3g-medium-secure.png cp -f debian/icons/22/nm-signal-75-secure.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/ ln -snf nm-signal-75.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/gsm-3g-high.png ln -snf nm-signal-75-secure.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/gsm-3g-high-secure.png cp -f debian/icons/22/nm-signal-100-secure.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/ ln -snf nm-signal-100.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/gsm-3g-full.png ln -snf nm-signal-100-secure.png \ debian/network-manager-gnome/usr/share/icons/hicolor/22x22/apps/gsm-3g-full-secure.png override_dh_builddeb: dh_builddeb -- -Zxz override_dh_auto_test: debian/copyright0000664000000000000000000000417412322763056011137 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: network-manager-applet Source: http://ftp.gnome.org/pub/GNOME/sources/network-manager-applet/ Files: * Copyright: 2004 - 2012 Red Hat, Inc. 2005 - 2008 Novell, Inc. 2001, 2002 Free Software Foundation License: GPL-2+ Files: src/utils/nmn-mobile-providers.* src/gnome-bluetooth/bt-widget.c Copyright: 2009 Novell, Inc. 2009 - 2011 Red Hat, Inc. 2009 Bastien Nocera 2009 - 2010 Dan Williams License: LGPL-2+ License: GPL-2+ This package 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 package 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, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". License: LGPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package 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 Lesser General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU Lesser General Public License can be found in "/usr/share/common-licenses/LGPL-2". debian/libnm-gtk0.symbols0000664000000000000000000000550312322763056012557 0ustar libnm-gtk.so.0 libnm-gtk0 #MINVER# nma_country_info_get_country_code@Base 0.9.7.995 nma_country_info_get_country_name@Base 0.9.7.995 nma_country_info_get_providers@Base 0.9.7.995 nma_country_info_get_type@Base 0.9.7.995 nma_country_info_ref@Base 0.9.7.995 nma_country_info_unref@Base 0.9.7.995 nma_mobile_access_method_get_3gpp_apn@Base 0.9.7.995 nma_mobile_access_method_get_dns@Base 0.9.7.995 nma_mobile_access_method_get_family@Base 0.9.7.995 nma_mobile_access_method_get_gateway@Base 0.9.7.995 nma_mobile_access_method_get_name@Base 0.9.7.995 nma_mobile_access_method_get_password@Base 0.9.7.995 nma_mobile_access_method_get_type@Base 0.9.7.995 nma_mobile_access_method_get_username@Base 0.9.7.995 nma_mobile_access_method_ref@Base 0.9.7.995 nma_mobile_access_method_unref@Base 0.9.7.995 nma_mobile_provider_get_3gpp_mcc_mnc@Base 0.9.7.995 nma_mobile_provider_get_cdma_sid@Base 0.9.7.995 nma_mobile_provider_get_methods@Base 0.9.7.995 nma_mobile_provider_get_name@Base 0.9.7.995 nma_mobile_provider_get_type@Base 0.9.7.995 nma_mobile_provider_ref@Base 0.9.7.995 nma_mobile_provider_unref@Base 0.9.7.995 nma_mobile_providers_database_dump@Base 0.9.7.995 nma_mobile_providers_database_get_countries@Base 0.9.7.995 nma_mobile_providers_database_get_type@Base 0.9.7.995 nma_mobile_providers_database_lookup_3gpp_mcc_mnc@Base 0.9.7.995 nma_mobile_providers_database_lookup_cdma_sid@Base 0.9.7.995 nma_mobile_providers_database_lookup_country@Base 0.9.7.995 nma_mobile_providers_database_new@Base 0.9.7.995 nma_mobile_providers_database_new_finish@Base 0.9.7.995 nma_mobile_providers_database_new_sync@Base 0.9.7.995 nma_mobile_providers_split_3gpp_mcc_mnc@Base 0.9.7.995 nma_mobile_wizard_destroy@Base 0.9.1.95 nma_mobile_wizard_new@Base 0.9.1.95 nma_mobile_wizard_present@Base 0.9.1.95 nma_utils_disambiguate_device_names@Base 0.9.7.995 nma_utils_get_connection_device_name@Base 0.9.7.997 nma_utils_get_device_description@Base 0.9.7.995 nma_utils_get_device_generic_type_name@Base 0.9.7.995 nma_utils_get_device_product@Base 0.9.7.995 nma_utils_get_device_type_name@Base 0.9.7.995 nma_utils_get_device_vendor@Base 0.9.7.995 nma_wifi_dialog_get_connection@Base 0.9.6.4 nma_wifi_dialog_get_nag_ignored@Base 0.9.6.4 nma_wifi_dialog_get_type@Base 0.9.6.4 nma_wifi_dialog_nag_user@Base 0.9.6.4 nma_wifi_dialog_new@Base 0.9.6.4 nma_wifi_dialog_new_for_create@Base 0.9.6.4 nma_wifi_dialog_new_for_other@Base 0.9.6.4 nma_wifi_dialog_set_nag_ignored@Base 0.9.6.4 nma_wireless_dialog_get_connection@Base 0.9.1.95 nma_wireless_dialog_get_nag_ignored@Base 0.9.1.95 nma_wireless_dialog_get_type@Base 0.9.1.95 nma_wireless_dialog_nag_user@Base 0.9.1.95 nma_wireless_dialog_new@Base 0.9.1.95 nma_wireless_dialog_new_for_create@Base 0.9.1.95 nma_wireless_dialog_new_for_other@Base 0.9.1.95 nma_wireless_dialog_set_nag_ignored@Base 0.9.1.95 debian/patches/0000775000000000000000000000000012322763056010625 5ustar debian/patches/rebuild_menu_after_init.patch0000664000000000000000000000115012322763056016521 0ustar From: Mathieu Trudel-Lapierre Subject: Force a menu update 30 seconds after the initialization is done. --- src/applet.c | 10 ++++++++++ 1 file changed, 10 insertions(+) Index: b/src/applet.c =================================================================== --- a/src/applet.c +++ b/src/applet.c @@ -3692,6 +3692,8 @@ setup_indicator_menu (NMApplet *applet) app_indicator_set_menu(applet->app_indicator, GTK_MENU(applet->menu)); + g_timeout_add_seconds (30, (GSourceFunc) applet_update_indicator_menu, applet); + return TRUE; } #endif /* ENABLE_INDICATOR */ debian/patches/position_dialogs_to_center_of_the_screen.patch0000664000000000000000000000471312322763056022146 0ustar From: Antti Kaijanmäki Subject: Always center dialogs on the screen --- src/applet-dialogs.c | 4 ++++ src/utils/utils.c | 2 ++ 2 files changed, 6 insertions(+) Index: b/src/applet-dialogs.c =================================================================== --- a/src/applet-dialogs.c +++ b/src/applet-dialogs.c @@ -55,6 +55,7 @@ info_dialog_show_error (const char *err) dialog = gtk_message_dialog_new_with_markup (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s\n\n%s", _("Error displaying connection information:"), err); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER_ALWAYS); gtk_window_present (GTK_WINDOW (dialog)); g_signal_connect_swapped (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog); } @@ -902,6 +903,7 @@ applet_info_dialog_show (NMApplet *apple g_signal_connect (dialog, "delete-event", G_CALLBACK (gtk_widget_hide_on_delete), dialog); g_signal_connect_swapped (dialog, "response", G_CALLBACK (gtk_widget_hide), dialog); gtk_widget_realize (dialog); + gtk_window_set_position (GTK_WINDOW(dialog), GTK_WIN_POS_CENTER_ALWAYS); gtk_window_present_with_time (GTK_WINDOW (dialog), gdk_x11_get_server_time (gtk_widget_get_window (dialog))); } @@ -981,6 +983,7 @@ applet_mobile_password_dialog_new (NMCon dialog = GTK_DIALOG (gtk_dialog_new ()); gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER_ALWAYS); gtk_window_set_title (GTK_WINDOW (dialog), _("Mobile broadband network password")); w = gtk_dialog_add_button (dialog, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT); @@ -1338,6 +1341,7 @@ applet_mobile_pin_dialog_new (const char } else g_assert_not_reached (); + gtk_window_set_position (GTK_WINDOW(dialog), GTK_WIN_POS_CENTER_ALWAYS); gtk_window_set_title (GTK_WINDOW (dialog), title); widget = GTK_WIDGET (gtk_builder_get_object (builder, "header_label")); Index: b/src/utils/utils.c =================================================================== --- a/src/utils/utils.c +++ b/src/utils/utils.c @@ -192,6 +192,8 @@ utils_show_error_dialog (const char *tit "%s", text1); + gtk_window_set_position (GTK_WINDOW (err_dialog), GTK_WIN_POS_CENTER_ALWAYS); + if (text2) gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (err_dialog), "%s", text2); if (title) debian/patches/lp1048520_delay_pin_dialog_in_greeter.patch0000664000000000000000000001343712322763056020603 0ustar From: Antti Kaijanmäki Subject: Delay showing the pin dialog in greeter mode; only show it when the user actually activates a connection instead of on modem detect. --- src/applet-device-gsm.c | 128 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 123 insertions(+), 5 deletions(-) Index: b/src/applet-device-gsm.c =================================================================== --- a/src/applet-device-gsm.c +++ b/src/applet-device-gsm.c @@ -96,6 +96,8 @@ typedef struct { gboolean skip_reg_poll; gboolean skip_signal_poll; + gboolean greeter_mode; + /* Unlock dialog stuff */ GtkWidget *dialog; GCancellable *cancellable; @@ -103,6 +105,7 @@ typedef struct { static void unlock_dialog_destroy (GsmDeviceInfo *info); static void check_start_polling (GsmDeviceInfo *info); +static void unlock_dialog_new (NMDevice *device, GsmDeviceInfo *info); typedef struct { NMApplet *applet; @@ -195,10 +198,117 @@ applet_gsm_connect_network (NMApplet *ap } } +typedef struct { + NMDevice *device; + NMConnection *connection; + NMApplet *applet; + gpointer dclass_data; + guint wait_retry; +} DelayedActivationHelper; + +gboolean delayed_activation_cb(gpointer user_data) +{ + DelayedActivationHelper *helper = user_data; + + if (!NM_IS_DEVICE (helper->device)) { + // the device has been unplugged. + return FALSE; + } + + GsmDeviceInfo *devinfo = g_object_get_data (G_OBJECT (helper->device), "devinfo"); + + if (devinfo->unlock_required == NULL) { + // the modem was successfully unlocked + + applet_menu_item_activate_helper (helper->device, + helper->connection, + "/", + helper->applet, + helper->dclass_data); + return FALSE; + } + + helper->wait_retry -= 1; + if (helper->wait_retry == 0) { + return FALSE; + } + + return TRUE; +} + +void gsm_menu_item_activate_unlock_dialog_destroy (GtkWidget *object, + gpointer user_data) +{ + GSMMenuItemInfo *info = (GSMMenuItemInfo *) user_data; + GsmDeviceInfo *devinfo; + DelayedActivationHelper *helper; + + /* + * The dialog is destroyed. Either the PIN code was successfully + * forwarded to ModemManager or the dialog was cancelled. + * Unfortunately we don't have any means of determine which is the case. + * + * The solution here is to monitor GsmDeviceInfo::unlock_required. If that + * is cleared, then we know that the modem has been activated and we can + * continue with the activation. + * + * Because unlock_required is updated upon receiving a property changed + * signal we have to give MM some time to deliver the change over D-Bus. + * + * Here we set up a timer which checks the state of the modem three times + * with 1 second delay. + * + * If the modem was not successfully activated this delayed activation is + * cancelled after three tries/seconds. + */ + + devinfo = g_object_get_data (G_OBJECT (info->device), "devinfo"); + + helper = g_malloc (sizeof (DelayedActivationHelper)); + helper->device = info->device; + helper->connection = info->connection; + helper->applet = info->applet; + helper->dclass_data = info; + helper->wait_retry = 3; + + g_timeout_add_full (G_PRIORITY_DEFAULT, + 1 * 1000, + (GSourceFunc)delayed_activation_cb, + helper, + (GDestroyNotify)g_free); +} + static void gsm_menu_item_activate (GtkMenuItem *item, gpointer user_data) { GSMMenuItemInfo *info = (GSMMenuItemInfo *) user_data; + GsmDeviceInfo *devinfo; + + devinfo = g_object_get_data (G_OBJECT (info->device), "devinfo"); + if (devinfo->greeter_mode && devinfo->unlock_required != NULL) { + + /* We need to delay the activation until the modem is unlocked. */ + + unlock_dialog_new(devinfo->device, devinfo); + /* + * The dialog gets destroyed if + * + * A) User enters the correct PIN and ModemManager tells nm-applet + * that the modem was successfully activated. + * + * The dialog does not get destroyed, however, if the PIN code + * is incorrect. The dialog shows an error message and the user can + * either enter a new PIN code or Cancel. + * + * All this happens in the dialogs response handler or callback that + * handles the PIN activation return value from ModemManager. + * See the relevant functions later in this file. + * + * B) The user cancels the dialog. + */ + g_signal_connect (devinfo->dialog, "destroy", G_CALLBACK (gsm_menu_item_activate_unlock_dialog_destroy), info); + return; + } applet_menu_item_activate_helper (info->device, info->connection, @@ -887,9 +997,11 @@ keyring_pin_check_cb (GObject *source, list = secret_service_search_finish (NULL, result, &error); if (!list) { - /* No saved PIN, just ask the user */ - unlock_dialog_new (info->device, info); - g_clear_error (&error); + if (!info->greeter_mode) { + /* No saved PIN, just ask the user */ + unlock_dialog_new (info->device, info); + g_clear_error (&error); + } return; } @@ -967,8 +1079,10 @@ simid_reply (DBusGProxy *proxy, DBusGPro info->cancellable, keyring_pin_check_cb, info); g_hash_table_unref (attrs); } else { - /* Couldn't get a device ID, but unlock required; present dialog */ - unlock_dialog_new (info->device, info); + if (!info->greeter_mode) { + /* Couldn't get a device ID, but unlock required; present dialog */ + unlock_dialog_new (info->device, info); + } } } @@ -1213,6 +1327,10 @@ gsm_device_added (NMDevice *device, NMAp info->bus = bus; info->cancellable = g_cancellable_new (); + info->greeter_mode = FALSE; + if (getenv ("INDICATOR_GREETER_MODE")) + info->greeter_mode = TRUE; + info->props_proxy = dbus_g_proxy_new_for_name (info->bus, "org.freedesktop.ModemManager", udi, debian/patches/set_atk_relations.patch0000664000000000000000000004004612322763056015364 0ustar Index: set-atk-label-relations/src/applet-dialogs.c =================================================================== --- set-atk-label-relations.orig/src/applet-dialogs.c 2014-02-07 17:56:44.471316676 +1100 +++ set-atk-label-relations/src/applet-dialogs.c 2014-02-07 17:59:46.947321348 +1100 @@ -397,6 +397,10 @@ GtkWidget* speed_label, *sec_label = NULL; const GSList *addresses; gboolean show_security = FALSE; + GtkWidget *desc_widget = NULL; + GtkWidget *data_widget = NULL; + AtkObject *desc_object = NULL; + AtkObject *data_object = NULL; table = GTK_TABLE (gtk_table_new (12, 2, FALSE)); gtk_table_set_col_spacings (table, 12); @@ -432,9 +436,15 @@ 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); row++; - gtk_table_attach (table, create_info_label (_("Interface:"), FALSE), + desc_widget = create_info_label (_("Interface:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); - gtk_table_attach (table, create_info_label (str, TRUE), + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); row++; @@ -448,17 +458,33 @@ else if (NM_IS_DEVICE_WIMAX (device)) str = g_strdup (nm_device_wimax_get_hw_address (NM_DEVICE_WIMAX (device))); - gtk_table_attach (table, create_info_label (_("Hardware Address:"), FALSE), + desc_widget = create_info_label (_("Hardware Address:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); - gtk_table_attach (table, create_info_label (str, TRUE), + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); + desc_widget = NULL; + desc_object = NULL; + data_widget = NULL; + data_object = NULL; row++; /* Driver */ - gtk_table_attach (table, create_info_label (_("Driver:"), FALSE), + desc_widget = create_info_label (_("Driver:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_object = create_info_label (nm_device_get_driver (device), TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); - gtk_table_attach (table, create_info_label (nm_device_get_driver (device), TRUE), + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); row++; @@ -485,20 +511,36 @@ gtk_label_set_text (GTK_LABEL(speed_label), str ? str : C_("Speed", "Unknown")); g_free (str); - gtk_table_attach (table, create_info_label (_("Speed:"), FALSE), + desc_widget = create_info_label (_("Speed:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_object = gtk_widget_get_accessible (speed_label); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); gtk_table_attach (table, speed_label, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); + desc_widget = NULL; + desc_object = NULL; + data_object = NULL; row++; /* Security */ if (show_security) { sec_label = create_info_label_security (connection); if (sec_label) { - gtk_table_attach (table, create_info_label (_("Security:"), FALSE), + desc_widget = create_info_label (_("Security:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_object = gtk_widget_get_accessible (sec_label); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); gtk_table_attach (table, sec_label, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); + desc_widget = NULL; + desc_object = NULL; + data_object = NULL; row++; } } @@ -508,7 +550,12 @@ /* CINR */ cinr_label = create_info_label ("", TRUE); - gtk_table_attach (table, create_info_label (_("CINR:"), FALSE), + desc_widget = create_info_label (_("CINR:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_object = gtk_widget_get_accessible (cinr_label); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); gtk_table_attach (table, cinr_label, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); @@ -517,11 +564,19 @@ "notify::" NM_DEVICE_WIMAX_CINR, G_CALLBACK (wimax_cinr_changed_cb)); wimax_cinr_changed_cb (device, NULL, cinr_label); + desc_widget = NULL; + desc_object = NULL; + data_object = NULL; row++; /* Base Station ID */ bsid_label = create_info_label ("", TRUE); - gtk_table_attach (table, create_info_label (_("BSID:"), FALSE), + desc_widget = create_info_label (_("BSID:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_object = gtk_widget_get_accessible (bsid_label); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); gtk_table_attach (table, bsid_label, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); @@ -530,6 +585,9 @@ "notify::" NM_DEVICE_WIMAX_BSID, G_CALLBACK (wimax_bsid_changed_cb)); wimax_bsid_changed_cb (device, NULL, bsid_label); + desc_widget = NULL; + desc_object = NULL; + data_object = NULL; row++; } @@ -549,12 +607,22 @@ def_addr = addresses->data; /* Address */ - gtk_table_attach (table, create_info_label (_("IP Address:"), FALSE), - 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); str = def_addr ? ip4_address_as_string (nm_ip4_address_get_address (def_addr)) : g_strdup (C_("Address", "Unknown")); - gtk_table_attach (table, create_info_label (str, TRUE), + desc_widget = create_info_label (_("IP Address:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, + 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); + desc_widget = NULL; + desc_object = NULL; + data_widget = NULL; + data_object = NULL; row++; /* Broadcast */ @@ -565,62 +633,122 @@ bcast = htonl (network | hostmask); } - gtk_table_attach (table, create_info_label (_("Broadcast Address:"), FALSE), - 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); str = def_addr ? ip4_address_as_string (bcast) : g_strdup (C_("Address", "Unknown")); - gtk_table_attach (table, create_info_label (str, TRUE), + desc_widget = create_info_label (_("Broadcast Address:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, + 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); + desc_widget = NULL; + desc_object = NULL; + data_widget = NULL; + data_object = NULL; row++; /* Prefix */ - gtk_table_attach (table, create_info_label (_("Subnet Mask:"), FALSE), - 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); str = def_addr ? ip4_address_as_string (netmask) : g_strdup (C_("Subnet Mask", "Unknown")); - gtk_table_attach (table, create_info_label (str, TRUE), + desc_widget = create_info_label (_("Subnet Mask:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, + 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0);; + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); + desc_widget = NULL; + desc_object = NULL; + data_widget = NULL; + data_object = NULL; row++; /* Gateway */ if (def_addr && nm_ip4_address_get_gateway (def_addr)) { - gtk_table_attach (table, create_info_label (_("Default Route:"), FALSE), - 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); str = ip4_address_as_string (nm_ip4_address_get_gateway (def_addr)); - gtk_table_attach (table, create_info_label (str, TRUE), + desc_widget = create_info_label (_("Default Route:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, + 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); + desc_widget = NULL; + desc_object = NULL; + data_widget = NULL; + data_object = NULL; row++; } /* DNS */ dns = def_addr ? nm_ip4_config_get_nameservers (ip4_config) : NULL; if (dns && dns->len) { - gtk_table_attach (table, create_info_label (_("Primary DNS:"), FALSE), - 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); str = ip4_address_as_string (g_array_index (dns, guint32, 0)); - gtk_table_attach (table, create_info_label (str, TRUE), + desc_widget = create_info_label (_("Primary DNS:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, + 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); + desc_widget = NULL; + desc_object = NULL; + data_widget = NULL; + data_object = NULL; row++; if (dns->len > 1) { - gtk_table_attach (table, create_info_label (_("Secondary DNS:"), FALSE), - 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); str = ip4_address_as_string (g_array_index (dns, guint32, 1)); - gtk_table_attach (table, create_info_label (str, TRUE), + desc_widget = create_info_label (_("Secondary DNS:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, + 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); + desc_widget = NULL; + desc_object = NULL; + data_widget = NULL; + data_object = NULL; row++; } if (dns->len > 2) { - gtk_table_attach (table, create_info_label (_("Ternary DNS:"), FALSE), - 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); str = ip4_address_as_string (g_array_index (dns, guint32, 2)); - gtk_table_attach (table, create_info_label (str, TRUE), + desc_widget = create_info_label (_("Ternary DNS:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, + 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); + desc_widget = NULL; + desc_object = NULL; + data_widget = NULL; + data_object = NULL; row++; } } @@ -656,27 +784,47 @@ char *tmp_addr; guint32 prefix; - gtk_table_attach (table, create_info_label (_("IP Address:"), FALSE), - 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); tmp_addr = ip6_address_as_string (nm_ip6_address_get_address (def6_addr)); prefix = nm_ip6_address_get_prefix (def6_addr); str = g_strdup_printf ("%s/%d", tmp_addr, prefix); g_free (tmp_addr); - gtk_table_attach (table, create_info_label (str, TRUE), + desc_widget = create_info_label (_("IP Address:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, + 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); + desc_widget = NULL; + desc_object = NULL; + data_widget = NULL; + data_object = NULL; row++; } /* Gateway */ if (def6_addr && nm_ip6_address_get_gateway (def6_addr)) { - gtk_table_attach (table, create_info_label (_("Default Route:"), FALSE), - 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); str = ip6_address_as_string (nm_ip6_address_get_gateway (def6_addr)); - gtk_table_attach (table, create_info_label (str, TRUE), + desc_widget = create_info_label (_("Default Route:"), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); + + gtk_table_attach (table, desc_widget, + 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); + desc_widget = NULL; + data_widget = NULL; + desc_object = NULL; + data_object = NULL; row++; } @@ -685,13 +833,22 @@ for (i = 0; dns6 && i < 3 ; dns6 = g_slist_next (dns6), i++) { char *label[] = { "Primary DNS:", "Secondary DNS:", "Ternary DNS:" }; + str = ip6_address_as_string (dns6->data); + desc_widget = create_info_label (_(label[i]), FALSE); + desc_object = gtk_widget_get_accessible (desc_widget); + data_widget = create_info_label (str, TRUE); + data_object = gtk_widget_get_accessible (data_widget); + atk_object_add_relationship (desc_object, ATK_RELATION_LABEL_FOR, data_object); - gtk_table_attach (table, create_info_label (_(label[i]), FALSE), + gtk_table_attach (table, desc_widget, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); - str = ip6_address_as_string (dns6->data); - gtk_table_attach (table, create_info_label (str, TRUE), + gtk_table_attach (table, data_widget, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); g_free (str); + desc_widget = NULL; + data_widget = NULL; + desc_object = NULL; + data_object = NULL; row++; } debian/patches/applet-wifi-menu-before-vpn.patch0000664000000000000000000000212012322763056017065 0ustar --- src/applet.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) Index: b/src/applet.c =================================================================== --- a/src/applet.c +++ b/src/applet.c @@ -1718,8 +1718,6 @@ nma_menu_add_vpn_submenu (GtkWidget *men GSList *list, *iter; int num_vpn_active = 0; - nma_menu_add_separator_item (menu); - vpn_menu = GTK_MENU (gtk_menu_new ()); item = GTK_MENU_ITEM (gtk_menu_item_new_with_mnemonic (_("_VPN Connections"))); @@ -1888,15 +1886,14 @@ static void nma_menu_show_cb (GtkWidget n_wifi = nma_menu_add_devices (menu, applet); - nma_menu_add_vpn_submenu (menu, applet); - if (n_wifi > 0 && nm_client_wireless_get_enabled (applet->nm_client)) { /* Add the "Hidden Wi-Fi network..." entry */ - nma_menu_add_separator_item (menu); nma_menu_add_hidden_network_item (menu, applet); nma_menu_add_create_network_item (menu, applet); + nma_menu_add_separator_item (menu); } + nma_menu_add_vpn_submenu (menu, applet); gtk_widget_show_all (menu); // nmi_dbus_signal_user_interface_activated (applet->connection); debian/patches/lp341684_device_sensitive_disconnect_notify.patch0000664000000000000000000001626612322763056022177 0ustar === modified file 'src/applet-device-wifi.c' --- src/applet-device-wifi.c | 1 src/applet.c | 141 +++++++++++++++++++++++++++++++++++++++++++++-- src/applet.h | 3 + 3 files changed, 141 insertions(+), 4 deletions(-) Index: b/src/applet-device-wifi.c =================================================================== --- a/src/applet-device-wifi.c +++ b/src/applet-device-wifi.c @@ -1256,6 +1256,7 @@ wifi_device_state_changed (NMDevice *dev return; esc_ssid = get_ssid_utf8 (new); + g_object_set_data_full (G_OBJECT(device), "canonical-last-essid", g_strdup (esc_ssid), (GDestroyNotify) g_free); applet_do_notify_with_pref (applet, _("Connected"), esc_ssid ? esc_ssid : _("(none)"), Index: b/src/applet.c =================================================================== --- a/src/applet.c +++ b/src/applet.c @@ -45,6 +45,7 @@ #include #include +#include #include #include #include @@ -301,6 +302,19 @@ get_device_class_from_connection (NMConn return NULL; } +struct _OfflineNotificationContextInfo { + NMState state; + NMDeviceState device_state; + NMDeviceStateReason device_state_reason; + NMDeviceType device_type; + gchar* title; + const gchar* text; + const gchar* icon; + NotifyUrgency urgency; +}; + +typedef struct _OfflineNotificationContextInfo OfflineNotificationContextInfo; + static NMActiveConnection * applet_get_best_activating_connection (NMApplet *applet, NMDevice **device) { @@ -2279,6 +2293,64 @@ applet_get_exported_connection_for_devic return NULL; } +static gboolean +select_merged_notification_text (OfflineNotificationContextInfo *info) +{ + info->urgency = NOTIFY_URGENCY_LOW; + /* only do something if this is about full offline state */ + if(info->state != NM_STATE_UNKNOWN || info->device_state != NM_DEVICE_STATE_UNKNOWN) { + info->urgency = NOTIFY_URGENCY_NORMAL; + if (!info->text) + info->text = g_strdup (_("Network")); + if (info->state == NM_STATE_DISCONNECTED || info->state == NM_STATE_ASLEEP) { + info->title = _("Disconnected - you are now offline"); + } else + info->title = _("Disconnected"); + + switch (info->device_type) { + case NM_DEVICE_TYPE_ETHERNET: + info->icon = "notification-network-ethernet-disconnected"; + break; + case NM_DEVICE_TYPE_WIFI: + info->icon = "notification-network-wireless-disconnected"; + break; + case NM_DEVICE_TYPE_MODEM: + info->icon = "notification-gsm-disconnected"; + break; + default: + info->icon = "nm-no-connection"; + break; + } + g_debug("going for offline with icon: %s", info->icon); + return TRUE; + } + return FALSE; +} + +static gboolean +foo_online_offline_deferred_notify (gpointer user_data) +{ + NMApplet *applet = NM_APPLET (user_data); + OfflineNotificationContextInfo *info = applet->notification_queue_data; + if(select_merged_notification_text (info)) + if (!g_settings_get_boolean (applet->gsettings, PREF_DISABLE_DISCONNECTED_NOTIFICATIONS)) + applet_do_notify (applet, info->urgency, info->title, + info->text, info->icon, + PREF_DISABLE_DISCONNECTED_NOTIFICATIONS, + _("Don't show this message again"), + notify_dont_show_cb, + applet); + else + g_debug("no notification because merged found that we have nothing to say (e.g. not offline)"); + if (info->text) + g_free (info->text); + info->text = NULL; + g_free (applet->notification_queue_data); + applet->notification_queue_data = NULL; + applet->deferred_id = 0; + return FALSE; +} + static void applet_common_device_state_changed (NMDevice *device, NMDeviceState new_state, @@ -2292,6 +2364,54 @@ applet_common_device_state_changed (NMDe vpn_activating = applet_is_any_vpn_activating (applet); switch (new_state) { + case NM_DEVICE_STATE_FAILED: + case NM_DEVICE_STATE_DISCONNECTED: + case NM_DEVICE_STATE_UNMANAGED: + case NM_DEVICE_STATE_UNAVAILABLE: + { + if (old_state != NM_DEVICE_STATE_FAILED && + old_state != NM_DEVICE_STATE_UNKNOWN && + old_state != NM_DEVICE_STATE_DISCONNECTED && + old_state != NM_DEVICE_STATE_UNMANAGED && + old_state != NM_DEVICE_STATE_UNAVAILABLE) { + OfflineNotificationContextInfo *info = applet->notification_queue_data; + if (!info) { + info = g_new0(OfflineNotificationContextInfo, 1); + applet->notification_queue_data = info; + } + + info->device_state = new_state; + info->device_state_reason = reason; + if (info->text) { + g_free(info->text); + info->text = NULL; + } + if (NM_IS_DEVICE_WIFI (device)) { + info->device_type = NM_DEVICE_TYPE_WIFI; + info->text = g_strdup(g_object_get_data (G_OBJECT(device), "canonical-last-essid")); + if (!info->text) + info->text = g_strdup (_("Wireless network")); + } else if (NM_IS_DEVICE_ETHERNET (device)) { + info->device_type = NM_DEVICE_TYPE_ETHERNET; + info->text = g_strdup(_("Ethernet network")); + } else if (NM_IS_DEVICE_MODEM (device)) { + info->device_type = NM_DEVICE_TYPE_MODEM; + info->text = g_strdup (_("Modem network")); + } else { + info->device_type = NM_DEVICE_TYPE_UNKNOWN; + info->text = g_strdup (_("Network")); + } + + if (applet->deferred_id) + g_source_remove (applet->deferred_id); + applet->deferred_id = g_timeout_add (1000, foo_online_offline_deferred_notify, applet); + + clear_animation_timeout (applet); + } else { + g_debug ("old state indicates that this was not a disconnect %d", old_state); + } + break; + } case NM_DEVICE_STATE_PREPARE: case NM_DEVICE_STATE_CONFIG: case NM_DEVICE_STATE_NEED_AUTH: @@ -2363,13 +2483,26 @@ foo_client_state_changed_cb (NMClient *c { NMApplet *applet = NM_APPLET (user_data); + g_debug("foo_client_state_changed_cb"); switch (nm_client_get_state (client)) { case NM_STATE_DISCONNECTED: - applet_do_notify_with_pref (applet, _("Disconnected"), - _("The network connection has been disconnected."), - "nm-no-connection", - PREF_DISABLE_DISCONNECTED_NOTIFICATIONS); + case NM_STATE_ASLEEP: + { + OfflineNotificationContextInfo *info = applet->notification_queue_data; + if (!info) { + info = g_new0(OfflineNotificationContextInfo, 1); + applet->notification_queue_data = info; + } + + info->state = nm_client_get_state (client); + select_merged_notification_text (info); + + if (applet->deferred_id) + g_source_remove (applet->deferred_id); + applet->deferred_id = g_timeout_add (1000, foo_online_offline_deferred_notify, applet); + /* Fall through */ + } default: break; } Index: b/src/applet.h =================================================================== --- a/src/applet.h +++ b/src/applet.h @@ -187,6 +187,9 @@ typedef struct /* Tracker objects for secrets requests */ GSList * secrets_reqs; + + gpointer notification_queue_data; + guint deferred_id; } NMApplet; typedef void (*AppletNewAutoConnectionCallback) (NMConnection *connection, debian/patches/clear-notification-actions.patch0000664000000000000000000000211612322763056017056 0ustar From: Mathieu Trudel-Lapierre Subject: applet: clear notification actions before adding new ones Bug-Ubuntu: http://bugs.launchpad.net/bugs/606825 Make sure we only ever have one of the "Don't show this again" button that will trigger disabling notifications. Otherwise we end up with multiple instances of the same button in notifications because one gets added every time a new notification stacks on top of an existing one. Index: network-manager-applet-0.9.1.90/src/applet.c =================================================================== --- network-manager-applet-0.9.1.90.orig/src/applet.c 2012-01-06 12:03:08.000000000 +0100 +++ network-manager-applet-0.9.1.90/src/applet.c 2012-01-06 12:03:30.944469038 +0100 @@ -876,6 +876,7 @@ notify_notification_set_timeout (notify, NOTIFY_EXPIRES_DEFAULT); if (applet_notify_server_has_actions () && action1) { + notify_notification_clear_actions (notify); notify_notification_add_action (notify, action1, action1_label, action1_cb, action1_user_data, NULL); } debian/patches/0001_Move_on_with_enter_in_the_country_page_of_the_new_mobile_wizard.patch0000664000000000000000000000254712322763056027361 0ustar From 6f62085919b0504424f4f4cf115e3e7ef9565795 Mon Sep 17 00:00:00 2001 From: Iain Lane Date: Tue, 3 Dec 2013 09:51:05 +0000 Subject: [PATCH] Move on with enter in the country page of the new mobile wizard Patch by Tiago Porangaba https://bugzilla.gnome.org/show_bug.cgi?id=663774 --- src/libnm-gtk/nm-mobile-wizard.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) Index: b/src/libnm-gtk/nm-mobile-wizard.c =================================================================== --- a/src/libnm-gtk/nm-mobile-wizard.c +++ b/src/libnm-gtk/nm-mobile-wizard.c @@ -1042,6 +1042,16 @@ nma_country_info_unref (country_info); } +static void +country_update_continue (NMAMobileWizard *self) +{ + gtk_assistant_set_page_complete (GTK_ASSISTANT (self->assistant), + self->country_page, + TRUE); + + gtk_assistant_next_page (GTK_ASSISTANT (self->assistant)); +} + static gint country_sort_func (GtkTreeModel *model, GtkTreeIter *a, @@ -1177,6 +1187,9 @@ self->country_page = vbox; + /* If the user presses the ENTER key after selecting the country, continue to the next page */ + g_signal_connect_swapped (self->country_view, "row-activated", G_CALLBACK (country_update_continue), self); + /* Initial completeness state */ country_update_complete (self); } debian/patches/hide_policy_items_env_var.patch0000664000000000000000000002245712322763056017071 0ustar From: Antti Kaijanmäki Subject: Implement support for hiding rather than desensitizing disallowed items This is done using a new environment variable that can be set when nm-applet is started: NM_APPLET_HIDE_POLICY_ITEMS. --- src/applet-device-cdma.c | 7 +++- src/applet-device-gsm.c | 8 +++-- src/applet-device-wifi.c | 20 ++++++++++-- src/applet.c | 74 +++++++++++++++++++++++++++++++++++++++++------ src/applet.h | 1 5 files changed, 95 insertions(+), 15 deletions(-) Index: b/src/applet.c =================================================================== --- a/src/applet.c +++ b/src/applet.c @@ -1628,8 +1628,16 @@ nma_menu_device_get_menu_item (NMDevice (GClosureNotify) applet_device_info_destroy, 0); if (is_permission_yes (applet, NM_CLIENT_PERMISSION_NETWORK_CONTROL)) gtk_widget_set_sensitive (item, TRUE); - else + else { gtk_widget_set_sensitive (item, FALSE); + if (applet->hide_policy_items) { + /* TODO: is this the final solution? */ + g_object_ref_sink (item); + g_object_unref (item); + item = NULL; /* it's safe for this function to return NULL as all the + callers are handling it properly */ + } + } break; } default: @@ -1767,6 +1775,8 @@ nma_menu_add_vpn_submenu (GtkWidget *men GtkMenuItem *item; GSList *list, *iter; int num_vpn_active = 0; + gboolean configure_allowed; + gboolean disconnect_allowed; vpn_menu = GTK_MENU (gtk_menu_new ()); @@ -1834,30 +1844,58 @@ nma_menu_add_vpn_submenu (GtkWidget *men gtk_menu_shell_append (GTK_MENU_SHELL (vpn_menu), GTK_WIDGET (item)); } + if ( is_permission_yes (applet, NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM) + || is_permission_yes (applet, NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN)) + configure_allowed = TRUE; + else + configure_allowed = FALSE; + + if (is_permission_yes (applet, NM_CLIENT_PERMISSION_NETWORK_CONTROL)) + disconnect_allowed = TRUE; + else + disconnect_allowed = FALSE; + + /* Draw a seperator, but only if we have VPN connections above it */ if (list) - nma_menu_add_separator_item (GTK_WIDGET (vpn_menu)); + if ( !applet->hide_policy_items + || configure_allowed + || disconnect_allowed) + nma_menu_add_separator_item (GTK_WIDGET (vpn_menu)); /* separator is added if there + will be items under it */ item = GTK_MENU_ITEM (gtk_menu_item_new_with_mnemonic (_("_Configure VPN..."))); g_signal_connect (item, "activate", G_CALLBACK (nma_menu_configure_vpn_item_activate), applet); - gtk_menu_shell_append (GTK_MENU_SHELL (vpn_menu), GTK_WIDGET (item)); - if ( is_permission_yes (applet, NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM) - || is_permission_yes (applet, NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN)) { + if (configure_allowed) { gtk_widget_set_sensitive (GTK_WIDGET (item), TRUE); + gtk_menu_shell_append (GTK_MENU_SHELL (vpn_menu), GTK_WIDGET (item)); } else { gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); + if (!applet->hide_policy_items) { + gtk_menu_shell_append (GTK_MENU_SHELL (vpn_menu), GTK_WIDGET (item)); + } else { + /* TODO: is this the final solution? */ + g_object_ref_sink (item); + g_object_unref (item); + } } item = GTK_MENU_ITEM (gtk_menu_item_new_with_mnemonic (_("_Disconnect VPN"))); g_signal_connect (item, "activate", G_CALLBACK (nma_menu_disconnect_vpn_item_activate), applet); - gtk_menu_shell_append (GTK_MENU_SHELL (vpn_menu), GTK_WIDGET (item)); - if (is_permission_yes (applet, NM_CLIENT_PERMISSION_NETWORK_CONTROL)) { + if (disconnect_allowed) { gtk_widget_set_sensitive (GTK_WIDGET (item), TRUE); if (num_vpn_active == 0) gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); - + gtk_menu_shell_append (GTK_MENU_SHELL (vpn_menu), GTK_WIDGET (item)); } else { gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); + if (!applet->hide_policy_items) + gtk_menu_shell_append (GTK_MENU_SHELL (vpn_menu), GTK_WIDGET (item)); + else { + /* TODO: is this the final solution? */ + g_object_ref_sink (item); + g_object_unref (item); + } } g_slist_free (list); @@ -1943,6 +1981,8 @@ nma_set_notifications_enabled_cb (GtkWid static void nma_menu_show_cb (GtkWidget *menu, NMApplet *applet) { guint32 n_wifi; + guint n_children; + GList *children = NULL; g_return_if_fail (menu != NULL); g_return_if_fail (applet != NULL); @@ -1962,10 +2002,21 @@ static void nma_menu_show_cb (GtkWidget n_wifi = nma_menu_add_devices (menu, applet); if (n_wifi > 0 && nm_client_wireless_get_enabled (applet->nm_client)) { + children = gtk_container_get_children (GTK_CONTAINER (menu)); + n_children = g_list_length (children); + g_list_free (children); + /* Add the "Hidden Wi-Fi network..." entry */ nma_menu_add_hidden_network_item (menu, applet); nma_menu_add_create_network_item (menu, applet); - nma_menu_add_separator_item (menu); + + children = gtk_container_get_children (GTK_CONTAINER (menu)); + if (g_list_length (children) > n_children) { + /* items were added. Add a separator */ + /* TODO: see TODO comments in the above add_*_network_item functions */ + nma_menu_add_separator_item (menu); + } + g_list_free (children); } nma_menu_add_vpn_submenu (menu, applet); @@ -2141,6 +2192,7 @@ nma_context_menu_update (NMApplet *apple * so set the "Edit Connections..." menu item insensitive. */ gtk_widget_set_sensitive (applet->connections_menu_item, FALSE); + gtk_widget_set_visible (applet->connections_menu_item, !applet->hide_policy_items); } } @@ -3987,6 +4039,10 @@ static void nma_init (NMApplet *applet) applet->icon_theme = NULL; applet->notification = NULL; applet->icon_size = 16; + + applet->hide_policy_items = FALSE; + if (getenv ("NM_APPLET_HIDE_POLICY_ITEMS")) + applet->hide_policy_items = TRUE; } enum { Index: b/src/applet-device-wifi.c =================================================================== --- a/src/applet-device-wifi.c +++ b/src/applet-device-wifi.c @@ -102,7 +102,6 @@ nma_menu_add_hidden_network_item (GtkWid gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_container_add (GTK_CONTAINER (menu_item), label); gtk_widget_show_all (menu_item); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); g_signal_connect_swapped (menu_item, "activate", G_CALLBACK (applet_wifi_connect_to_hidden_network), applet); @@ -133,6 +132,13 @@ nma_menu_add_hidden_network_item (GtkWid } gtk_widget_set_sensitive (GTK_WIDGET (menu_item), allowed); + if (!allowed && applet->hide_policy_items) { + /* don't add the item if it should be hidden */ + /* TODO: is this the final solution? */ + g_object_ref_sink (menu_item); + g_object_unref (menu_item); + } else + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); } gboolean @@ -180,13 +186,21 @@ nma_menu_add_create_network_item (GtkWid gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_container_add (GTK_CONTAINER (menu_item), label); gtk_widget_show_all (menu_item); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); g_signal_connect_swapped (menu_item, "activate", G_CALLBACK (applet_wifi_create_wifi_network), applet); - if (!applet_wifi_can_create_wifi_network (applet)) + if (!applet_wifi_can_create_wifi_network (applet)) { gtk_widget_set_sensitive (GTK_WIDGET (menu_item), FALSE); + if (applet->hide_policy_items) { + /* don't add the item if it should be hidden */ + /* TODO: is this the final solution? */ + g_object_ref_sink (menu_item); + g_object_unref (menu_item); + return; + } + } + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); } static void Index: b/src/applet.h =================================================================== --- a/src/applet.h +++ b/src/applet.h @@ -110,6 +110,7 @@ typedef struct #endif gboolean visible; + gboolean hide_policy_items; /* Permissions */ NMClientPermissionResult permissions[NM_CLIENT_PERMISSION_LAST + 1]; Index: b/src/applet-device-cdma.c =================================================================== --- a/src/applet-device-cdma.c +++ b/src/applet-device-cdma.c @@ -377,7 +377,12 @@ cdma_add_menu_item (NMDevice *device, item = gtk_check_menu_item_new_with_label (_("New Mobile Broadband (CDMA) connection...")); gtk_widget_set_sensitive (GTK_WIDGET (item), allowed); - add_connection_item (device, NULL, item, menu, applet); + if (!allowed && applet->hide_policy_items) { + /* don't add the item if should be hidden */ + g_object_ref_sink (item); + g_object_unref (item); + } else + add_connection_item (device, NULL, item, menu, applet); } } Index: b/src/applet-device-gsm.c =================================================================== --- a/src/applet-device-gsm.c +++ b/src/applet-device-gsm.c @@ -433,8 +433,12 @@ gsm_add_menu_item (NMDevice *device, /* Default connection item */ item = gtk_check_menu_item_new_with_label (_("New Mobile Broadband (GSM) connection...")); gtk_widget_set_sensitive (GTK_WIDGET (item), allowed); - add_connection_item (device, NULL, item, menu, applet); - + if (!allowed && applet->hide_policy_items) { + /* don't add the item if it should be hidden */ + g_object_ref_sink (item); + g_object_unref (item); + } else + add_connection_item (device, NULL, item, menu, applet); } } debian/patches/11-user-connections.patch0000664000000000000000000006615612322763056015401 0ustar From: Josselin Mouette Subject: Set passwords as agent-owned when they need to, to allow users without modify.system permissions to easily configure their connections. Last-Update: 2014-03-18 Index: network-manager-applet/src/applet-device-wifi.c =================================================================== --- network-manager-applet.orig/src/applet-device-wifi.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/applet-device-wifi.c 2013-09-13 20:06:35.784659889 +0200 @@ -404,6 +404,7 @@ NMSettingWirelessSecurity *s_wsec = NULL; NMSetting8021x *s_8021x = NULL; const GByteArray *ssid; + NM80211ApFlags flags; NM80211ApSecurityFlags wpa_flags, rsn_flags; GtkWidget *dialog; MoreInfo *more_info; @@ -430,6 +431,7 @@ /* If the AP is WPA[2]-Enterprise then we need to set up a minimal 802.1x * setting and ask the user for more information. */ + flags = nm_access_point_get_flags (ap); rsn_flags = nm_access_point_get_rsn_flags (ap); wpa_flags = nm_access_point_get_wpa_flags (ap); if ( (rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_802_1X) @@ -461,6 +463,29 @@ nm_connection_add_setting (connection, NM_SETTING (s_8021x)); } + if (utils_default_to_private_connection (applet->nm_client)) { + if (!s_con) { + s_con = (NMSettingConnection *) nm_setting_connection_new (); + nm_connection_add_setting (connection, NM_SETTING (s_con)); + } + nm_setting_connection_add_permission (s_con, "user", g_get_user_name (), NULL); + + if ((rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_PSK) || + (wpa_flags & NM_802_11_AP_SEC_KEY_MGMT_PSK)) { + if (!s_wsec) { + s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new (); + nm_connection_add_setting (connection, NM_SETTING (s_wsec)); + } + g_object_set (s_wsec, NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS, NM_SETTING_SECRET_FLAG_AGENT_OWNED, NULL); + } else if (flags & NM_802_11_AP_FLAGS_PRIVACY) { + if (!s_wsec) { + s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new (); + nm_connection_add_setting (connection, NM_SETTING (s_wsec)); + } + g_object_set (s_wsec, NM_SETTING_WIRELESS_SECURITY_WEP_KEY_FLAGS, NM_SETTING_SECRET_FLAG_AGENT_OWNED, NULL); + } + } + /* If it's an 802.1x connection, we need more information, so pop up the * Dialog Of Doom. */ Index: network-manager-applet/src/connection-editor/ce-page.h =================================================================== --- network-manager-applet.orig/src/connection-editor/ce-page.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/ce-page.h 2013-09-13 20:06:35.788659938 +0200 @@ -48,6 +48,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data); #define CE_TYPE_PAGE (ce_page_get_type ()) Index: network-manager-applet/src/connection-editor/new-connection.c =================================================================== --- network-manager-applet.orig/src/connection-editor/new-connection.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/new-connection.c 2013-09-13 20:06:35.788659938 +0200 @@ -394,6 +394,7 @@ gpointer user_data) { NewConnectionData *ncd; + NMConnectionList *list = user_data; ncd = g_slice_new (NewConnectionData); ncd->parent_window = parent_window; @@ -405,6 +406,7 @@ detail, settings, new_connection_result, + list->nm_client, ncd); } Index: network-manager-applet/src/connection-editor/page-bond.c =================================================================== --- network-manager-applet.orig/src/connection-editor/page-bond.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-bond.c 2013-09-13 20:06:35.788659938 +0200 @@ -571,6 +571,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data) { NMConnection *connection; Index: network-manager-applet/src/connection-editor/page-bond.h =================================================================== --- network-manager-applet.orig/src/connection-editor/page-bond.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-bond.h 2013-09-13 20:06:35.788659938 +0200 @@ -56,6 +56,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data); #endif /* __PAGE_BOND_H__ */ Index: network-manager-applet/src/connection-editor/page-bridge.c =================================================================== --- network-manager-applet.orig/src/connection-editor/page-bridge.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-bridge.c 2013-09-13 20:06:35.788659938 +0200 @@ -297,6 +297,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data) { NMConnection *connection; Index: network-manager-applet/src/connection-editor/page-bridge.h =================================================================== --- network-manager-applet.orig/src/connection-editor/page-bridge.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-bridge.h 2013-09-13 20:06:35.788659938 +0200 @@ -56,6 +56,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data); #endif /* __PAGE_BRIDGE_H__ */ Index: network-manager-applet/src/connection-editor/page-dsl.c =================================================================== --- network-manager-applet.orig/src/connection-editor/page-dsl.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-dsl.c 2013-09-13 20:06:35.788659938 +0200 @@ -227,6 +227,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data) { NMConnection *connection; Index: network-manager-applet/src/connection-editor/page-dsl.h =================================================================== --- network-manager-applet.orig/src/connection-editor/page-dsl.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-dsl.h 2013-09-13 20:06:35.788659938 +0200 @@ -58,6 +58,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc callback, + NMClient *client, gpointer user_data); #endif /* __PAGE_DSL_H__ */ Index: network-manager-applet/src/connection-editor/page-ethernet.c =================================================================== --- network-manager-applet.orig/src/connection-editor/page-ethernet.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-ethernet.c 2013-09-13 20:06:35.788659938 +0200 @@ -389,6 +389,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data) { NMConnection *connection; Index: network-manager-applet/src/connection-editor/page-ethernet.h =================================================================== --- network-manager-applet.orig/src/connection-editor/page-ethernet.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-ethernet.h 2013-09-13 20:06:35.788659938 +0200 @@ -58,6 +58,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data); #endif /* __PAGE_ETHERNET_H__ */ Index: network-manager-applet/src/connection-editor/page-infiniband.c =================================================================== --- network-manager-applet.orig/src/connection-editor/page-infiniband.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-infiniband.c 2013-09-13 20:06:35.792659987 +0200 @@ -256,6 +256,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data) { NMConnection *connection; Index: network-manager-applet/src/connection-editor/page-infiniband.h =================================================================== --- network-manager-applet.orig/src/connection-editor/page-infiniband.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-infiniband.h 2013-09-13 20:06:35.792659987 +0200 @@ -56,6 +56,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data); #endif /* __PAGE_INFINIBAND_H__ */ Index: network-manager-applet/src/connection-editor/page-mobile.c =================================================================== --- network-manager-applet.orig/src/connection-editor/page-mobile.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-mobile.c 2013-09-13 20:06:35.792659987 +0200 @@ -570,6 +570,7 @@ NMConnection *connection = NULL; if (!canceled && method) { + NMSettingConnection *s_con; NMSetting *type_setting; const char *ctype = NULL; char *detail = NULL; @@ -583,6 +584,7 @@ NM_SETTING_GSM_NUMBER, "*99#", NM_SETTING_GSM_USERNAME, method->username, NM_SETTING_GSM_PASSWORD, method->password, + NM_SETTING_GSM_PASSWORD_FLAGS, NM_SETTING_SECRET_FLAG_AGENT_OWNED, NM_SETTING_GSM_APN, method->gsm_apn, NULL); break; @@ -594,6 +596,7 @@ NM_SETTING_CDMA_NUMBER, "#777", NM_SETTING_GSM_USERNAME, method->username, NM_SETTING_GSM_PASSWORD, method->password, + NM_SETTING_GSM_PASSWORD_FLAGS, NM_SETTING_SECRET_FLAG_AGENT_OWNED, NULL); break; default: @@ -608,6 +611,13 @@ connection = ce_page_new_connection (detail, ctype, FALSE, info->settings, info->user_data); g_free (detail); + s_con = nm_connection_get_setting_connection (connection); + if (!s_con) { + s_con = (NMSettingConnection *) nm_setting_connection_new (); + nm_connection_add_setting (connection, NM_SETTING (s_con)); + } + nm_setting_connection_add_permission (s_con, "user", g_get_user_name (), NULL); + nm_connection_add_setting (connection, type_setting); add_default_serial_setting (connection); nm_connection_add_setting (connection, nm_setting_ppp_new ()); @@ -633,6 +643,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data) { NMAMobileWizard *wizard; Index: network-manager-applet/src/connection-editor/page-mobile.h =================================================================== --- network-manager-applet.orig/src/connection-editor/page-mobile.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-mobile.h 2013-09-13 20:06:35.792659987 +0200 @@ -58,6 +58,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data); #endif /* __PAGE_MOBILE_H__ */ Index: network-manager-applet/src/connection-editor/page-vlan.c =================================================================== --- network-manager-applet.orig/src/connection-editor/page-vlan.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-vlan.c 2013-09-13 20:06:35.792659987 +0200 @@ -675,6 +675,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data) { NMConnection *connection; Index: network-manager-applet/src/connection-editor/page-vlan.h =================================================================== --- network-manager-applet.orig/src/connection-editor/page-vlan.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-vlan.h 2013-09-13 20:06:35.792659987 +0200 @@ -56,6 +56,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data); #endif /* __PAGE_VLAN_H__ */ Index: network-manager-applet/src/connection-editor/page-vpn.c =================================================================== --- network-manager-applet.orig/src/connection-editor/page-vpn.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-vpn.c 2013-09-13 20:06:35.792659987 +0200 @@ -295,9 +295,11 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data) { NMConnection *connection; + NMSettingConnection *s_con; NMSetting *s_vpn; if (!detail) { @@ -323,6 +325,14 @@ FALSE, settings, user_data); + + s_con = nm_connection_get_setting_connection (connection); + if (!s_con) { + s_con = (NMSettingConnection *) nm_setting_connection_new (); + nm_connection_add_setting (connection, NM_SETTING (s_con)); + } + nm_setting_connection_add_permission (s_con, "user", g_get_user_name (), NULL); + s_vpn = nm_setting_vpn_new (); g_object_set (s_vpn, NM_SETTING_VPN_SERVICE_TYPE, detail, NULL); nm_connection_add_setting (connection, s_vpn); Index: network-manager-applet/src/connection-editor/page-vpn.h =================================================================== --- network-manager-applet.orig/src/connection-editor/page-vpn.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-vpn.h 2013-09-13 20:06:35.792659987 +0200 @@ -60,6 +60,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data); void vpn_connection_import (GtkWindow *parent, Index: network-manager-applet/src/connection-editor/page-wifi.c =================================================================== --- network-manager-applet.orig/src/connection-editor/page-wifi.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-wifi.c 2013-09-13 20:06:35.792659987 +0200 @@ -33,6 +33,8 @@ #include #include +#include "utils.h" + #include "page-wifi.h" G_DEFINE_TYPE (CEPageWifi, ce_page_wifi, CE_TYPE_PAGE) @@ -655,6 +657,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data) { NMConnection *connection; @@ -665,6 +668,17 @@ TRUE, settings, user_data); + + if (utils_default_to_private_connection (client)) { + NMSettingConnection *s_con; + s_con = nm_connection_get_setting_connection (connection); + if (!s_con) { + s_con = (NMSettingConnection *) nm_setting_connection_new (); + nm_connection_add_setting (connection, NM_SETTING (s_con)); + } + nm_setting_connection_add_permission (s_con, "user", g_get_user_name (), NULL); + } + s_wifi = nm_setting_wireless_new (); g_object_set (s_wifi, NM_SETTING_WIRELESS_MODE, "infrastructure", NULL); nm_connection_add_setting (connection, s_wifi); Index: network-manager-applet/src/connection-editor/page-wifi.h =================================================================== --- network-manager-applet.orig/src/connection-editor/page-wifi.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-wifi.h 2013-09-13 20:06:35.792659987 +0200 @@ -62,6 +62,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data); #endif /* __PAGE_WIFI_H__ */ Index: network-manager-applet/src/connection-editor/page-wimax.c =================================================================== --- network-manager-applet.orig/src/connection-editor/page-wimax.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-wimax.c 2013-09-13 20:06:35.792659987 +0200 @@ -225,6 +225,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data) { NMConnection *connection; Index: network-manager-applet/src/connection-editor/page-wimax.h =================================================================== --- network-manager-applet.orig/src/connection-editor/page-wimax.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/connection-editor/page-wimax.h 2013-09-13 20:06:35.796660035 +0200 @@ -56,6 +56,7 @@ const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, + NMClient *client, gpointer user_data); #endif /* __PAGE_WIMAX_H__ */ Index: network-manager-applet/src/gnome-bluetooth/nma-bt-device.c =================================================================== --- network-manager-applet.orig/src/gnome-bluetooth/nma-bt-device.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/gnome-bluetooth/nma-bt-device.c 2013-09-13 20:06:35.796660035 +0200 @@ -354,6 +354,7 @@ NM_SETTING_CDMA_NUMBER, "#777", NM_SETTING_CDMA_USERNAME, method->username, NM_SETTING_CDMA_PASSWORD, method->password, + NM_SETTING_CDMA_PASSWORD_FLAGS, NM_SETTING_SECRET_FLAG_AGENT_OWNED, NULL); nm_connection_add_setting (connection, setting); @@ -380,6 +381,7 @@ NULL); g_free (uuid); g_free (id); + nm_setting_connection_add_permission ((NMSettingConnection *) setting, "user", g_get_user_name (), NULL); nm_connection_add_setting (connection, setting); return connection; @@ -399,6 +401,7 @@ NM_SETTING_GSM_NUMBER, "*99#", NM_SETTING_GSM_USERNAME, method->username, NM_SETTING_GSM_PASSWORD, method->password, + NM_SETTING_GSM_PASSWORD_FLAGS, NM_SETTING_SECRET_FLAG_AGENT_OWNED, NM_SETTING_GSM_APN, method->gsm_apn, NULL); nm_connection_add_setting (connection, setting); @@ -426,6 +429,7 @@ NULL); g_free (uuid); g_free (id); + nm_setting_connection_add_permission ((NMSettingConnection *) setting, "user", g_get_user_name (), NULL); nm_connection_add_setting (connection, setting); return connection; @@ -1011,6 +1015,7 @@ NULL); g_free (id); g_free (uuid); + nm_setting_connection_add_permission ((NMSettingConnection *) setting, "user", g_get_user_name (), NULL); nm_connection_add_setting (connection, setting); /* The Bluetooth settings */ Index: network-manager-applet/src/libnm-gtk/nm-wifi-dialog.c =================================================================== --- network-manager-applet.orig/src/libnm-gtk/nm-wifi-dialog.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/libnm-gtk/nm-wifi-dialog.c 2013-09-13 20:06:35.796660035 +0200 @@ -38,6 +38,7 @@ #include "nm-wifi-dialog.h" #include "wireless-security.h" #include "nm-ui-utils.h" +#include "utils.h" G_DEFINE_TYPE (NMAWifiDialog, nma_wifi_dialog, GTK_TYPE_DIALOG) @@ -1221,6 +1222,9 @@ NM_SETTING_CONNECTION_UUID, uuid, NULL); g_free (uuid); + if (utils_default_to_private_connection (priv->client)) { + nm_setting_connection_add_permission (s_con, "user", g_get_user_name (), NULL); + } nm_connection_add_setting (connection, (NMSetting *) s_con); s_wireless = (NMSettingWireless *) nm_setting_wireless_new (); Index: network-manager-applet/src/mobile-helpers.c =================================================================== --- network-manager-applet.orig/src/mobile-helpers.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/mobile-helpers.c 2013-09-13 20:06:35.796660035 +0200 @@ -172,6 +172,7 @@ NM_SETTING_CDMA_NUMBER, "#777", NM_SETTING_CDMA_USERNAME, method->username, NM_SETTING_CDMA_PASSWORD, method->password, + NM_SETTING_CDMA_PASSWORD_FLAGS, NM_SETTING_SECRET_FLAG_AGENT_OWNED, NULL); nm_connection_add_setting (connection, setting); } else if (method->devtype == NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS) { @@ -182,6 +183,7 @@ NM_SETTING_GSM_USERNAME, method->username, NM_SETTING_GSM_PASSWORD, method->password, NM_SETTING_GSM_APN, method->gsm_apn, + NM_SETTING_GSM_PASSWORD_FLAGS, NM_SETTING_SECRET_FLAG_AGENT_OWNED, NULL); nm_connection_add_setting (connection, setting); } else @@ -210,6 +212,7 @@ NULL); g_free (uuid); g_free (id); + nm_setting_connection_add_permission ((NMSettingConnection *) setting, "user", g_get_user_name (), NULL); nm_connection_add_setting (connection, setting); } Index: network-manager-applet/src/utils/utils.c =================================================================== --- network-manager-applet.orig/src/utils/utils.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/utils/utils.c 2013-09-13 20:06:35.796660035 +0200 @@ -209,3 +209,10 @@ } } +gboolean +utils_default_to_private_connection (NMClient *client) +{ + NMClientPermissionResult perms; + perms = nm_client_get_permission_result (client, NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM); + return (perms != NM_CLIENT_PERMISSION_RESULT_YES); +} Index: network-manager-applet/src/utils/utils.h =================================================================== --- network-manager-applet.orig/src/utils/utils.h 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/utils/utils.h 2013-09-13 20:06:35.796660035 +0200 @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -53,6 +54,8 @@ gboolean modal, GtkWindow *parent); +gboolean utils_default_to_private_connection (NMClient *client); + #define NMA_ERROR (g_quark_from_static_string ("nma-error-quark")) typedef enum { Index: network-manager-applet/src/wireless-security/ws-wep-key.c =================================================================== --- network-manager-applet.orig/src/wireless-security/ws-wep-key.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/wireless-security/ws-wep-key.c 2013-09-13 20:06:35.796660035 +0200 @@ -142,6 +142,7 @@ fill_connection (WirelessSecurity *parent, NMConnection *connection) { WirelessSecurityWEPKey *sec = (WirelessSecurityWEPKey *) parent; + NMSettingConnection *s_con; NMSettingWireless *s_wireless; NMSettingWirelessSecurity *s_wsec; GtkWidget *widget; @@ -156,6 +157,8 @@ key = gtk_entry_get_text (GTK_ENTRY (widget)); strcpy (sec->keys[sec->cur_index], key); + s_con = nm_connection_get_setting_connection (connection); + s_wireless = nm_connection_get_setting_wireless (connection); g_assert (s_wireless); @@ -172,6 +175,10 @@ NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE, sec->type, NULL); + /* If the connection is user-owned, mark the secrets as agent-owned */ + if (s_con && nm_setting_connection_get_num_permissions (s_con)) + g_object_set (s_wsec, NM_SETTING_WIRELESS_SECURITY_WEP_KEY_FLAGS, NM_SETTING_SECRET_FLAG_AGENT_OWNED, NULL); + for (i = 0; i < 4; i++) { if (strlen (sec->keys[i])) nm_setting_wireless_security_set_wep_key (s_wsec, i, sec->keys[i]); Index: network-manager-applet/src/wireless-security/ws-wpa-psk.c =================================================================== --- network-manager-applet.orig/src/wireless-security/ws-wpa-psk.c 2013-09-13 20:06:35.800660084 +0200 +++ network-manager-applet/src/wireless-security/ws-wpa-psk.c 2013-09-13 20:06:35.796660035 +0200 @@ -92,11 +92,13 @@ { GtkWidget *widget; const char *key; + NMSettingConnection *s_con; NMSettingWireless *s_wireless; NMSettingWirelessSecurity *s_wireless_sec; const char *mode; gboolean is_adhoc = FALSE; + s_con = nm_connection_get_setting_connection (connection); s_wireless = nm_connection_get_setting_wireless (connection); g_assert (s_wireless); @@ -113,6 +115,9 @@ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wpa_psk_entry")); key = gtk_entry_get_text (GTK_ENTRY (widget)); g_object_set (s_wireless_sec, NM_SETTING_WIRELESS_SECURITY_PSK, key, NULL); + /* If the connection is user-owned, mark the secrets as agent-owned */ + if (s_con && nm_setting_connection_get_num_permissions (s_con)) + g_object_set (s_wireless_sec, NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS, NM_SETTING_SECRET_FLAG_AGENT_OWNED, NULL); wireless_security_clear_ciphers (connection); if (is_adhoc) { debian/patches/lp829673_gconf_hide_applet.patch0000664000000000000000000000704112322763056016500 0ustar From: Mathieu Trudel-Lapierre Subject: Allow for a show-applet gsettings to possibly hide the applet. --- nm-applet.convert | 1 + org.gnome.nm-applet.gschema.xml.in | 5 +++++ src/applet.c | 20 ++++++++++++++++++++ src/applet.h | 3 +++ 4 files changed, 29 insertions(+) Index: b/src/applet.c =================================================================== --- a/src/applet.c +++ b/src/applet.c @@ -2863,6 +2863,8 @@ applet_update_icon (gpointer user_data) if (!nm_running) state = NM_STATE_UNKNOWN; + gtk_status_icon_set_visible (applet->status_icon, applet->visible); + switch (state) { case NM_STATE_UNKNOWN: case NM_STATE_ASLEEP: @@ -3562,6 +3564,21 @@ dbus_setup (NMApplet *applet, GError **e return success; } +static void +applet_gsettings_show_changed (GSettings *settings, + gchar *key, + gpointer user_data) +{ + NMApplet *applet = NM_APPLET (user_data); + + g_return_if_fail (NM_IS_APPLET(applet)); + g_return_if_fail (key != NULL); + + applet->visible = g_settings_get_boolean (settings, key); + + gtk_status_icon_set_visible (applet->status_icon, applet->visible); +} + static GObject * constructor (GType type, guint n_props, @@ -3584,6 +3601,9 @@ constructor (GType type, } applet->gsettings = g_settings_new (APPLET_PREFS_SCHEMA); + applet->visible = g_settings_get_boolean (applet->gsettings, PREF_SHOW_APPLET); + g_signal_connect (applet->gsettings, "changed::show-applet", + G_CALLBACK (applet_gsettings_show_changed), applet); /* Load pixmaps and create applet widgets */ if (!setup_widgets (applet)) Index: b/src/applet.h =================================================================== --- a/src/applet.h +++ b/src/applet.h @@ -69,6 +69,7 @@ typedef struct #define PREF_DISABLE_VPN_NOTIFICATIONS "disable-vpn-notifications" #define PREF_DISABLE_WIFI_CREATE "disable-wifi-create" #define PREF_SUPPRESS_WIFI_NETWORKS_AVAILABLE "suppress-wireless-networks-available" +#define PREF_SHOW_APPLET "show-applet" #define ICON_LAYER_LINK 0 #define ICON_LAYER_VPN 1 @@ -104,6 +105,8 @@ typedef struct gboolean mm1_running; #endif + gboolean visible; + /* Permissions */ NMClientPermissionResult permissions[NM_CLIENT_PERMISSION_LAST + 1]; Index: b/nm-applet.convert =================================================================== --- a/nm-applet.convert +++ b/nm-applet.convert @@ -5,3 +5,4 @@ disable-vpn-notifications = /apps/nm-app suppress-wireless-networks-available = /apps/nm-applet/suppress-wireless-networks-available stamp = /apps/nm-applet/stamp disable-wifi-create = /apps/nm-applet/disable-wifi-create +show-applet = /apps/nm-applet/show-applet Index: b/org.gnome.nm-applet.gschema.xml.in =================================================================== --- a/org.gnome.nm-applet.gschema.xml.in +++ b/org.gnome.nm-applet.gschema.xml.in @@ -31,6 +31,11 @@ <_summary>Disable WiFi Create <_description>Set to true to disable creation of adhoc networks when using the applet. + + true + <_summary>Show the applet in notification area + <_description>Set to FALSE to disable displaying the applet in the notification area. + debian/patches/14_lp123808_dont_start_applet_on_ltsp_client.patch0000664000000000000000000000074512322763056022163 0ustar --- network-manager-applet-0.6.5/src/applet.c.orig 2007-10-02 20:53:36.000000000 +0200 +++ network-manager-applet-0.6.5/src/applet.c 2007-10-02 20:54:46.000000000 +0200 @@ -132,7 +132,7 @@ static void nma_init (NMApplet *applet) applet->animation_step = 0; glade_gnome_init (); - if (!nma_icons_init (applet)) + if ((!nma_icons_init (applet)) || (g_getenv("LTSP_CLIENT"))) return; /* gtk_window_set_default_icon_from_file (ICONDIR"/NMApplet/wireless-applet.png", NULL); */ debian/patches/lp289466_always_show_tray_icon.patch0000664000000000000000000000137412322763056017460 0ustar Forwarded-Upstream: yes === modified file 'src/applet.c' --- src/applet.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: b/src/applet.c =================================================================== --- a/src/applet.c +++ b/src/applet.c @@ -2486,6 +2486,8 @@ foo_client_setup (NMApplet *applet) if (nm_client_get_manager_running (applet->nm_client)) g_idle_add (foo_set_initial_state, applet); + + applet_schedule_update_icon (applet); } #if WITH_MODEM_MANAGER_1 @@ -2723,7 +2725,6 @@ applet_update_icon (gpointer user_data) applet->update_icon_id = 0; nm_running = nm_client_get_manager_running (applet->nm_client); - gtk_status_icon_set_visible (applet->status_icon, nm_running); /* Handle device state first */ debian/patches/applet_adhoc_use_wpa_rsn_part1.patch0000664000000000000000000001100212322763056017777 0ustar From: Nicolas Cavallari Subject: [PATCH 3/3 applet] Allow to create and connect to Ad-Hoc RSN networks. This follows changes to Network Manager, which now supports WPA2/RSN in Ad-Hoc/IBSS mode. --- src/applet-dialogs.c | 2 -- src/connection-editor/page-wifi-security.c | 9 ++------- src/libnm-gtk/nm-wifi-dialog.c | 3 +-- src/wireless-security/ws-wpa-psk.c | 15 +++++++-------- 4 files changed, 10 insertions(+), 19 deletions(-) Index: b/src/applet-dialogs.c =================================================================== --- a/src/applet-dialogs.c +++ b/src/applet-dialogs.c @@ -242,8 +242,6 @@ create_info_label_security (NMConnection if (!strcmp (key_mgmt, "none")) label = g_strdup (_("WEP")); - else if (!strcmp (key_mgmt, "wpa-none")) - label = g_strdup (_("WPA/WPA2")); else if (!strcmp (key_mgmt, "wpa-psk")) label = g_strdup (_("WPA/WPA2")); else Index: b/src/connection-editor/page-wifi-security.c =================================================================== --- a/src/connection-editor/page-wifi-security.c +++ b/src/connection-editor/page-wifi-security.c @@ -79,8 +79,7 @@ get_default_type_for_security (NMSetting return NMU_SEC_DYNAMIC_WEP; } - if ( !strcmp (key_mgmt, "wpa-none") - || !strcmp (key_mgmt, "wpa-psk")) { + if (!strcmp (key_mgmt, "wpa-psk")) { if (find_proto (sec, "rsn")) return NMU_SEC_WPA2_PSK; else if (find_proto (sec, "wpa")) @@ -337,7 +336,7 @@ finish_setup (CEPageWifiSecurity *self, ws_wpa_psk = ws_wpa_psk_new (connection, FALSE); if (ws_wpa_psk) { add_security_item (self, WIRELESS_SECURITY (ws_wpa_psk), sec_model, - &iter, _("WPA & WPA2 Personal"), FALSE); + &iter, _("WPA & WPA2 Personal"), TRUE); if ((active < 0) && ((default_type == NMU_SEC_WPA_PSK) || (default_type == NMU_SEC_WPA2_PSK))) active = item; item++; @@ -474,10 +473,6 @@ validate (CEPage *page, NMConnection *co s_wireless = nm_connection_get_setting_wireless (connection); g_assert (s_wireless); - /* Kernel Ad-Hoc WPA support is busted; it creates open networks. Disable - * WPA when Ad-Hoc is selected. set_sensitive() will pick up self->adhoc - * and do the right thing. - */ mode = nm_setting_wireless_get_mode (s_wireless); if (g_strcmp0 (mode, NM_SETTING_WIRELESS_MODE_ADHOC) == 0) self->adhoc = TRUE; Index: b/src/libnm-gtk/nm-wifi-dialog.c =================================================================== --- a/src/libnm-gtk/nm-wifi-dialog.c +++ b/src/libnm-gtk/nm-wifi-dialog.c @@ -687,8 +687,7 @@ get_default_type_for_security (NMSetting return NMU_SEC_DYNAMIC_WEP; } - if ( !strcmp (key_mgmt, "wpa-none") - || !strcmp (key_mgmt, "wpa-psk")) { + if (!strcmp (key_mgmt, "wpa-psk")) { if (!have_ap || (ap_flags & NM_802_11_AP_FLAGS_PRIVACY)) { if (find_proto (sec, "rsn")) return NMU_SEC_WPA2_PSK; Index: b/src/wireless-security/ws-wpa-psk.c =================================================================== --- a/src/wireless-security/ws-wpa-psk.c +++ b/src/wireless-security/ws-wpa-psk.c @@ -117,14 +117,13 @@ fill_connection (WirelessSecurity *paren wireless_security_clear_ciphers (connection); if (is_adhoc) { /* Ad-Hoc settings as specified by the supplicant */ - g_object_set (s_wireless_sec, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "wpa-none", NULL); - nm_setting_wireless_security_add_proto (s_wireless_sec, "wpa"); - nm_setting_wireless_security_add_pairwise (s_wireless_sec, "none"); + g_object_set (s_wireless_sec, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "wpa-psk", NULL); + nm_setting_wireless_security_add_proto (s_wireless_sec, "rsn"); - /* Ad-hoc can only have _one_ group cipher... default to TKIP to be more - * compatible for now. Maybe we'll support selecting CCMP later. - */ - nm_setting_wireless_security_add_group (s_wireless_sec, "tkip"); + /* The supplicant only supports CCMP with Ad-hoc RSN; + * Selecting something else will make it use CCMP anyway. */ + nm_setting_wireless_security_add_pairwise (s_wireless_sec, "ccmp"); + nm_setting_wireless_security_add_group (s_wireless_sec, "ccmp"); } else { g_object_set (s_wireless_sec, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "wpa-psk", NULL); @@ -163,7 +162,7 @@ ws_wpa_psk_new (NMConnection *connection if (!parent) return NULL; - parent->adhoc_compatible = FALSE; + parent->adhoc_compatible = TRUE; sec = (WirelessSecurityWPAPSK *) parent; widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wpa_psk_entry")); debian/patches/git_dont_autostart_under_GNOME.patch0000664000000000000000000000127412322763056017711 0ustar From d6ffe34dc092926fb949449c182e8f27722b6b8b Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Mon, 29 Jul 2013 13:24:15 +0000 Subject: Update .desktop files Don't autostart nm-applet in GNOME any more. Update bugzilla info for new components https://bugzilla.gnome.org/show_bug.cgi?id=705074 --- (limited to 'nm-applet.desktop.in') --- a/nm-applet.desktop.in +++ b/nm-applet.desktop.in @@ -9,6 +9,7 @@ NotShowIn=KDE; X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=NetworkManager -X-GNOME-Bugzilla-Component=general +X-GNOME-Bugzilla-Component=nm-applet X-GNOME-Autostart-enabled=true +AutostartCondition=GNOME3 unless-session gnome X-GNOME-UsesNotifications=true debian/patches/lp830178_adhoc_ip6_ignore.patch0000664000000000000000000000232312322763056016233 0ustar From: Mathieu Trudel-Lapierre Subject: set IPv6 to Ignore by default for creating new ad-hoc wifi networks. Bug-Ubuntu: https://bugs.launchpad.net/bugs/830178 --- src/libnm-gtk/nm-wifi-dialog.c | 5 +++++ 1 file changed, 5 insertions(+) Index: b/src/libnm-gtk/nm-wifi-dialog.c =================================================================== --- a/src/libnm-gtk/nm-wifi-dialog.c +++ b/src/libnm-gtk/nm-wifi-dialog.c @@ -1210,12 +1210,17 @@ nma_wifi_dialog_get_connection (NMAWifiD if (priv->adhoc_create) { NMSettingIP4Config *s_ip4; + NMSettingIP6Config *s_ip6; g_object_set (s_wireless, NM_SETTING_WIRELESS_MODE, "adhoc", NULL); s_ip4 = (NMSettingIP4Config *) nm_setting_ip4_config_new (); g_object_set (s_ip4, NM_SETTING_IP4_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_SHARED, NULL); nm_connection_add_setting (connection, (NMSetting *) s_ip4); + + s_ip6 = (NMSettingIP6Config *) nm_setting_ip6_config_new (); + g_object_set (s_ip6, NM_SETTING_IP6_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_IGNORE, NULL); + nm_connection_add_setting (connection, (NMSetting *) s_ip6); } nm_connection_add_setting (connection, (NMSetting *) s_wireless); debian/patches/make_menu_items_insensitive_based_on_permissions.patch0000664000000000000000000001773312322763056023730 0ustar From: Antti Kaijanmäki Subject: Make sure the behavior for policykit-restricted actions is consistently to make the items insensitive --- src/applet-device-cdma.c | 26 ++++++++++++++++++++++++++ src/applet-device-gsm.c | 26 ++++++++++++++++++++++++++ src/applet-device-wifi.c | 29 +++++++++++++++++++++++++++++ src/applet.c | 35 +++++++++++++++++++++++++++++++++-- 4 files changed, 114 insertions(+), 2 deletions(-) Index: b/src/applet.c =================================================================== --- a/src/applet.c +++ b/src/applet.c @@ -87,6 +87,8 @@ extern gboolean shell_debug; G_DEFINE_TYPE(NMApplet, nma, G_TYPE_OBJECT) +static gboolean is_permission_yes (NMApplet *applet, NMClientPermission perm); + /********************************************************************/ /* Temporary dbus interface stuff */ @@ -1602,7 +1604,10 @@ nma_menu_device_get_menu_item (NMDevice G_CALLBACK (applet_device_disconnect_db), info, (GClosureNotify) applet_device_info_destroy, 0); - gtk_widget_set_sensitive (item, TRUE); + if (is_permission_yes (applet, NM_CLIENT_PERMISSION_NETWORK_CONTROL)) + gtk_widget_set_sensitive (item, TRUE); + else + gtk_widget_set_sensitive (item, FALSE); break; } default: @@ -1814,12 +1819,24 @@ nma_menu_add_vpn_submenu (GtkWidget *men item = GTK_MENU_ITEM (gtk_menu_item_new_with_mnemonic (_("_Configure VPN..."))); g_signal_connect (item, "activate", G_CALLBACK (nma_menu_configure_vpn_item_activate), applet); gtk_menu_shell_append (GTK_MENU_SHELL (vpn_menu), GTK_WIDGET (item)); + if ( is_permission_yes (applet, NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM) + || is_permission_yes (applet, NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN)) { + gtk_widget_set_sensitive (GTK_WIDGET (item), TRUE); + } else { + gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); + } item = GTK_MENU_ITEM (gtk_menu_item_new_with_mnemonic (_("_Disconnect VPN"))); g_signal_connect (item, "activate", G_CALLBACK (nma_menu_disconnect_vpn_item_activate), applet); gtk_menu_shell_append (GTK_MENU_SHELL (vpn_menu), GTK_WIDGET (item)); - if (num_vpn_active == 0) + if (is_permission_yes (applet, NM_CLIENT_PERMISSION_NETWORK_CONTROL)) { + gtk_widget_set_sensitive (GTK_WIDGET (item), TRUE); + if (num_vpn_active == 0) + gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); + + } else { gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); + } g_slist_free (list); } @@ -2089,6 +2106,20 @@ nma_context_menu_update (NMApplet *apple gtk_widget_show_all (applet->wimax_enabled_item); else gtk_widget_hide (applet->wimax_enabled_item); + + if (is_permission_yes (applet, NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM) + || is_permission_yes (applet, NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN) + || is_permission_yes (applet, NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME)) { + + /* User has permissions to modify some of the settings. */ + gtk_widget_set_sensitive (applet->connections_menu_item, TRUE); + + } else { + /* the user is not allowed to edit any of the settings, + * so set the "Edit Connections..." menu item insensitive. + */ + gtk_widget_set_sensitive (applet->connections_menu_item, FALSE); + } } static void Index: b/src/applet-device-wifi.c =================================================================== --- a/src/applet-device-wifi.c +++ b/src/applet-device-wifi.c @@ -94,6 +94,8 @@ nma_menu_add_hidden_network_item (GtkWid { GtkWidget *menu_item; GtkWidget *label; + gboolean allowed; + NMClientPermissionResult perm; menu_item = gtk_menu_item_new (); label = gtk_label_new_with_mnemonic (_("_Connect to Hidden Wi-Fi Network...")); @@ -104,6 +106,33 @@ nma_menu_add_hidden_network_item (GtkWid g_signal_connect_swapped (menu_item, "activate", G_CALLBACK (applet_wifi_connect_to_hidden_network), applet); + + allowed = FALSE; + perm = nm_client_get_permission_result (applet->nm_client, + NM_CLIENT_PERMISSION_NETWORK_CONTROL); + if ( perm == NM_CLIENT_PERMISSION_RESULT_YES + || perm == NM_CLIENT_PERMISSION_RESULT_AUTH) { + /* First, the user has to be able to control networks + * to connect to a new hidden access point. + */ + perm = nm_client_get_permission_result (applet->nm_client, + NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN); + if ( perm == NM_CLIENT_PERMISSION_RESULT_YES + || perm == NM_CLIENT_PERMISSION_RESULT_AUTH) { + /* The user can modify (and add!) a new configuration for herself. */ + allowed = TRUE; + } else { + perm = nm_client_get_permission_result (applet->nm_client, + NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM); + if ( perm == NM_CLIENT_PERMISSION_RESULT_YES + || perm == NM_CLIENT_PERMISSION_RESULT_AUTH) { + /* The user can modify (and add!) a new system wide configuration. */ + allowed = TRUE; + } + } + } + + gtk_widget_set_sensitive (GTK_WIDGET (menu_item), allowed); } gboolean Index: b/src/applet-device-cdma.c =================================================================== --- a/src/applet-device-cdma.c +++ b/src/applet-device-cdma.c @@ -328,6 +328,8 @@ cdma_add_menu_item (NMDevice *device, #ifdef ENABLE_INDICATOR GtkWidget *signal_icon; #endif + gboolean allowed; + NMClientPermissionResult perm; info = g_object_get_data (G_OBJECT (device), "devinfo"); @@ -439,8 +441,32 @@ cdma_add_menu_item (NMDevice *device, } } } else { + + allowed = FALSE; + perm = nm_client_get_permission_result (applet->nm_client, + NM_CLIENT_PERMISSION_NETWORK_CONTROL); + if ( perm == NM_CLIENT_PERMISSION_RESULT_YES + || perm == NM_CLIENT_PERMISSION_RESULT_AUTH) { + + perm = nm_client_get_permission_result (applet->nm_client, + NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN); + if ( perm == NM_CLIENT_PERMISSION_RESULT_YES + || perm == NM_CLIENT_PERMISSION_RESULT_AUTH) { + allowed = TRUE; + } else { + perm = nm_client_get_permission_result (applet->nm_client, + NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM); + if ( perm == NM_CLIENT_PERMISSION_RESULT_YES + || perm == NM_CLIENT_PERMISSION_RESULT_AUTH) { + allowed = TRUE; + } + } + } + /* Default connection item */ item = gtk_check_menu_item_new_with_label (_("New Mobile Broadband (CDMA) connection...")); + + gtk_widget_set_sensitive (GTK_WIDGET (item), allowed); add_connection_item (device, NULL, item, menu, applet); } } Index: b/src/applet-device-gsm.c =================================================================== --- a/src/applet-device-gsm.c +++ b/src/applet-device-gsm.c @@ -383,6 +383,8 @@ gsm_add_menu_item (NMDevice *device, #ifdef ENABLE_INDICATOR GtkWidget *signal_icon; #endif + gboolean allowed; + NMClientPermissionResult perm; info = g_object_get_data (G_OBJECT (device), "devinfo"); @@ -496,9 +498,33 @@ gsm_add_menu_item (NMDevice *device, } } } else { + + allowed = FALSE; + perm = nm_client_get_permission_result (applet->nm_client, + NM_CLIENT_PERMISSION_NETWORK_CONTROL); + if ( perm == NM_CLIENT_PERMISSION_RESULT_YES + || perm == NM_CLIENT_PERMISSION_RESULT_AUTH) { + + perm = nm_client_get_permission_result (applet->nm_client, + NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN); + if ( perm == NM_CLIENT_PERMISSION_RESULT_YES + || perm == NM_CLIENT_PERMISSION_RESULT_AUTH) { + allowed = TRUE; + } else { + perm = nm_client_get_permission_result (applet->nm_client, + NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM); + if ( perm == NM_CLIENT_PERMISSION_RESULT_YES + || perm == NM_CLIENT_PERMISSION_RESULT_AUTH) { + allowed = TRUE; + } + } + } + /* Default connection item */ item = gtk_check_menu_item_new_with_label (_("New Mobile Broadband (GSM) connection...")); + gtk_widget_set_sensitive (GTK_WIDGET (item), allowed); add_connection_item (device, NULL, item, menu, applet); + } } debian/patches/key-certificate-extensions.patch0000664000000000000000000000265312322763056017121 0ustar From: Mathieu Trudel-Lapierre Subject: allow .key files as private key certificates Bug-Ubuntu: https://bugs.launchpad.net/bugs/839864 Index: network-manager-applet-0.9.0/src/wireless-security/eap-method.c =================================================================== --- network-manager-applet-0.9.0.orig/src/wireless-security/eap-method.c 2011-09-13 11:53:27.368280855 -0400 +++ network-manager-applet-0.9.0/src/wireless-security/eap-method.c 2011-09-13 11:54:10.288280937 -0400 @@ -604,7 +604,7 @@ static gboolean default_filter_privkey (const GtkFileFilterInfo *filter_info, gpointer user_data) { - const char *extensions[] = { ".der", ".pem", ".p12", NULL }; + const char *extensions[] = { ".der", ".pem", ".p12", ".key", NULL }; gboolean require_encrypted = !!user_data; gboolean is_encrypted = TRUE; @@ -645,7 +645,7 @@ filter = gtk_file_filter_new (); if (privkey) { gtk_file_filter_add_custom (filter, GTK_FILE_FILTER_FILENAME, default_filter_privkey, NULL, NULL); - gtk_file_filter_set_name (filter, _("DER, PEM, or PKCS#12 private keys (*.der, *.pem, *.p12)")); + gtk_file_filter_set_name (filter, _("DER, PEM, or PKCS#12 private keys (*.der, *.pem, *.p12, *.key)")); } else { gtk_file_filter_add_custom (filter, GTK_FILE_FILTER_FILENAME, default_filter_cert, NULL, NULL); gtk_file_filter_set_name (filter, _("DER or PEM certificates (*.der, *.pem, *.crt, *.cer)")); debian/patches/lp1048516_dont_req_keyring_in_greeter.patch0000664000000000000000000000225212322763056020661 0ustar From: Antti Kaijanmäki Subject: Avoid trying to set the pin dialog to save password (and require a keyring) when the user doesn't have MODIFY_OWN permissions. --- src/applet-device-gsm.c | 7 +++++++ 1 file changed, 7 insertions(+) Index: b/src/applet-device-gsm.c =================================================================== --- a/src/applet-device-gsm.c +++ b/src/applet-device-gsm.c @@ -655,12 +655,19 @@ unlock_dialog_response (GtkDialog *dialo static void unlock_dialog_new (NMDevice *device, GsmDeviceInfo *info) { + NMClientPermission perm; + g_return_if_fail (info->unlock_required != NULL); g_return_if_fail (!strcmp (info->unlock_required, "sim-pin") || !strcmp (info->unlock_required, "sim-puk")); if (info->dialog) return; + perm = NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN; + if (! ( info->applet->permissions[perm] == NM_CLIENT_PERMISSION_RESULT_YES + || info->applet->permissions[perm] == NM_CLIENT_PERMISSION_RESULT_AUTH)) + return; + info->dialog = applet_mobile_pin_dialog_new (info->unlock_required, nma_utils_get_device_description (device)); debian/patches/nm-applet-use-indicator.patch0000664000000000000000000023152512322763056016317 0ustar From: Mathieu Trudel-Lapierre Subject: Implement conditional support for libappindicator To get better integration with Unity (and actually have nm-applet show up at all with Unity / compiz), implement drawing the applet using libappindicator. To play well with others, this patch actually implements libappindicator conditionally to running configure with --enable-indicator. === modified file 'configure.ac' --- configure.ac | 8 src/Makefile.am | 2 src/applet-device-broadband.c | 6 src/applet-device-bt.c | 13 - src/applet-device-cdma.c | 46 ++++ src/applet-device-ethernet.c | 13 - src/applet-device-gsm.c | 50 ++++ src/applet-device-wifi.c | 328 ++++++++++++++++++++++++++++- src/applet-device-wimax.c | 42 +++ src/applet.c | 463 +++++++++++++++++++++++++++++++++++------- src/applet.h | 19 + src/gconf-helpers/Makefile.am | 2 src/mb-menu-item.c | 3 src/mobile-helpers.c | 158 +++++++++++++- src/mobile-helpers.h | 19 + 15 files changed, 1058 insertions(+), 114 deletions(-) Index: b/configure.ac =================================================================== --- a/configure.ac +++ b/configure.ac @@ -203,6 +203,14 @@ case "${with_bluetooth}" in ;; esac +AC_ARG_ENABLE([indicator], +[ --enable-appindicator Enables using libappindicator to draw the applet + on the screen, instead of the standard status icons.], +[ + PKG_CHECK_MODULES(APPINDICATOR, appindicator3-0.1) + AC_DEFINE([ENABLE_INDICATOR], 1, [Enable using libappindicator]) +]) + AM_CONDITIONAL(HAVE_GBT, test x"$have_gbt" = "xyes") dnl ModemManager1 with libmm-glib Index: b/src/Makefile.am =================================================================== --- a/src/Makefile.am +++ b/src/Makefile.am @@ -7,6 +7,7 @@ nm_applet_CPPFLAGS = \ $(NMA_CFLAGS) \ $(LIBSECRET_CFLAGS) \ $(NOTIFY_CFLAGS) \ + $(APPINDICATOR_CFLAGS) \ -DICONDIR=\""$(datadir)/icons"\" \ -DUIDIR=\""$(uidir)"\" \ -DBINDIR=\""$(bindir)"\" \ @@ -68,6 +69,7 @@ nm_applet_LDADD = \ $(NMA_LIBS) \ $(LIBSECRET_LIBS) \ $(NOTIFY_LIBS) \ + $(APPINDICATOR_LIBS) \ ${top_builddir}/src/marshallers/libmarshallers.la \ ${top_builddir}/src/utils/libutils.la \ ${top_builddir}/src/wireless-security/libwireless-security.la \ Index: b/src/applet-device-bt.c =================================================================== --- a/src/applet-device-bt.c +++ b/src/applet-device-bt.c @@ -149,7 +149,9 @@ bt_add_menu_item (NMDevice *device, item = applet_menu_item_create_device_item_helper (device, applet, text); +#ifndef ENABLE_INDICATOR gtk_widget_set_sensitive (item, FALSE); +#endif gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); @@ -200,15 +202,16 @@ bt_device_state_changed (NMDevice *devic } } -static GdkPixbuf * +static void bt_get_icon (NMDevice *device, NMDeviceState state, NMConnection *connection, + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, char **tip, NMApplet *applet) { NMSettingConnection *s_con; - GdkPixbuf *pixbuf = NULL; const char *id; id = nm_device_get_iface (NM_DEVICE (device)); @@ -231,14 +234,16 @@ bt_get_icon (NMDevice *device, *tip = g_strdup_printf (_("Requesting a network address for '%s'..."), id); break; case NM_DEVICE_STATE_ACTIVATED: - pixbuf = nma_icon_check_and_load ("nm-device-wwan", &applet->wwan_icon, applet); + *out_indicator_icon = g_strdup_printf ("nm-device-wwan"); + *out_pixbuf = nma_icon_check_and_load ("nm-device-wwan", &applet->wwan_icon, applet); *tip = g_strdup_printf (_("Mobile broadband connection '%s' active"), id); break; default: break; } - return pixbuf ? g_object_ref (pixbuf) : NULL; + if (out_pixbuf && *out_pixbuf) + g_object_ref (*out_pixbuf); } typedef struct { Index: b/src/applet-device-cdma.c =================================================================== --- a/src/applet-device-cdma.c +++ b/src/applet-device-cdma.c @@ -235,6 +235,9 @@ cdma_add_menu_item (NMDevice *device, char *text; GtkWidget *item; GSList *connections, *all, *iter; +#ifdef ENABLE_INDICATOR + GtkWidget *signal_icon; +#endif info = g_object_get_data (G_OBJECT (device), "devinfo"); @@ -252,7 +255,9 @@ cdma_add_menu_item (NMDevice *device, } item = applet_menu_item_create_device_item_helper (device, applet, text); +#ifndef ENABLE_INDICATOR gtk_widget_set_sensitive (item, FALSE); +#endif gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); g_free (text); @@ -264,6 +269,7 @@ cdma_add_menu_item (NMDevice *device, s_con = nm_connection_get_setting_connection (active); g_assert (s_con); +#ifndef ENABLE_INDICATOR item = nm_mb_menu_item_new (nm_setting_connection_get_id (s_con), info->quality_valid ? info->quality : 0, info->provider_name, @@ -272,6 +278,21 @@ cdma_add_menu_item (NMDevice *device, cdma_state_to_mb_state (info), info->modem_enabled, applet); +#else + text = mobile_helper_get_connection_label (nm_setting_connection_get_id (s_con), + info->provider_name, + cdma_act_to_mb_act (info), + cdma_state_to_mb_state (info)); + item = gtk_image_menu_item_new_with_label (text); + g_free (text); + text = mobile_helper_get_quality_icon (info->quality_valid ? + info->quality : 0, + applet); + signal_icon = gtk_image_new_from_icon_name (text, GTK_ICON_SIZE_LARGE_TOOLBAR); + g_free (text); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), signal_icon); + gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE); +#endif gtk_widget_set_sensitive (GTK_WIDGET (item), TRUE); add_connection_item (device, active, item, menu, applet); } @@ -285,6 +306,7 @@ cdma_add_menu_item (NMDevice *device, } } else { /* Otherwise show idle registration state or disabled */ +#ifndef ENABLE_INDICATOR item = nm_mb_menu_item_new (NULL, info->quality_valid ? info->quality : 0, info->provider_name, @@ -293,6 +315,21 @@ cdma_add_menu_item (NMDevice *device, cdma_state_to_mb_state (info), info->modem_enabled, applet); +#else + text = mobile_helper_get_connection_label (NULL, + info->provider_name, + cdma_act_to_mb_act (info), + cdma_state_to_mb_state (info)); + item = gtk_image_menu_item_new_with_label (text); + g_free (text); + text = mobile_helper_get_quality_icon (info->quality_valid ? + info->quality : 0, + applet); + signal_icon = gtk_image_new_from_icon_name (text, GTK_ICON_SIZE_LARGE_TOOLBAR); + g_free (text); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), signal_icon); + gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE); +#endif gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); } @@ -353,10 +390,12 @@ cdma_device_state_changed (NMDevice *dev check_start_polling (info); } -static GdkPixbuf * +static void cdma_get_icon (NMDevice *device, NMDeviceState state, NMConnection *connection, + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, char **tip, NMApplet *applet) { @@ -368,6 +407,8 @@ cdma_get_icon (NMDevice *device, return mobile_helper_get_icon (device, state, connection, + out_pixbuf, + out_indicator_icon, tip, applet, cdma_state_to_mb_state (info), @@ -602,6 +643,9 @@ reg_state_changed_cb (DBusGProxy *proxy, update_registration_state (info, cdma1x_state, evdo_state); info->skip_reg_poll = TRUE; applet_schedule_update_icon (info->applet); +#ifdef ENABLE_INDICATOR + applet_schedule_update_menu (info->applet); +#endif /* ENABLE_INDICATOR */ } static void Index: b/src/applet-device-gsm.c =================================================================== --- a/src/applet-device-gsm.c +++ b/src/applet-device-gsm.c @@ -44,6 +44,7 @@ #include "applet.h" #include "applet-device-gsm.h" #include "utils.h" +#include "mobile-helpers.h" #include "applet-dialogs.h" #include "mb-menu-item.h" #include "nma-marshal.h" @@ -291,6 +292,9 @@ gsm_add_menu_item (NMDevice *device, char *text; GtkWidget *item; GSList *connections, *all, *iter; +#ifdef ENABLE_INDICATOR + GtkWidget *signal_icon; +#endif info = g_object_get_data (G_OBJECT (device), "devinfo"); @@ -308,7 +312,9 @@ gsm_add_menu_item (NMDevice *device, } item = applet_menu_item_create_device_item_helper (device, applet, text); +#ifndef ENABLE_INDICATOR gtk_widget_set_sensitive (item, FALSE); +#endif gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); g_free (text); @@ -320,6 +326,7 @@ gsm_add_menu_item (NMDevice *device, s_con = nm_connection_get_setting_connection (active); g_assert (s_con); +#ifndef ENABLE_INDICATOR item = nm_mb_menu_item_new (nm_setting_connection_get_id (s_con), info->quality_valid ? info->quality : 0, info->op_name, @@ -328,6 +335,21 @@ gsm_add_menu_item (NMDevice *device, gsm_state_to_mb_state (info), info->modem_enabled, applet); +#else + text = mobile_helper_get_connection_label (nm_setting_connection_get_id (s_con), + info->op_name, + gsm_act_to_mb_act (info), + gsm_state_to_mb_state (info)); + item = gtk_image_menu_item_new_with_label (text); + g_free (text); + text = mobile_helper_get_quality_icon (info->quality_valid ? + info->quality : 0, + applet); + signal_icon = gtk_image_new_from_icon_name (text, GTK_ICON_SIZE_LARGE_TOOLBAR); + g_free (text); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), signal_icon); + gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE); +#endif gtk_widget_set_sensitive (GTK_WIDGET (item), TRUE); add_connection_item (device, active, item, menu, applet); } @@ -341,6 +363,7 @@ gsm_add_menu_item (NMDevice *device, } } else { /* Otherwise show idle registration state or disabled */ +#ifndef ENABLE_INDICATOR item = nm_mb_menu_item_new (NULL, info->quality_valid ? info->quality : 0, info->op_name, @@ -349,6 +372,23 @@ gsm_add_menu_item (NMDevice *device, gsm_state_to_mb_state (info), info->modem_enabled, applet); +#else + text = mobile_helper_get_connection_label (NULL, + info->op_name, + gsm_act_to_mb_act (info), + gsm_state_to_mb_state (info)); + item = gtk_image_menu_item_new_with_label (text); + g_free (text); + text = mobile_helper_get_quality_icon (info->quality_valid ? + info->quality : 0, + applet); + signal_icon = gtk_image_new_from_icon_name (text, GTK_ICON_SIZE_LARGE_TOOLBAR); + g_free (text); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), signal_icon); + gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE); + gtk_widget_set_sensitive (item, FALSE); +#endif + gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); } @@ -409,10 +449,12 @@ gsm_device_state_changed (NMDevice *devi check_start_polling (info); } -static GdkPixbuf * +static void gsm_get_icon (NMDevice *device, NMDeviceState state, NMConnection *connection, + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, char **tip, NMApplet *applet) { @@ -424,6 +466,8 @@ gsm_get_icon (NMDevice *device, return mobile_helper_get_icon (device, state, connection, + out_pixbuf, + out_indicator_icon, tip, applet, gsm_state_to_mb_state (info), @@ -1042,6 +1086,10 @@ reg_info_changed_cb (DBusGProxy *proxy, op_name, info->op_code); info->skip_reg_poll = TRUE; + +#ifdef ENABLE_INDICATOR + applet_schedule_update_menu (info->applet); +#endif /* ENABLE_INDICATOR */ } static void Index: b/src/applet-device-wifi.c =================================================================== --- a/src/applet-device-wifi.c +++ b/src/applet-device-wifi.c @@ -31,6 +31,7 @@ #include #include +#include #include #include @@ -308,6 +309,135 @@ is_blacklisted_ssid (const GByteArray *s return is_ssid_in_list (ssid, blacklisted_ssids); } +#ifdef ENABLE_INDICATOR +static void +clear_dupes_list (GSList *list) +{ + g_slist_foreach (list, (GFunc) g_free, NULL); + g_slist_free (list); +} + +static gboolean +get_ap_is_encrypted (NMAccessPoint *ap) +{ + guint32 ap_flags, ap_wpa, ap_rsn; + + ap_flags = nm_access_point_get_flags (ap); + ap_wpa = nm_access_point_get_wpa_flags (ap); + ap_rsn = nm_access_point_get_rsn_flags (ap); + + if ((ap_flags & NM_802_11_AP_FLAGS_PRIVACY) || ap_wpa || ap_rsn) + return TRUE; + + return FALSE; +} + +static void +ap_menu_item_set_sensitive (GtkWidget *item, NMAccessPoint *ap, guint32 dev_caps) +{ + gboolean is_adhoc = FALSE; + guint32 ap_flags, ap_wpa, ap_rsn; + + ap_flags = nm_access_point_get_flags (ap); + ap_wpa = nm_access_point_get_wpa_flags (ap); + ap_rsn = nm_access_point_get_rsn_flags (ap); + + if (nm_access_point_get_mode (ap) == NM_802_11_MODE_ADHOC) + is_adhoc = TRUE; + + /* Don't enable the menu item the device can't even connect to the AP */ + if ( !nm_utils_security_valid (NMU_SEC_NONE, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn) + && !nm_utils_security_valid (NMU_SEC_STATIC_WEP, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn) + && !nm_utils_security_valid (NMU_SEC_LEAP, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn) + && !nm_utils_security_valid (NMU_SEC_DYNAMIC_WEP, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn) + && !nm_utils_security_valid (NMU_SEC_WPA_PSK, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn) + && !nm_utils_security_valid (NMU_SEC_WPA2_PSK, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn) + && !nm_utils_security_valid (NMU_SEC_WPA_ENTERPRISE, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn) + && !nm_utils_security_valid (NMU_SEC_WPA2_ENTERPRISE, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn)) { + gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); + } +} + +static gchar * +get_best_icon_name_for_ap (NMAccessPoint *ap, gboolean need_sec, gboolean encrypted) +{ + GString *icon_name = NULL; + gchar *tmp = NULL; + guint32 strength; + + g_return_val_if_fail (NM_IS_ACCESS_POINT (ap), NULL); + + strength = nm_access_point_get_strength (ap); + strength = CLAMP (strength, 0, 100); + + icon_name = g_string_new (""); + if (strength > 80) + icon_name = g_string_assign (icon_name, "nm-signal-100"); + else if (strength > 55) + icon_name = g_string_assign (icon_name, "nm-signal-75"); + else if (strength > 30) + icon_name = g_string_assign (icon_name, "nm-signal-50"); + else if (strength > 5) + icon_name = g_string_assign (icon_name, "nm-signal-25"); + else + icon_name = g_string_assign (icon_name, "nm-signal-00"); + + if (nm_access_point_get_mode (ap) == NM_802_11_MODE_ADHOC) { + icon_name = g_string_assign (icon_name, "nm-adhoc"); + goto out; + } + + if (need_sec && encrypted) + icon_name = g_string_append (icon_name, "-secure"); + +out: + tmp = icon_name->str; + g_string_free (icon_name, FALSE); + + return tmp; +} + +static void +set_menu_item_accessible_desc (NMAccessPoint *ap, + GtkMenuItem *item, + gboolean is_encrypted) +{ + guint32 strength; + gchar *ssid = NULL; + GString *icon_desc = NULL; + + g_return_if_fail (NM_IS_ACCESS_POINT (ap)); + + strength = nm_access_point_get_strength (ap); + strength = CLAMP (strength, 0, 100); + + ssid = g_strdup (gtk_menu_item_get_label (item)); + + if (ssid == NULL) + return; + + icon_desc = g_string_new (""); + g_string_append_printf (icon_desc, "%s: ", ssid); + + if (nm_access_point_get_mode (ap) == NM_802_11_MODE_ADHOC) { + icon_desc = g_string_append (icon_desc, _("ad-hoc")); + goto out; + } + + g_string_append_printf (icon_desc, "%d%%", strength); + + if (is_encrypted) { + icon_desc = g_string_append (icon_desc, ", "); + icon_desc = g_string_append (icon_desc, _("secure.")); + } + +out: + atk_object_set_name (gtk_widget_get_accessible (GTK_WIDGET (item)), icon_desc->str); + g_free (ssid); + g_string_free (icon_desc, TRUE); +} +#endif + static void clamp_ap_to_bssid (NMAccessPoint *ap, NMSettingWireless *s_wifi) { @@ -516,7 +646,11 @@ wifi_menu_item_activate (GtkMenuItem *it struct dup_data { NMDevice *device; +#ifndef ENABLE_INDICATOR NMNetworkMenuItem *found; +#else + GtkWidget *found; +#endif char *hash; }; @@ -532,19 +666,34 @@ find_duplicate (gpointer d, gpointer use g_return_if_fail (data); g_return_if_fail (data->hash); +#ifndef ENABLE_INDICATOR if (data->found || !NM_IS_NETWORK_MENU_ITEM (widget)) return; +#else + if (data->found || !GTK_IS_IMAGE_MENU_ITEM (widget)) + return; +#endif device = g_object_get_data (G_OBJECT (widget), "device"); if (NM_DEVICE (device) != data->device) return; +#ifndef ENABLE_INDICATOR hash = nm_network_menu_item_get_hash (NM_NETWORK_MENU_ITEM (widget)); if (hash && (strcmp (hash, data->hash) == 0)) data->found = NM_NETWORK_MENU_ITEM (widget); +#else + hash = g_object_get_data (G_OBJECT (widget), "hash"); + if (hash && (strcmp (hash, data->hash) == 0)) + data->found = widget; +#endif /* ENABLE_INDICATOR */ } +#ifndef ENABLE_INDICATOR static NMNetworkMenuItem * +#else +static GtkImageMenuItem * +#endif create_new_ap_item (NMDeviceWifi *device, NMAccessPoint *ap, struct dup_data *dup_data, @@ -553,7 +702,16 @@ create_new_ap_item (NMDeviceWifi *device { WifiMenuItemInfo *info; GSList *iter; +#ifndef ENABLE_INDICATOR NMNetworkMenuItem *item = NULL; +#else + GtkWidget *item = NULL; + char *text, *best_icon_name; + const char *path; + GtkWidget *icon_image; + gboolean encrypted, ad_hoc; + GSList *dupes; +#endif /* ENABLE_INDICATOR */ GSList *dev_connections = NULL; GSList *ap_connections = NULL; const GByteArray *ssid; @@ -564,18 +722,51 @@ create_new_ap_item (NMDeviceWifi *device g_slist_free (dev_connections); dev_connections = NULL; + ssid = nm_access_point_get_ssid (ap); + dev_caps = nm_device_wifi_get_capabilities (device); + +#ifndef ENABLE_INDICATOR item = NM_NETWORK_MENU_ITEM (nm_network_menu_item_new (dup_data->hash, !!g_slist_length (ap_connections))); gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE); - ssid = nm_access_point_get_ssid (ap); nm_network_menu_item_set_ssid (item, (GByteArray *) ssid); - dev_caps = nm_device_wifi_get_capabilities (device); nma_icon_check_and_load ("nm-adhoc", &applet->adhoc_icon, applet); nm_network_menu_item_set_detail (item, ap, applet->adhoc_icon, dev_caps); nm_network_menu_item_best_strength (item, nm_access_point_get_strength (ap), applet); nm_network_menu_item_add_dupe (item, ap); +#else + text = nm_utils_ssid_to_utf8 (ssid); + if (!text) { + // Avoid any cases where the SSID could possibly end up undefined. + text = g_strdup (""); + } + item = gtk_image_menu_item_new_with_label (text); + g_free (text); + + encrypted = get_ap_is_encrypted (ap); + ad_hoc = nm_access_point_get_mode (ap) == NM_802_11_MODE_ADHOC; + + best_icon_name = get_best_icon_name_for_ap (ap, TRUE, encrypted); + icon_image = gtk_image_new_from_icon_name (best_icon_name, GTK_ICON_SIZE_LARGE_TOOLBAR); + g_free (best_icon_name); + + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), icon_image); + gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE); + + path = nm_object_get_path (NM_OBJECT (ap)); + dupes = g_slist_append (dupes, g_strdup (path)); + g_object_set_data_full (G_OBJECT (item), "dupes", (gpointer) dupes, (GDestroyNotify) clear_dupes_list); + g_object_set_data (G_OBJECT (item), "encrypted", (gpointer) encrypted); + g_object_set_data (G_OBJECT (item), "ad-hoc", (gpointer) ad_hoc); + g_object_set_data (G_OBJECT (item), "hash", (gpointer) dup_data->hash); + g_object_set_data (G_OBJECT (item), "has_connections", (gpointer) !!g_slist_length (ap_connections)); + + set_menu_item_accessible_desc (ap, GTK_MENU_ITEM (item), encrypted); + + ap_menu_item_set_sensitive (item, ap, dev_caps); +#endif /* ENABLE_INDICATOR */ g_object_set_data (G_OBJECT (item), "device", NM_DEVICE (device)); @@ -633,7 +824,11 @@ create_new_ap_item (NMDeviceWifi *device return item; } +#ifndef ENABLE_INDICATOR static NMNetworkMenuItem * +#else +static GtkImageMenuItem * +#endif /* ENABLE_INDICATOR */ get_menu_item_for_ap (NMDeviceWifi *device, NMAccessPoint *ap, GSList *connections, @@ -657,14 +852,32 @@ get_menu_item_for_ap (NMDeviceWifi *devi */ dup_data.found = NULL; dup_data.hash = g_object_get_data (G_OBJECT (ap), "hash"); +#ifndef ENABLE_INDICATOR g_return_val_if_fail (dup_data.hash != NULL, NULL); +#else + /* heh, not much choice here, otherwise on startup we get tons of errors + * because g_return_val_if_fail prints assertion errors. + */ + if (dup_data.hash == NULL) + return NULL; +#endif dup_data.device = NM_DEVICE (device); g_slist_foreach (menu_list, find_duplicate, &dup_data); if (dup_data.found) { +#ifndef ENABLE_INDICATOR nm_network_menu_item_best_strength (dup_data.found, nm_access_point_get_strength (ap), applet); nm_network_menu_item_add_dupe (dup_data.found, ap); +#else + GSList *dupes = NULL; + const char *path; + + dupes = g_object_steal_data (G_OBJECT (dup_data.found), "dupes"); + path = nm_object_get_path (NM_OBJECT (ap)); + dupes = g_slist_prepend (dupes, g_strdup (path)); + g_object_set_data_full (G_OBJECT (dup_data.found), "dupes", (gpointer) dupes, (GDestroyNotify) clear_dupes_list); +#endif return NULL; } @@ -674,6 +887,7 @@ get_menu_item_for_ap (NMDeviceWifi *devi static gint sort_by_name (gconstpointer tmpa, gconstpointer tmpb) { +#ifndef ENABLE_INDICATOR NMNetworkMenuItem *a = NM_NETWORK_MENU_ITEM (tmpa); NMNetworkMenuItem *b = NM_NETWORK_MENU_ITEM (tmpb); const char *a_ssid, *b_ssid; @@ -710,6 +924,44 @@ sort_by_name (gconstpointer tmpa, gconst return -1; return 0; +#else + GtkImageMenuItem *a = GTK_IMAGE_MENU_ITEM (tmpa); + GtkImageMenuItem *b = GTK_IMAGE_MENU_ITEM (tmpb); + const char *a_ssid, *b_ssid; + gboolean a_adhoc, b_adhoc; + int i; + + if (a && !b) + return 1; + else if (!a && b) + return -1; + else if (a == b) + return 0; + + a_ssid = gtk_menu_item_get_label (GTK_MENU_ITEM (a)); + b_ssid = gtk_menu_item_get_label (GTK_MENU_ITEM (b)); + + if (a_ssid && !b_ssid) + return 1; + if (b_ssid && !a_ssid) + return -1; + + if (a_ssid && b_ssid) { + i = g_ascii_strcasecmp (a_ssid, b_ssid); + if (i != 0) + return i; + } + + /* If the names are the same, sort infrastructure APs first */ + a_adhoc = g_object_get_data (G_OBJECT (a), "ad-hoc"); + b_adhoc = g_object_get_data (G_OBJECT (b), "ad-hoc"); + if (a_adhoc && !b_adhoc) + return 1; + else if (!a_adhoc && b_adhoc) + return -1; + + return 0; +#endif /* ENABLE_INDICATOR */ } /* Sort menu items for the top-level menu: @@ -721,6 +973,7 @@ sort_by_name (gconstpointer tmpa, gconst static gint sort_toplevel (gconstpointer tmpa, gconstpointer tmpb) { +#ifndef ENABLE_INDICATOR NMNetworkMenuItem *a = NM_NETWORK_MENU_ITEM (tmpa); NMNetworkMenuItem *b = NM_NETWORK_MENU_ITEM (tmpb); gboolean a_fave, b_fave; @@ -755,6 +1008,42 @@ sort_toplevel (gconstpointer tmpa, gcons * both are unencrypted) just sort by name. */ return sort_by_name (a, b); +#else + GtkImageMenuItem *a = GTK_IMAGE_MENU_ITEM (tmpa); + GtkImageMenuItem *b = GTK_IMAGE_MENU_ITEM (tmpb); + gboolean a_fave, b_fave; + + if (a && !b) + return 1; + else if (!a && b) + return -1; + else if (a == b) + return 0; + + a_fave = g_object_get_data (G_OBJECT (a), "has_connections"); + b_fave = g_object_get_data (G_OBJECT (b), "has_connections"); + + /* Items with a saved connection first */ + if (a_fave && !b_fave) + return -1; + else if (!a_fave && b_fave) + return 1; + else if (!a_fave && !b_fave) { + gboolean a_enc = g_object_get_data (G_OBJECT (a), "encrypted"); + gboolean b_enc = g_object_get_data (G_OBJECT (b), "encrypted"); + + /* If neither item has a saved connection, sort by encryption */ + if (a_enc && !b_enc) + return -1; + else if (!a_enc && b_enc) + return 1; + } + + /* For all other cases (both have saved connections, both are encrypted, or + * both are unencrypted) just sort by name. + */ + return sort_by_name (a, b); +#endif /* ENABLE_INDICATOR */ } static void @@ -773,7 +1062,11 @@ wifi_add_menu_item (NMDevice *device, gboolean wifi_enabled = TRUE; gboolean wifi_hw_enabled = TRUE; GSList *menu_items = NULL; /* All menu items we'll be adding */ +#ifndef ENABLE_INDICATOR NMNetworkMenuItem *item, *active_item = NULL; +#else + GtkImageMenuItem *item, *active_item = NULL; +#endif /* ENABLE_INDICATOR */ GtkWidget *widget; wdev = NM_DEVICE_WIFI (device); @@ -807,7 +1100,9 @@ wifi_add_menu_item (NMDevice *device, if (active_ap) { active_item = item = get_menu_item_for_ap (wdev, active_ap, connections, NULL, applet); if (item) { +#ifndef ENABLE_INDICATOR nm_network_menu_item_set_active (item, TRUE); +#endif menu_items = g_slist_append (menu_items, item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (item)); @@ -1102,6 +1397,9 @@ access_point_added_cb (NMDeviceWifi *dev applet); queue_avail_access_point_notification (NM_DEVICE (device)); +#ifdef ENABLE_INDICATOR + applet_schedule_update_menu (applet); +#endif /* ENABLE_INDICATOR */ } static void @@ -1119,6 +1417,9 @@ access_point_removed_cb (NMDeviceWifi *d if (old == ap) { g_object_set_data (G_OBJECT (device), ACTIVE_AP_TAG, NULL); applet_schedule_update_icon (applet); +#ifdef ENABLE_INDICATOR + applet_schedule_update_menu (applet); +#endif /* ENABLE_INDICATOR */ } } @@ -1265,16 +1566,17 @@ wifi_device_state_changed (NMDevice *dev g_free (esc_ssid); } -static GdkPixbuf * +static void wifi_get_icon (NMDevice *device, NMDeviceState state, NMConnection *connection, + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, char **tip, NMApplet *applet) { NMSettingConnection *s_con; NMAccessPoint *ap; - GdkPixbuf *pixbuf = NULL; const char *id; char *ssid = NULL; @@ -1307,22 +1609,25 @@ wifi_get_icon (NMDevice *device, strength = CLAMP (strength, 0, 100); if (strength > 80) - pixbuf = nma_icon_check_and_load ("nm-signal-100", &applet->wifi_100_icon, applet); + *out_pixbuf = nma_icon_check_and_load ("nm-signal-100", &applet->wifi_100_icon, applet); else if (strength > 55) - pixbuf = nma_icon_check_and_load ("nm-signal-75", &applet->wifi_75_icon, applet); + *out_pixbuf = nma_icon_check_and_load ("nm-signal-75", &applet->wifi_75_icon, applet); else if (strength > 30) - pixbuf = nma_icon_check_and_load ("nm-signal-50", &applet->wifi_50_icon, applet); + *out_pixbuf = nma_icon_check_and_load ("nm-signal-50", &applet->wifi_50_icon, applet); else if (strength > 5) - pixbuf = nma_icon_check_and_load ("nm-signal-25", &applet->wifi_25_icon, applet); + *out_pixbuf = nma_icon_check_and_load ("nm-signal-25", &applet->wifi_25_icon, applet); else - pixbuf = nma_icon_check_and_load ("nm-signal-00", &applet->wifi_00_icon, applet); + *out_pixbuf = nma_icon_check_and_load ("nm-signal-00", &applet->wifi_00_icon, applet); + + *out_indicator_icon = get_best_icon_name_for_ap (ap, FALSE, FALSE); ssid = get_ssid_utf8 (ap); *tip = g_strdup_printf (_("Wi-Fi network connection '%s' active: %s (%d%%)"), id, ssid, strength); g_free (ssid); } else { - pixbuf = nma_icon_check_and_load ("nm-signal-00", &applet->wifi_00_icon, applet); + *out_indicator_icon = g_strdup_printf ("nm-signal-00"); + *out_pixbuf = nma_icon_check_and_load ("nm-signal-00", &applet->wifi_00_icon, applet); *tip = g_strdup_printf (_("Wi-Fi network connection '%s' active"), id); } break; @@ -1330,7 +1635,8 @@ wifi_get_icon (NMDevice *device, break; } - return pixbuf ? g_object_ref (pixbuf) : NULL; + if (out_pixbuf && *out_pixbuf) + g_object_ref (*out_pixbuf); } static gboolean Index: b/src/applet-device-ethernet.c =================================================================== --- a/src/applet-device-ethernet.c +++ b/src/applet-device-ethernet.c @@ -218,7 +218,9 @@ ethernet_add_menu_item (NMDevice *device if (nm_device_get_capabilities (device) & NM_DEVICE_CAP_CARRIER_DETECT) carrier = nm_device_ethernet_get_carrier (NM_DEVICE_ETHERNET (device)); +#ifndef ENABLE_INDICATOR gtk_widget_set_sensitive (item, FALSE); +#endif gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); @@ -271,15 +273,16 @@ ethernet_device_state_changed (NMDevice } } -static GdkPixbuf * +static void ethernet_get_icon (NMDevice *device, NMDeviceState state, NMConnection *connection, + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, char **tip, NMApplet *applet) { NMSettingConnection *s_con; - GdkPixbuf *pixbuf = NULL; const char *id; id = nm_device_get_iface (NM_DEVICE (device)); @@ -302,14 +305,16 @@ ethernet_get_icon (NMDevice *device, *tip = g_strdup_printf (_("Requesting an ethernet network address for '%s'..."), id); break; case NM_DEVICE_STATE_ACTIVATED: - pixbuf = nma_icon_check_and_load ("nm-device-wired", &applet->ethernet_icon, applet); + *out_indicator_icon = g_strdup_printf ("nm-device-wired"); + *out_pixbuf = nma_icon_check_and_load (*out_indicator_icon, &applet->ethernet_icon, applet); *tip = g_strdup_printf (_("Ethernet network connection '%s' active"), id); break; default: break; } - return pixbuf ? g_object_ref (pixbuf) : NULL; + if (out_pixbuf && *out_pixbuf) + g_object_ref (*out_pixbuf); } /* PPPoE */ Index: b/src/applet.c =================================================================== --- a/src/applet.c +++ b/src/applet.c @@ -549,6 +549,8 @@ add_and_activate_cb (NMClient *client, GError *error, gpointer user_data) { + NMApplet *applet = NM_APPLET (user_data); + if (error) { const char *text = _("Failed to add/activate connection"); char *err_text = g_strdup_printf ("(%d) %s", error->code, @@ -559,7 +561,8 @@ add_and_activate_cb (NMClient *client, g_free (err_text); } - applet_schedule_update_icon (NM_APPLET (user_data)); + applet_schedule_update_icon (applet); + applet_schedule_update_menu (applet); } static void @@ -593,6 +596,8 @@ applet_menu_item_activate_helper_new_con static void disconnect_cb (NMDevice *device, GError *error, gpointer user_data) { + NMApplet *applet = NM_APPLET (user_data); + if (error) { const char *text = _("Device disconnect failed"); char *err_text = g_strdup_printf ("(%d) %s", error->code, @@ -602,6 +607,9 @@ disconnect_cb (NMDevice *device, GError utils_show_error_dialog (_("Disconnect failure"), text, err_text, FALSE, NULL); g_free (err_text); } + + applet_schedule_update_icon (applet); + applet_schedule_update_menu (applet); } void @@ -610,7 +618,7 @@ applet_menu_item_disconnect_helper (NMDe { g_return_if_fail (NM_IS_DEVICE (device)); - nm_device_disconnect (device, disconnect_cb, NULL); + nm_device_disconnect (device, disconnect_cb, applet); } static void @@ -683,7 +691,8 @@ applet_menu_item_add_complex_separator_h const gchar* label, int pos) { - GtkWidget *menu_item = gtk_image_menu_item_new (); + GtkWidget *menu_item = NULL; +#ifndef ENABLE_INDICATOR #if GTK_CHECK_VERSION(3,1,6) GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); #else @@ -691,6 +700,8 @@ applet_menu_item_add_complex_separator_h #endif GtkWidget *xlabel = NULL; + menu_item = gtk_image_menu_item_new (); + if (label) { xlabel = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (xlabel), label); @@ -713,10 +724,16 @@ applet_menu_item_add_complex_separator_h "child", box, "sensitive", FALSE, NULL); + if (pos < 0) gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); else gtk_menu_shell_insert (GTK_MENU_SHELL (menu), menu_item, pos); +#else + menu_item = gtk_separator_menu_item_new (); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); +#endif /* ENABLE_INDICATOR */ + return; } @@ -727,10 +744,13 @@ applet_new_menu_item_helper (NMConnectio { GtkWidget *item; NMSettingConnection *s_con; +#ifndef ENABLE_INDICATOR char *markup; GtkWidget *label; +#endif /* ENABLE_INDICATOR */ s_con = nm_connection_get_setting_connection (connection); +#ifndef ENABLE_INDICATOR item = gtk_image_menu_item_new_with_label (""); if (add_active && (active == connection)) { /* Pure evil */ @@ -743,9 +763,13 @@ applet_new_menu_item_helper (NMConnectio gtk_menu_item_set_label (GTK_MENU_ITEM (item), nm_setting_connection_get_id (s_con)); gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE); +#else + item = gtk_menu_item_new_with_label (nm_setting_connection_get_id (s_con)); +#endif /* ENABLE_INDICATOR */ return item; } +#ifndef ENABLE_INDICATOR #define TITLE_TEXT_R ((double) 0x5e / 255.0 ) #define TITLE_TEXT_G ((double) 0x5e / 255.0 ) #define TITLE_TEXT_B ((double) 0x5e / 255.0 ) @@ -850,6 +874,8 @@ menu_title_item_expose (GtkWidget *widge } #endif +#endif /* ENABLE_INDICATOR */ + GtkWidget * applet_menu_item_create_device_item_helper (NMDevice *device, NMApplet *applet, @@ -859,11 +885,13 @@ applet_menu_item_create_device_item_help item = gtk_menu_item_new_with_mnemonic (text); gtk_widget_set_sensitive (item, FALSE); +#ifndef ENABLE_INDICATOR #if GTK_CHECK_VERSION(2,90,7) g_signal_connect (item, "draw", G_CALLBACK (menu_title_item_draw), NULL); #else g_signal_connect (item, "expose-event", G_CALLBACK (menu_title_item_expose), NULL); #endif +#endif /* ENABLE_INDICATOR */ return item; } @@ -910,7 +938,12 @@ applet_do_notify (NMApplet *applet, g_return_if_fail (summary != NULL); g_return_if_fail (message != NULL); +#ifndef ENABLE_INDICATOR if (!gtk_status_icon_is_embedded (applet->status_icon)) +#else + if (!gtk_status_icon_is_embedded (applet->status_icon) && + app_indicator_get_status (applet->app_indicator) == APP_INDICATOR_STATUS_PASSIVE) +#endif /* ENABLE_INDICATOR */ return; /* if we're not acting as a secret agent, don't notify either */ @@ -1199,6 +1232,7 @@ vpn_connection_state_changed (NMVPNConne clear_animation_timeout (applet); applet_schedule_update_icon (applet); + applet_schedule_update_menu (applet); } static const char * @@ -1254,10 +1288,13 @@ activate_vpn_cb (NMClient *client, } applet_schedule_update_icon (info->applet); + applet_schedule_update_menu (info->applet); g_free (info->vpn_name); g_free (info); } +static void nma_menu_disconnect_vpn_item_activate (GtkMenuItem *item, gpointer user_data); + static void nma_menu_vpn_item_clicked (GtkMenuItem *item, gpointer user_data) { @@ -1280,9 +1317,14 @@ nma_menu_vpn_item_clicked (GtkMenuItem * return; } - if (applet_get_active_for_connection (applet, connection)) + if (applet_get_active_for_connection (applet, connection)) { +#ifndef ENABLE_INDICATOR /* Connection already active; do nothing */ +#else + nma_menu_disconnect_vpn_item_activate (item, applet); +#endif /* ENABLE_INDICATOR */ return; + } s_con = nm_connection_get_setting_connection (connection); info = g_malloc0 (sizeof (VPNActivateInfo)); @@ -1668,8 +1710,10 @@ nma_menu_add_devices (GtkWidget *menu, N active = applet_find_active_connection_for_device (device, applet, NULL); dclass = get_device_class (device, applet); - if (dclass) + if (dclass) { dclass->add_menu_item (device, n_devices, active, menu, applet); + nma_menu_add_separator_item (menu); + } } out: @@ -1745,13 +1789,20 @@ nma_menu_add_vpn_submenu (GtkWidget *men NMConnection *connection = NM_CONNECTION (iter->data); NMActiveConnection *active; const char *name; +#ifndef ENABLE_INDICATOR GtkWidget *image; +#endif /* ENABLE_INDICATOR */ NMState state; name = get_connection_id (connection); +#ifndef ENABLE_INDICATOR item = GTK_MENU_ITEM (gtk_image_menu_item_new_with_label (name)); gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM(item), TRUE); +#else + item = GTK_MENU_ITEM (gtk_check_menu_item_new_with_label (name)); + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM(item), FALSE); +#endif /* ENABLE_INDICATOR */ /* If no VPN connections are active, draw all menu items enabled. If * >= 1 VPN connections are active, only the active VPN menu item is @@ -1770,8 +1821,12 @@ nma_menu_add_vpn_submenu (GtkWidget *men gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); if (active) { +#ifndef ENABLE_INDICATOR image = gtk_image_new_from_stock (GTK_STOCK_CONNECT, GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); +#else + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM(item), TRUE); +#endif /* ENABLE_INDICATOR */ } g_object_set_data_full (G_OBJECT (item), "connection", @@ -1845,6 +1900,7 @@ nma_set_networking_enabled_cb (GtkWidget } +#ifndef ENABLE_INDICATOR static void nma_set_notifications_enabled_cb (GtkWidget *widget, NMApplet *applet) { @@ -1867,6 +1923,7 @@ nma_set_notifications_enabled_cb (GtkWid PREF_SUPPRESS_WIFI_NETWORKS_AVAILABLE, !state); } +#endif /* ENABLE_INDICATOR */ /* * nma_menu_show_cb @@ -1954,7 +2011,9 @@ nma_context_menu_update (NMApplet *apple gboolean wifi_hw_enabled; gboolean wwan_hw_enabled; gboolean wimax_hw_enabled; +#ifndef ENABLE_INDICATOR gboolean notifications_enabled = TRUE; +#endif /* ENABLE_INDICATOR */ gboolean sensitive = FALSE; state = nm_client_get_state (applet->nm_client); @@ -2014,6 +2073,7 @@ nma_context_menu_update (NMApplet *apple gtk_widget_set_sensitive (GTK_WIDGET (applet->wimax_enabled_item), wimax_hw_enabled && is_permission_yes (applet, NM_CLIENT_PERMISSION_ENABLE_DISABLE_WIMAX)); +#ifndef ENABLE_INDICATOR /* Enabled notifications */ g_signal_handler_block (G_OBJECT (applet->notifications_enabled_item), applet->notifications_enabled_toggled_id); @@ -2025,6 +2085,7 @@ nma_context_menu_update (NMApplet *apple gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (applet->notifications_enabled_item), notifications_enabled); g_signal_handler_unblock (G_OBJECT (applet->notifications_enabled_item), applet->notifications_enabled_toggled_id); +#endif /* ENABLE_INDICATOR */ /* Don't show wifi-specific stuff if wifi is off */ if (state != NM_STATE_ASLEEP) { @@ -2097,16 +2158,20 @@ applet_connection_info_cb (NMApplet *app * Generate the contextual popup menu. * */ -static GtkWidget *nma_context_menu_create (NMApplet *applet) +static GtkWidget *nma_context_menu_create (NMApplet *applet, GtkMenuShell *menu) { +#ifndef ENABLE_INDICATOR GtkMenuShell *menu; GtkWidget *menu_item; +#endif GtkWidget *image; guint id; g_return_val_if_fail (applet != NULL, NULL); +#ifndef ENABLE_INDICATOR menu = GTK_MENU_SHELL (gtk_menu_new ()); +#endif /* 'Enable Networking' item */ applet->networking_enabled_item = gtk_check_menu_item_new_with_mnemonic (_("Enable _Networking")); @@ -2146,6 +2211,7 @@ static GtkWidget *nma_context_menu_creat nma_menu_add_separator_item (GTK_WIDGET (menu)); +#ifndef ENABLE_INDICATOR /* Toggle notifications item */ applet->notifications_enabled_item = gtk_check_menu_item_new_with_mnemonic (_("Enable N_otifications")); id = g_signal_connect (applet->notifications_enabled_item, @@ -2156,6 +2222,7 @@ static GtkWidget *nma_context_menu_creat gtk_menu_shell_append (menu, applet->notifications_enabled_item); nma_menu_add_separator_item (GTK_WIDGET (menu)); +#endif /* ENABLE_INDICATOR */ /* 'Connection Information' item */ applet->info_menu_item = gtk_image_menu_item_new_with_mnemonic (_("Connection _Information")); @@ -2177,6 +2244,7 @@ static GtkWidget *nma_context_menu_creat gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (applet->connections_menu_item), image); gtk_menu_shell_append (menu, applet->connections_menu_item); +#ifndef ENABLE_INDICATOR /* Separator */ nma_menu_add_separator_item (GTK_WIDGET (menu)); @@ -2196,25 +2264,112 @@ static GtkWidget *nma_context_menu_creat image = gtk_image_new_from_stock (GTK_STOCK_ABOUT, GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_item), image); gtk_menu_shell_append (menu, menu_item); +#endif /* ENABLE_INDICATOR */ gtk_widget_show_all (GTK_WIDGET (menu)); return GTK_WIDGET (menu); } +#ifdef ENABLE_INDICATOR +static void +indicator_update_menu (NMApplet *applet) +{ + if (!applet->in_fallback) { + if (applet->menu) + g_object_unref (applet->menu); + + applet->menu = gtk_menu_new (); + g_object_ref_sink (G_OBJECT (applet->menu)); + nma_menu_show_cb (applet->menu, applet); + nma_menu_add_separator_item (applet->menu); + applet->menu = nma_context_menu_create (applet, GTK_MENU_SHELL(applet->menu)); + + app_indicator_set_menu (applet->app_indicator, GTK_MENU (applet->menu)); + + nma_context_menu_update (applet); + } + + applet->update_menu_id = 0; +} + +static gboolean +applet_update_indicator_menu (gpointer user_data) +{ + NMApplet *applet = NM_APPLET (user_data); + + indicator_update_menu (applet); + + return FALSE; +} + +void +applet_schedule_update_menu (NMApplet *applet) +{ + if (!applet->update_menu_id) + applet->update_menu_id = g_idle_add (applet_update_indicator_menu, applet); +} + +static void +new_connection_cb (NMRemoteSettings *settings, NMRemoteConnection *connection, gpointer user_data) +{ + NMApplet *applet = NM_APPLET (user_data); + + //if (nm_connection_is_type (NM_CONNECTION (connection), NM_SETTING_VPN_SETTING_NAME)) + applet_schedule_update_menu (applet); +} +#endif /* ENABLE_INDICATOR */ + /*****************************************************************************/ static void -foo_set_icon (NMApplet *applet, GdkPixbuf *pixbuf, guint32 layer) +foo_set_icon (NMApplet *applet, guint32 layer, GdkPixbuf *pixbuf, char *icon_name, char *new_tip) { + GString *tip = NULL; int i; - if (layer > ICON_LAYER_MAX) { - g_warning ("Tried to icon to invalid layer %d", layer); - return; + switch (layer) { + case ICON_LAYER_LINK: + if (new_tip == NULL) + new_tip = g_strdup (_("No network connection")); + tip = g_string_new (new_tip); + break; + case ICON_LAYER_VPN: + tip = g_string_new (applet->tip); + + if (new_tip) + g_string_append_printf (tip, "%s%s", tip->len ? "\n" : "", new_tip); + break; + default: + tip = g_string_new (""); + if (layer > ICON_LAYER_MAX) { + g_string_free (tip, TRUE); + g_warning ("Tried to icon to invalid layer %d", layer); + return; + } + break; + } + + if (tip->len) { + g_free (applet->tip); + applet->tip = tip->str; } + g_free (new_tip); + g_string_free (tip, FALSE); + +#ifdef ENABLE_INDICATOR + if (icon_name == NULL && layer == ICON_LAYER_LINK) { + icon_name = g_strdup ("nm-no-connection"); + } + + if (icon_name != NULL && + g_strcmp0 (app_indicator_get_icon (applet->app_indicator), icon_name) != 0) { + app_indicator_set_icon_full (applet->app_indicator, icon_name, applet->tip); + } +#endif /* ENABLE_INDICATOR */ + /* Ignore setting of the same icon as is already displayed */ if (applet->icon_layers[layer] == pixbuf) return; @@ -2248,8 +2403,13 @@ foo_set_icon (NMApplet *applet, GdkPixbu gtk_status_icon_set_from_pixbuf (applet->status_icon, pixbuf); g_object_unref (pixbuf); -} +#if GTK_CHECK_VERSION(2, 15, 0) + gtk_status_icon_set_tooltip_text (applet->status_icon, applet->tip); +#else + gtk_status_icon_set_tooltip (applet->status_icon, applet->tip); +#endif +} NMRemoteConnection * applet_get_exported_connection_for_device (NMDevice *device, NMApplet *applet) @@ -2442,6 +2602,7 @@ foo_device_state_changed_cb (NMDevice *d applet_common_device_state_changed (device, new_state, old_state, reason, applet); applet_schedule_update_icon (applet); + applet_schedule_update_menu (applet); } static void @@ -2498,8 +2659,20 @@ foo_client_state_changed_cb (NMClient *c } applet_schedule_update_icon (applet); + applet_schedule_update_menu (applet); } +#ifdef ENABLE_INDICATOR +static void +foo_device_removed_cb (NMClient *client, NMDevice *device, gpointer user_data) +{ + NMApplet *applet = NM_APPLET (user_data); + + applet_schedule_update_icon (applet); + applet_schedule_update_menu (applet); +} +#endif + static void foo_manager_running_cb (NMClient *client, GParamSpec *pspec, @@ -2515,6 +2688,7 @@ foo_manager_running_cb (NMClient *client } applet_schedule_update_icon (applet); + applet_schedule_update_menu (applet); } #define VPN_STATE_ID_TAG "vpn-state-id" @@ -2544,6 +2718,7 @@ foo_active_connections_changed_cb (NMCli } applet_schedule_update_icon (applet); + applet_schedule_update_menu (applet); } static void @@ -2576,6 +2751,9 @@ foo_set_initial_state (gpointer data) return FALSE; } +static gboolean setup_widgets (NMApplet *applet); +static void nma_icons_init (NMApplet *applet); + static void foo_client_setup (NMApplet *applet) { @@ -2594,6 +2772,11 @@ foo_client_setup (NMApplet *applet) g_signal_connect (applet->nm_client, "device-added", G_CALLBACK (foo_device_added_cb), applet); +#ifdef ENABLE_INDICATOR + g_signal_connect (applet->nm_client, "device-removed", + G_CALLBACK (foo_device_removed_cb), + applet); +#endif /* ENABLE_INDICATOR */ g_signal_connect (applet->nm_client, "notify::manager-running", G_CALLBACK (foo_manager_running_cb), applet); @@ -2663,10 +2846,12 @@ mm1_client_setup (NMApplet *applet) #endif /* WITH_MODEM_MANAGER_1 */ -static GdkPixbuf * -applet_common_get_device_icon (NMDeviceState state, NMApplet *applet) +static void +applet_common_get_device_icon (NMDeviceState state, + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, + NMApplet *applet) { - GdkPixbuf *pixbuf = NULL; int stage = -1; switch (state) { @@ -2685,25 +2870,32 @@ applet_common_get_device_icon (NMDeviceS } if (stage >= 0) { - int i, j; - - for (i = 0; i < NUM_CONNECTING_STAGES; i++) { - for (j = 0; j < NUM_CONNECTING_FRAMES; j++) { - char *name; - - name = g_strdup_printf ("nm-stage%02d-connecting%02d", i+1, j+1); - nma_icon_check_and_load (name, &applet->network_connecting_icons[i][j], applet); - g_free (name); + /* Don't overwrite pixbufs or names given by specific device classes */ + if (out_pixbuf && !*out_pixbuf) { + int i, j; + for (i = 0; i < NUM_CONNECTING_STAGES; i++) { + for (j = 0; j < NUM_CONNECTING_FRAMES; j++) { + char *name; + + name = g_strdup_printf ("nm-stage%02d-connecting%02d", i+1, j+1); + nma_icon_check_and_load (name, &applet->network_connecting_icons[i][j], applet); + g_free (name); + } } + *out_pixbuf = applet->network_connecting_icons[stage][applet->animation_step]; + if (out_pixbuf && *out_pixbuf) + g_object_ref (*out_pixbuf); + } + if (out_indicator_icon && !*out_indicator_icon) { + *out_indicator_icon = g_strdup_printf ("nm-stage%02d-connecting%02d", + stage + 1, + applet->animation_step + 1); } - pixbuf = applet->network_connecting_icons[stage][applet->animation_step]; applet->animation_step++; if (applet->animation_step >= NUM_CONNECTING_FRAMES) applet->animation_step = 0; } - - return pixbuf; } static char * @@ -2742,12 +2934,14 @@ get_tip_for_device_state (NMDevice *devi return tip; } -static GdkPixbuf * -applet_get_device_icon_for_state (NMApplet *applet, char **tip) +static void +applet_get_device_icon_for_state (NMApplet *applet, + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, + char **out_tip) { NMActiveConnection *active; NMDevice *device = NULL; - GdkPixbuf *pixbuf = NULL; NMDeviceState state = NM_DEVICE_STATE_UNKNOWN; NMADeviceClass *dclass; @@ -2772,19 +2966,13 @@ applet_get_device_icon_for_state (NMAppl connection = applet_find_active_connection_for_device (device, applet, NULL); /* device class returns a referenced pixbuf */ - pixbuf = dclass->get_icon (device, state, connection, tip, applet); - if (!*tip) - *tip = get_tip_for_device_state (device, state, connection); + dclass->get_icon (device, state, connection, out_pixbuf, out_indicator_icon, out_tip, applet); + if (out_tip && !*out_tip) + *out_tip = get_tip_for_device_state (device, state, connection); } out: - if (!pixbuf) { - pixbuf = applet_common_get_device_icon (state, applet); - /* reference the pixbuf to match the device class' get_icon() function behavior */ - if (pixbuf) - g_object_ref (pixbuf); - } - return pixbuf; + applet_common_get_device_icon (state, out_pixbuf, out_indicator_icon, applet); } static char * @@ -2840,7 +3028,7 @@ applet_update_icon (gpointer user_data) NMApplet *applet = NM_APPLET (user_data); GdkPixbuf *pixbuf = NULL; NMState state; - char *dev_tip = NULL, *vpn_tip = NULL; + char *dev_tip = NULL, *vpn_tip = NULL, *icon_name = NULL; NMVPNConnectionState vpn_state = NM_VPN_SERVICE_STATE_UNKNOWN; gboolean nm_running; NMActiveConnection *active_vpn = NULL; @@ -2855,38 +3043,61 @@ applet_update_icon (gpointer user_data) if (!nm_running) state = NM_STATE_UNKNOWN; + +#ifdef ENABLE_INDICATOR + if (applet->in_fallback) + gtk_status_icon_set_visible (applet->status_icon, applet->visible); + else + gtk_status_icon_set_visible (applet->status_icon, FALSE); + + if (nm_running && applet->visible) + app_indicator_set_status (applet->app_indicator, APP_INDICATOR_STATUS_ACTIVE); + else + app_indicator_set_status (applet->app_indicator, APP_INDICATOR_STATUS_PASSIVE); +#else gtk_status_icon_set_visible (applet->status_icon, applet->visible); +#endif switch (state) { case NM_STATE_UNKNOWN: case NM_STATE_ASLEEP: - pixbuf = nma_icon_check_and_load ("nm-no-connection", &applet->no_connection_icon, applet); + icon_name = g_strdup ("nm-no-connection"); + pixbuf = nma_icon_check_and_load (icon_name, &applet->no_connection_icon, applet); g_object_ref (pixbuf); dev_tip = g_strdup (_("Networking disabled")); break; case NM_STATE_DISCONNECTED: - pixbuf = nma_icon_check_and_load ("nm-no-connection", &applet->no_connection_icon, applet); + icon_name = g_strdup ("nm-no-connection"); + pixbuf = nma_icon_check_and_load (icon_name, &applet->no_connection_icon, applet); g_object_ref (pixbuf); dev_tip = g_strdup (_("No network connection")); break; default: - pixbuf = applet_get_device_icon_for_state (applet, &dev_tip); + applet_get_device_icon_for_state (applet, &pixbuf, &icon_name, &dev_tip); break; } - foo_set_icon (applet, pixbuf, ICON_LAYER_LINK); + foo_set_icon (applet, ICON_LAYER_LINK, pixbuf, icon_name, dev_tip); if (pixbuf) g_object_unref (pixbuf); + if (icon_name) + g_free (icon_name); /* VPN state next */ pixbuf = NULL; + icon_name = NULL; active_vpn = applet_get_first_active_vpn_connection (applet, &vpn_state); if (active_vpn) { int i; switch (vpn_state) { case NM_VPN_CONNECTION_STATE_ACTIVATED: - pixbuf = nma_icon_check_and_load ("nm-vpn-active-lock", &applet->vpn_lock_icon, applet); +#ifndef ENABLE_INDICATOR + icon_name = g_strdup_printf ("nm-vpn-active-lock"); +#else + icon_name = g_strdup_printf ("%s-secure", app_indicator_get_icon (applet->app_indicator)); +#endif /* ENABLE_INDICATOR */ + pixbuf = nma_icon_check_and_load (icon_name, &applet->vpn_lock_icon, applet); break; case NM_VPN_CONNECTION_STATE_PREPARE: case NM_VPN_CONNECTION_STATE_NEED_AUTH: @@ -2901,6 +3112,9 @@ applet_update_icon (gpointer user_data) } pixbuf = applet->vpn_connecting_icons[applet->animation_step]; +#ifdef ENABLE_INDICATOR + icon_name = g_strdup_printf ("nm-vpn-connecting%02d", applet->animation_step+1); +#endif applet->animation_step++; if (applet->animation_step >= NUM_VPN_CONNECTING_FRAMES) applet->animation_step = 0; @@ -2911,28 +3125,9 @@ applet_update_icon (gpointer user_data) vpn_tip = get_tip_for_vpn (active_vpn, vpn_state, applet); } - foo_set_icon (applet, pixbuf, ICON_LAYER_VPN); - - g_free (applet->tip); - applet->tip = NULL; - - if (dev_tip || vpn_tip) { - GString *tip; - - tip = g_string_new (dev_tip); - - if (vpn_tip) - g_string_append_printf (tip, "%s%s", tip->len ? "\n" : "", vpn_tip); - - if (tip->len) - applet->tip = tip->str; - - g_free (vpn_tip); - g_free (dev_tip); - g_string_free (tip, FALSE); - } - - gtk_status_icon_set_tooltip_text (applet->status_icon, applet->tip); + foo_set_icon (applet, ICON_LAYER_VPN, pixbuf, icon_name, vpn_tip); + if (icon_name) + g_free (icon_name); return FALSE; } @@ -3403,18 +3598,95 @@ status_icon_popup_menu_cb (GtkStatusIcon * of the notification. */ + /* Kill the old menu */ + if (applet->context_menu) + g_object_unref (applet->context_menu); + + /* And make a fresh new one */ + applet->context_menu = gtk_menu_new (); + g_object_ref_sink (G_OBJECT (applet->context_menu)); + applet->context_menu = nma_context_menu_create (applet, GTK_MENU_SHELL (applet->context_menu)); nma_context_menu_update (applet); gtk_menu_popup (GTK_MENU (applet->context_menu), NULL, NULL, gtk_status_icon_position_menu, icon, button, activate_time); } +#ifdef ENABLE_INDICATOR +static GtkStatusIcon * +indicator_fallback (AppIndicator *indicator) +{ + NMApplet *applet; + + applet = NM_APPLET(g_object_get_data (G_OBJECT (indicator), "applet")); + g_return_val_if_fail (NM_IS_APPLET (applet), NULL); + g_return_val_if_fail (applet->status_icon, NULL); + + g_message ("using fallback from indicator to GtkStatusIcon"); + gtk_status_icon_set_visible (applet->status_icon, applet->visible); + + applet->in_fallback = TRUE; + + return applet->status_icon; +} + +static void +indicator_unfallback (AppIndicator *indicator, GtkStatusIcon *status_icon) +{ + NMApplet *applet; + + applet = NM_APPLET(g_object_get_data (G_OBJECT (indicator), "applet")); + g_return_if_fail (NM_IS_APPLET (applet)); + g_return_if_fail (applet->status_icon); + + g_message ("moving back from GtkStatusIcon to indicator"); + gtk_status_icon_set_visible (applet->status_icon, FALSE); + + applet->in_fallback = FALSE; +} + static gboolean -setup_widgets (NMApplet *applet) +setup_indicator_menu (NMApplet *applet) +{ + g_return_val_if_fail (NM_IS_APPLET (applet), FALSE); + + applet->in_fallback = FALSE; + + applet->app_indicator = app_indicator_new + ("nm-applet", "nm-no-connection", + APP_INDICATOR_CATEGORY_SYSTEM_SERVICES); + + app_indicator_set_title(applet->app_indicator, _("Network")); + + g_object_set_data (G_OBJECT (applet->app_indicator), "applet", (gpointer) applet); + + APP_INDICATOR_GET_CLASS(applet->app_indicator)->fallback = indicator_fallback; + APP_INDICATOR_GET_CLASS(applet->app_indicator)->unfallback = indicator_unfallback; + + applet->menu = gtk_menu_new (); + + g_object_ref_sink (G_OBJECT (applet->menu)); + + applet->menu = nma_context_menu_create (applet, GTK_MENU_SHELL(applet->menu)); + nma_context_menu_update(applet); + + app_indicator_set_menu(applet->app_indicator, GTK_MENU(applet->menu)); + + return TRUE; +} +#endif /* ENABLE_INDICATOR */ + +static gboolean +setup_statusicon_menu (NMApplet *applet) { g_return_val_if_fail (NM_IS_APPLET (applet), FALSE); applet->status_icon = gtk_status_icon_new (); + +#ifdef ENABLE_INDICATOR + gtk_status_icon_set_visible (applet->status_icon, FALSE); +#endif + if (!applet->status_icon) return FALSE; @@ -3427,11 +3699,34 @@ setup_widgets (NMApplet *applet) g_signal_connect (applet->status_icon, "popup-menu", G_CALLBACK (status_icon_popup_menu_cb), applet); - applet->context_menu = nma_context_menu_create (applet); - if (!applet->context_menu) - return FALSE; + applet->context_menu = gtk_menu_new (); + applet->context_menu = nma_context_menu_create (applet, GTK_MENU_SHELL (applet->context_menu)); + g_object_ref_sink (G_OBJECT (applet->context_menu)); + if (!applet->context_menu) + return FALSE; - return TRUE; + return TRUE; +} + +static gboolean +setup_widgets (NMApplet *applet) +{ + gboolean success = FALSE; + gboolean indicator_success = FALSE; + + g_return_val_if_fail (NM_IS_APPLET (applet), FALSE); + + success = setup_statusicon_menu (applet); + +#ifdef ENABLE_INDICATOR + indicator_success = setup_indicator_menu (applet); +#endif + +#ifndef ENABLE_INDICATOR + return success; +#else + return success || indicator_success; +#endif } static void @@ -3449,6 +3744,13 @@ applet_start_agent (NMApplet *applet) if (applet->agent) return; +#ifdef ENABLE_INDICATOR + /* Watch for new connections */ + g_signal_connect (applet->settings, "new-connection", + G_CALLBACK (new_connection_cb), + applet); +#endif /* ENABLE_INDICATOR */ + g_debug ("gnome-shell is not running, registering secret agent"); applet->agent = applet_agent_new (); g_assert (applet->agent); @@ -3584,6 +3886,8 @@ constructor (GType type, g_signal_connect (applet->gsettings, "changed::show-applet", G_CALLBACK (applet_gsettings_show_changed), applet); + foo_client_setup (applet); + /* Load pixmaps and create applet widgets */ if (!setup_widgets (applet)) goto error; @@ -3640,8 +3944,6 @@ constructor (GType type, applet->wimax_class = applet_device_wimax_get_class (applet); g_assert (applet->wimax_class); - foo_client_setup (applet); - #if WITH_MODEM_MANAGER_1 mm1_client_setup (applet); #endif @@ -3688,6 +3990,11 @@ static void finalize (GObject *object) if (applet->update_icon_id) g_source_remove (applet->update_icon_id); +#ifdef ENABLE_INDICATOR + if (applet->update_menu_id) + g_source_remove (applet->update_menu_id); +#endif /* ENABLE_INDICATOR */ + if (applet->menu) g_object_unref (applet->menu); nma_icons_free (applet); @@ -3711,6 +4018,14 @@ static void finalize (GObject *object) if (applet->status_icon) g_object_unref (applet->status_icon); +#ifdef ENABLE_INDICATOR + if (applet->app_indicator) + { + APP_INDICATOR_GET_CLASS(applet->app_indicator)->unfallback = NULL; + g_object_unref (applet->app_indicator); + } +#endif + if (applet->nm_client) g_object_unref (applet->nm_client); Index: b/src/applet.h =================================================================== --- a/src/applet.h +++ b/src/applet.h @@ -37,6 +37,10 @@ #include +#if ENABLE_INDICATOR +#include +#endif + #include #include #include @@ -163,6 +167,11 @@ typedef struct guint animation_id; /* Direct UI elements */ +#if ENABLE_INDICATOR + AppIndicator * app_indicator; + guint update_menu_id; + gboolean in_fallback; +#endif GtkStatusIcon * status_icon; int icon_size; @@ -249,13 +258,15 @@ struct NMADeviceClass { NMDeviceStateReason reason, NMApplet *applet); - /* Device class is expected to return a *referenced* pixbuf, which will + /* Device class is expected to pass a *referenced* pixbuf, which will * be unrefed by the icon code. This allows the device class to create * a composited pixbuf if necessary and pass the reference to the caller. */ - GdkPixbuf * (*get_icon) (NMDevice *device, + void (*get_icon) (NMDevice *device, NMDeviceState state, NMConnection *connection, + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, char **tip, NMApplet *applet); @@ -270,6 +281,10 @@ NMApplet *nm_applet_new (GMainLoop *loop void applet_schedule_update_icon (NMApplet *applet); +#if ENABLE_INDICATOR +void applet_schedule_update_menu (NMApplet *applet); +#endif /* ENABLE_INDICATOR */ + NMRemoteSettings *applet_get_settings (NMApplet *applet); GSList *applet_get_all_connections (NMApplet *applet); Index: b/src/mobile-helpers.c =================================================================== --- a/src/mobile-helpers.c +++ b/src/mobile-helpers.c @@ -44,7 +44,11 @@ mobile_helper_get_status_pixbuf (guint32 if (!quality_valid) quality = 0; +#ifndef ENABLE_INDICATOR qual_pixbuf = mobile_helper_get_quality_icon (quality, applet); +#else + qual_pixbuf = wwan_pixbuf; +#endif pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, @@ -92,9 +96,14 @@ mobile_helper_get_status_pixbuf (guint32 return pixbuf; } +#ifndef ENABLE_INDICATOR GdkPixbuf * +#else +char * +#endif mobile_helper_get_quality_icon (guint32 quality, NMApplet *applet) { +#ifndef ENABLE_INDICATOR if (quality > 80) return nma_icon_check_and_load ("nm-signal-100", &applet->wifi_100_icon, applet); else if (quality > 55) @@ -105,7 +114,135 @@ mobile_helper_get_quality_icon (guint32 return nma_icon_check_and_load ("nm-signal-25", &applet->wifi_25_icon, applet); return nma_icon_check_and_load ("nm-signal-00", &applet->wifi_00_icon, applet); +#else + char *icon_name; + + if (quality > 80) + icon_name = g_strdup_printf ("gsm-3g-full"); + else if (quality > 55) + icon_name = g_strdup_printf ("gsm-3g-high"); + else if (quality > 30) + icon_name = g_strdup_printf ("gsm-3g-medium"); + else if (quality > 5) + icon_name = g_strdup_printf ("gsm-3g-low"); + else + icon_name = g_strdup_printf ("gsm-3g-none"); + + return icon_name; +#endif +} + +#ifdef ENABLE_INDICATOR +static const char * +get_tech_name (guint32 tech) +{ + switch (tech) { + case MB_TECH_1XRTT: + return _("CDMA"); + case MB_TECH_EVDO: + return _("EVDO"); + case MB_TECH_GSM: + return _("GSM"); + case MB_TECH_GPRS: + return _("GPRS"); + case MB_TECH_EDGE: + return _("EDGE"); + case MB_TECH_UMTS: + return _("UMTS"); + case MB_TECH_HSDPA: + return _("HSDPA"); + case MB_TECH_HSUPA: + return _("HSUPA"); + case MB_TECH_HSPA: + return _("HSPA"); + case MB_TECH_HSPA_PLUS: + return _("HSPA+"); + case MB_TECH_LTE: + return _("LTE"); + default: + break; + } + return NULL; +} + +char * +mobile_helper_get_connection_label (const char *connection_name, + const char *provider, + guint32 technology, + guint32 state) +{ + const char *tech_name; + char *desc_string; + + /* Construct the description string */ + tech_name = get_tech_name (technology); + switch (state) { + default: + case MB_STATE_UNKNOWN: + desc_string = g_strdup (_("not enabled")); + break; + case MB_STATE_IDLE: + if (connection_name) + desc_string = g_strdup (connection_name); + else + desc_string = g_strdup (_("not registered")); + break; + case MB_STATE_HOME: + if (connection_name) { + if (provider && tech_name) + desc_string = g_strdup_printf ("%s (%s %s)", connection_name, provider, tech_name); + else if (provider || tech_name) + desc_string = g_strdup_printf ("%s (%s)", connection_name, provider ? provider : tech_name); + else + desc_string = g_strdup_printf ("%s", connection_name); + } else { + if (provider) { + if (tech_name) + desc_string = g_strdup_printf ("%s %s", provider, tech_name); + else + desc_string = g_strdup_printf ("%s", provider); + } else { + if (tech_name) + desc_string = g_strdup_printf (_("Home network (%s)"), tech_name); + else + desc_string = g_strdup_printf (_("Home network")); + } + } + break; + case MB_STATE_SEARCHING: + if (connection_name) + desc_string = g_strdup (connection_name); + else + desc_string = g_strdup (_("searching")); + break; + case MB_STATE_DENIED: + desc_string = g_strdup (_("registration denied")); + break; + case MB_STATE_ROAMING: + if (connection_name) { + if (tech_name) + desc_string = g_strdup_printf (_("%s (%s roaming)"), connection_name, tech_name); + else + desc_string = g_strdup_printf (_("%s (roaming)"), connection_name); + } else { + if (provider) { + if (tech_name) + desc_string = g_strdup_printf (_("%s (%s roaming)"), provider, tech_name); + else + desc_string = g_strdup_printf (_("%s (roaming)"), provider); + } else { + if (tech_name) + desc_string = g_strdup_printf (_("Roaming network (%s)"), tech_name); + else + desc_string = g_strdup_printf (_("Roaming network")); + } + } + break; + } + + return desc_string; } +#endif GdkPixbuf * mobile_helper_get_tech_icon (guint32 tech, NMApplet *applet) @@ -559,10 +696,12 @@ mobile_helper_get_secrets (NMDeviceModem /********************************************************************/ -GdkPixbuf * +void mobile_helper_get_icon (NMDevice *device, NMDeviceState state, NMConnection *connection, + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, char **tip, NMApplet *applet, guint32 mb_state, @@ -571,7 +710,6 @@ mobile_helper_get_icon (NMDevice *device gboolean quality_valid) { NMSettingConnection *s_con; - GdkPixbuf *pixbuf = NULL; const char *id; id = nm_device_get_iface (NM_DEVICE (device)); @@ -594,11 +732,15 @@ mobile_helper_get_icon (NMDevice *device *tip = g_strdup_printf (_("Requesting a network address for '%s'..."), id); break; case NM_DEVICE_STATE_ACTIVATED: - pixbuf = mobile_helper_get_status_pixbuf (quality, - quality_valid, - mb_state, - mb_tech, - applet); + *out_pixbuf = mobile_helper_get_status_pixbuf (quality, + quality_valid, + mb_state, + mb_tech, + applet); + + *out_indicator_icon = mobile_helper_get_quality_icon (quality_valid ? + quality : 0, + applet); if ((mb_state != MB_STATE_UNKNOWN) && quality_valid) { gboolean roaming = (mb_state == MB_STATE_ROAMING); @@ -613,8 +755,6 @@ mobile_helper_get_icon (NMDevice *device default: break; } - - return pixbuf; } /********************************************************************/ Index: b/src/mobile-helpers.h =================================================================== --- a/src/mobile-helpers.h +++ b/src/mobile-helpers.h @@ -62,10 +62,21 @@ GdkPixbuf *mobile_helper_get_status_pixb guint32 access_tech, NMApplet *applet); +#ifndef ENABLE_INDICATOR GdkPixbuf *mobile_helper_get_quality_icon (guint32 quality, NMApplet *applet); +#else +char *mobile_helper_get_quality_icon (guint32 quality, NMApplet *applet); +#endif GdkPixbuf *mobile_helper_get_tech_icon (guint32 tech, NMApplet *applet); +#ifdef ENABLE_INDICATOR +char *mobile_helper_get_connection_label (const char *connection_name, + const char *provider, + guint32 technology, + guint32 state); +#endif + /********************************************************************/ gboolean mobile_helper_wizard (NMDeviceModemCapabilities capabilities, @@ -97,9 +108,17 @@ gboolean mobile_helper_get_secrets (NMDe /********************************************************************/ +#ifndef ENABLE_INDICATOR GdkPixbuf *mobile_helper_get_icon (NMDevice *device, +#else +void mobile_helper_get_icon (NMDevice *device, +#endif NMDeviceState state, NMConnection *connection, +#ifdef ENABLE_INDICATOR + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, +#endif char **tip, NMApplet *applet, guint32 mb_state, Index: b/src/mb-menu-item.c =================================================================== --- a/src/mb-menu-item.c +++ b/src/mb-menu-item.c @@ -183,11 +183,14 @@ nm_mb_menu_item_new (const char *connect gtk_label_set_text (GTK_LABEL (priv->desc), priv->desc_string); } +/* Disabling this for indicators only because it won't build otherwise. */ +#ifndef ENABLE_INDICATOR /* And the strength icon, if we have strength information at all */ if (enabled && strength) { gtk_image_set_from_pixbuf (GTK_IMAGE (priv->strength), mobile_helper_get_quality_icon (strength, applet)); } +#endif return GTK_WIDGET (item); } Index: b/src/gconf-helpers/Makefile.am =================================================================== --- a/src/gconf-helpers/Makefile.am +++ b/src/gconf-helpers/Makefile.am @@ -16,6 +16,7 @@ libgconf_helpers_la_CPPFLAGS = \ -I$(top_srcdir)/src/utils \ $(GTK_CFLAGS) \ $(NMA_CFLAGS) \ + $(APPINDICATOR_CFLAGS) \ $(MIGRATION_CFLAGS) \ $(DISABLE_DEPRECATED) @@ -34,6 +35,7 @@ libgconf_helpers_test_la_CPPFLAGS = \ -I$(top_srcdir)/src/utils \ $(GTK_CFLAGS) \ $(NMA_CFLAGS) \ + $(APPINDICATOR_CFLAGS) \ $(MIGRATION_CFLAGS) \ $(DISABLE_DEPRECATED) Index: b/src/applet-device-wimax.c =================================================================== --- a/src/applet-device-wimax.c +++ b/src/applet-device-wimax.c @@ -36,6 +36,7 @@ #include "applet.h" #include "applet-device-wimax.h" #include "applet-dialogs.h" +#include "mobile-helpers.h" #include "nma-marshal.h" #include "mb-menu-item.h" #include "nm-ui-utils.h" @@ -141,9 +142,14 @@ new_nsp_menu_item (NMDeviceWimax *device { GtkWidget *item; WimaxMenuItemInfo *info; +#ifdef ENABLE_INDICATOR + char *text = NULL; + GtkWidget *signal_icon = NULL; +#endif g_return_val_if_fail (nsp != NULL, NULL); +#ifndef ENABLE_INDICATOR item = nm_mb_menu_item_new (nm_wimax_nsp_get_name (nsp), nm_wimax_nsp_get_signal_quality (nsp), NULL, @@ -152,6 +158,16 @@ new_nsp_menu_item (NMDeviceWimax *device nsp_type_to_mb_state (nm_wimax_nsp_get_network_type (nsp)), TRUE, applet); +#else + text = g_strdup (nm_wimax_nsp_get_name (nsp)); + item = gtk_image_menu_item_new_with_label (text); + g_free (text); + text = mobile_helper_get_quality_icon (nm_wimax_nsp_get_signal_quality (nsp), applet); + signal_icon = gtk_image_new_from_icon_name (text, GTK_ICON_SIZE_LARGE_TOOLBAR); + g_free (text); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), signal_icon); + gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE); +#endif /* ENABLE_INDICATOR */ gtk_widget_set_sensitive (GTK_WIDGET (item), TRUE); info = g_slice_new0 (WimaxMenuItemInfo); @@ -301,7 +317,12 @@ wimax_add_menu_item (NMDevice *device, static void nsp_quality_changed (NMWimaxNsp *nsp, GParamSpec *pspec, gpointer user_data) { - applet_schedule_update_icon (NM_APPLET (user_data)); + NMApplet *applet = NM_APPLET (user_data); + + applet_schedule_update_icon (applet); +#ifdef ENABLE_INDICATOR + applet_schedule_update_menu (applet); +#endif /* ENABLE_INDICATOR */ } static NMWimaxNsp * @@ -363,8 +384,12 @@ active_nsp_changed_cb (NMDeviceWimax *de if (!s_wimax) return; - if (g_strcmp0 (nm_wimax_nsp_get_name (new), nm_setting_wimax_get_network_name (s_wimax)) != 0) + if (g_strcmp0 (nm_wimax_nsp_get_name (new), nm_setting_wimax_get_network_name (s_wimax)) != 0) { applet_schedule_update_icon (applet); +#ifdef ENABLE_INDICATOR + applet_schedule_update_menu (applet); +#endif /* ENABLE_INDICATOR */ + } } static void @@ -380,6 +405,9 @@ nsp_removed_cb (NMDeviceWimax *device, if (old == nsp) { g_object_set_data (G_OBJECT (device), ACTIVE_NSP_TAG, NULL); applet_schedule_update_icon (applet); +#ifdef ENABLE_INDICATOR + applet_schedule_update_menu (applet); +#endif /* ENABLE_INDICATOR */ } } @@ -423,15 +451,16 @@ wimax_device_state_changed (NMDevice *de } } -static GdkPixbuf * +static void wimax_get_icon (NMDevice *device, NMDeviceState state, NMConnection *connection, + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, char **tip, NMApplet *applet) { NMSettingConnection *s_con; - GdkPixbuf *pixbuf = NULL; const char *id; NMWimaxNsp *nsp; guint32 quality = 0; @@ -465,7 +494,7 @@ wimax_get_icon (NMDevice *device, break; case NM_DEVICE_STATE_ACTIVATED: roaming = (nsp_type == NM_WIMAX_NSP_NETWORK_TYPE_ROAMING_PARTNER); - pixbuf = mobile_helper_get_status_pixbuf (quality, + *out_pixbuf = mobile_helper_get_status_pixbuf (quality, TRUE, nsp_type_to_mb_state (nsp_type), MB_TECH_WIMAX, @@ -474,12 +503,11 @@ wimax_get_icon (NMDevice *device, id, quality, roaming ? ", " : "", roaming ? _("roaming") : ""); + *out_indicator_icon = mobile_helper_get_quality_icon (quality, applet); break; default: break; } - - return pixbuf; } static gboolean Index: b/src/applet-device-broadband.c =================================================================== --- a/src/applet-device-broadband.c +++ b/src/applet-device-broadband.c @@ -620,10 +620,12 @@ broadband_act_to_mb_act (BroadbandDevice return MB_TECH_UNKNOWN; } -static GdkPixbuf * +static void get_icon (NMDevice *device, NMDeviceState state, NMConnection *connection, + GdkPixbuf **out_pixbuf, + char **out_indicator_icon, char **tip, NMApplet *applet) { @@ -635,6 +637,8 @@ get_icon (NMDevice *device, return mobile_helper_get_icon (device, state, connection, + out_pixbuf, + out_indicator_icon, tip, applet, broadband_state_to_mb_state (info), debian/patches/series0000664000000000000000000000147012322763056012044 0ustar lp289466_always_show_tray_icon.patch lp328572-dxteam-connect-text.patch lp330571_dxteam_wired_connect_text.patch lp330608_dxteam_gsm_connect_text.patch lp341684_device_sensitive_disconnect_notify.patch lp460144_correctly_update_notification.patch applet-wifi-menu-before-vpn.patch clear-notification-actions.patch key-certificate-extensions.patch lp829673_gconf_hide_applet.patch nm-applet-use-indicator.patch position_dialogs_to_center_of_the_screen.patch make_menu_items_insensitive_based_on_permissions.patch hide_policy_items_env_var.patch applet_adhoc_use_wpa_rsn_part1.patch lp1048516_dont_req_keyring_in_greeter.patch lp1048520_delay_pin_dialog_in_greeter.patch rebuild_menu_after_init.patch 0001_Move_on_with_enter_in_the_country_page_of_the_new_mobile_wizard.patch set_atk_relations.patch 11-user-connections.patch debian/patches/lp330608_dxteam_gsm_connect_text.patch0000664000000000000000000002064112322763056017735 0ustar === modified file 'src/applet-device-gsm.c' --- src/applet-device-broadband.c | 17 ++++++----------- src/applet-device-bt.c | 12 ++++-------- src/applet-device-cdma.c | 17 ++++++----------- src/applet-device-gsm.c | 13 ++++--------- src/applet-device-wimax.c | 13 ++++--------- 5 files changed, 24 insertions(+), 48 deletions(-) Index: b/src/applet-device-gsm.c =================================================================== --- a/src/applet-device-gsm.c +++ b/src/applet-device-gsm.c @@ -387,24 +387,19 @@ gsm_device_state_changed (NMDevice *devi if (new_state == NM_DEVICE_STATE_ACTIVATED) { NMConnection *connection; NMSettingConnection *s_con = NULL; - char *str = NULL; + const char *str = NULL; connection = applet_find_active_connection_for_device (device, applet, NULL); if (connection) { - const char *id; - s_con = nm_connection_get_setting_connection (connection); - id = s_con ? nm_setting_connection_get_id (s_con) : NULL; - if (id) - str = g_strdup_printf (_("You are now connected to '%s'."), id); + str = s_con ? nm_setting_connection_get_id (s_con) : NULL; } applet_do_notify_with_pref (applet, - _("Connection Established"), - str ? str : _("You are now connected to the GSM network."), + _("Connected"), + str ? str : _("GSM network."), "nm-device-wwan", PREF_DISABLE_CONNECTED_NOTIFICATIONS); - g_free (str); } /* Start/stop polling of quality and registration when device state changes */ Index: b/src/applet-device-cdma.c =================================================================== --- a/src/applet-device-cdma.c +++ b/src/applet-device-cdma.c @@ -333,24 +333,19 @@ cdma_device_state_changed (NMDevice *dev if (new_state == NM_DEVICE_STATE_ACTIVATED) { NMConnection *connection; NMSettingConnection *s_con = NULL; - char *str = NULL; + const char *str = NULL; connection = applet_find_active_connection_for_device (device, applet, NULL); if (connection) { - const char *id; - s_con = nm_connection_get_setting_connection (connection); - id = s_con ? nm_setting_connection_get_id (s_con) : NULL; - if (id) - str = g_strdup_printf (_("You are now connected to '%s'."), id); + str = s_con ? nm_setting_connection_get_id (s_con) : NULL; } applet_do_notify_with_pref (applet, - _("Connection Established"), - str ? str : _("You are now connected to the CDMA network."), + _("Connected"), + str ? str : _("CDMA network"), "nm-device-wwan", PREF_DISABLE_CONNECTED_NOTIFICATIONS); - g_free (str); } /* Start/stop polling of quality and registration when device state changes */ @@ -414,13 +409,13 @@ notify_user_of_cdma_reg_change (CdmaDevi if (mb_state == MB_STATE_HOME) { applet_do_notify_with_pref (info->applet, - _("CDMA network."), + _("CDMA network"), _("You are now registered on the home network."), "nm-signal-100", PREF_DISABLE_CONNECTED_NOTIFICATIONS); } else if (mb_state == MB_STATE_ROAMING) { applet_do_notify_with_pref (info->applet, - _("CDMA network."), + _("CDMA network"), _("You are now registered on a roaming network."), "nm-signal-100", PREF_DISABLE_CONNECTED_NOTIFICATIONS); Index: b/src/applet-device-bt.c =================================================================== --- a/src/applet-device-bt.c +++ b/src/applet-device-bt.c @@ -184,23 +184,19 @@ bt_device_state_changed (NMDevice *devic if (new_state == NM_DEVICE_STATE_ACTIVATED) { NMConnection *connection; NMSettingConnection *s_con = NULL; - char *str = NULL; + const char *str = NULL; connection = applet_find_active_connection_for_device (device, applet, NULL); if (connection) { - const char *id; s_con = nm_connection_get_setting_connection (connection); - id = s_con ? nm_setting_connection_get_id (s_con) : NULL; - if (id) - str = g_strdup_printf (_("You are now connected to '%s'."), id); + str = s_con ? nm_setting_connection_get_id (s_con) : NULL; } applet_do_notify_with_pref (applet, - _("Connection Established"), - str ? str : _("You are now connected to the mobile broadband network."), + _("Connected"), + str ? str : _("Mobile Broadband network"), "nm-device-wwan", PREF_DISABLE_CONNECTED_NOTIFICATIONS); - g_free (str); } } Index: b/src/applet-device-broadband.c =================================================================== --- a/src/applet-device-broadband.c +++ b/src/applet-device-broadband.c @@ -796,27 +796,22 @@ device_state_changed (NMDevice *device, { NMConnection *connection; NMSettingConnection *s_con = NULL; - char *str = NULL; + const char *str = NULL; if (new_state != NM_DEVICE_STATE_ACTIVATED) return; connection = applet_find_active_connection_for_device (device, applet, NULL); if (connection) { - const char *id; - s_con = nm_connection_get_setting_connection (connection); - id = s_con ? nm_setting_connection_get_id (s_con) : NULL; - if (id) - str = g_strdup_printf (_("You are now connected to '%s'."), id); + str = s_con ? nm_setting_connection_get_id (s_con) : NULL; } applet_do_notify_with_pref (applet, - _("Connection Established"), - str ? str : _("You are now connected to the Mobile Broadband network."), + _("Connected"), + str ? str : _("Mobile Broadband network"), "nm-device-wwan", PREF_DISABLE_CONNECTED_NOTIFICATIONS); - g_free (str); } /********************************************************************/ @@ -949,13 +944,13 @@ modem_state_changed (MMModem *object, mb_state = broadband_state_to_mb_state (info); if (mb_state == MB_STATE_HOME) { applet_do_notify_with_pref (info->applet, - _("Mobile Broadband network."), + _("Mobile Broadband network"), _("You are now registered on the home network."), "nm-signal-100", PREF_DISABLE_CONNECTED_NOTIFICATIONS); } else if (mb_state == MB_STATE_ROAMING) { applet_do_notify_with_pref (info->applet, - _("Mobile Broadband network."), + _("Mobile Broadband network"), _("You are now registered on a roaming network."), "nm-signal-100", PREF_DISABLE_CONNECTED_NOTIFICATIONS); Index: b/src/applet-device-wimax.c =================================================================== --- a/src/applet-device-wimax.c +++ b/src/applet-device-wimax.c @@ -407,24 +407,19 @@ wimax_device_state_changed (NMDevice *de if (new_state == NM_DEVICE_STATE_ACTIVATED) { NMConnection *connection; NMSettingConnection *s_con = NULL; - char *str = NULL; + const char *str = NULL; connection = applet_find_active_connection_for_device (device, applet, NULL); if (connection) { - const char *id; - s_con = nm_connection_get_setting_connection (connection); - id = s_con ? nm_setting_connection_get_id (s_con) : NULL; - if (id) - str = g_strdup_printf (_("You are now connected to '%s'."), id); + str = s_con ? nm_setting_connection_get_id (s_con) : NULL; } applet_do_notify_with_pref (applet, - _("Connection Established"), - str ? str : _("You are now connected to the WiMAX network."), + _("Connected"), + str ? str : _("WiMAX network"), "nm-device-wwan", PREF_DISABLE_CONNECTED_NOTIFICATIONS); - g_free (str); } } debian/patches/lp330571_dxteam_wired_connect_text.patch0000664000000000000000000000257312322763056020264 0ustar === modified file 'src/applet-device-wired.c' --- src/applet-device-ethernet.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) Index: b/src/applet-device-ethernet.c =================================================================== --- a/src/applet-device-ethernet.c +++ b/src/applet-device-ethernet.c @@ -255,23 +255,19 @@ ethernet_device_state_changed (NMDevice if (new_state == NM_DEVICE_STATE_ACTIVATED) { NMConnection *connection; NMSettingConnection *s_con = NULL; - char *str = NULL; + const char *str = NULL; connection = applet_find_active_connection_for_device (device, applet, NULL); if (connection) { - const char *id; s_con = nm_connection_get_setting_connection (connection); - id = s_con ? nm_setting_connection_get_id (s_con) : NULL; - if (id) - str = g_strdup_printf (_("You are now connected to '%s'."), id); + str = s_con ? nm_setting_connection_get_id (s_con) : NULL; } applet_do_notify_with_pref (applet, - _("Connection Established"), - str ? str : _("You are now connected to the ethernet network."), + _("Connected"), + str ? str : _("Wired network"), "nm-device-wired", PREF_DISABLE_CONNECTED_NOTIFICATIONS); - g_free (str); } } debian/patches/lp328572-dxteam-connect-text.patch0000664000000000000000000000223412322763056016646 0ustar === modified file 'src/applet-device-wifi.c' --- src/applet-device-wifi.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) Index: b/src/applet-device-wifi.c =================================================================== --- a/src/applet-device-wifi.c +++ b/src/applet-device-wifi.c @@ -1245,7 +1245,6 @@ wifi_device_state_changed (NMDevice *dev NMApplet *applet) { NMAccessPoint *new = NULL; - char *msg; char *esc_ssid = NULL; new = update_active_ap (device, new_state, applet); @@ -1257,11 +1256,11 @@ wifi_device_state_changed (NMDevice *dev return; esc_ssid = get_ssid_utf8 (new); - msg = g_strdup_printf (_("You are now connected to the Wi-Fi network '%s'."), esc_ssid); - applet_do_notify_with_pref (applet, _("Connection Established"), - msg, "nm-device-wireless", + applet_do_notify_with_pref (applet, + _("Connected"), + esc_ssid ? esc_ssid : _("(none)"), + "nm-device-wireless", PREF_DISABLE_CONNECTED_NOTIFICATIONS); - g_free (msg); g_free (esc_ssid); } debian/patches/lp460144_correctly_update_notification.patch0000664000000000000000000000443312322763056021146 0ustar --- src/applet.c | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) Index: b/src/applet.c =================================================================== --- a/src/applet.c +++ b/src/applet.c @@ -867,17 +867,6 @@ applet_menu_item_create_device_item_help return item; } -static void -applet_clear_notify (NMApplet *applet) -{ - if (applet->notification == NULL) - return; - - notify_notification_close (applet->notification, NULL); - g_object_unref (applet->notification); - applet->notification = NULL; -} - static gboolean applet_notify_server_has_actions (void) { @@ -928,19 +917,28 @@ applet_do_notify (NMApplet *applet, if (!applet->agent) return; - applet_clear_notify (applet); - escaped = utils_escape_notify_message (message); - notify = notify_notification_new (summary, - escaped, - icon ? icon : GTK_STOCK_NETWORK + + if (applet->notification == NULL) { + notify = notify_notification_new (summary, + escaped, + icon ? icon : GTK_STOCK_NETWORK #if HAVE_LIBNOTIFY_07 - ); + ); #else - , NULL); + , NULL); #endif + + applet->notification = notify; + } else { + notify = applet->notification; + notify_notification_update (notify, + summary, + escaped, + icon ? icon : GTK_STOCK_NETWORK); + } + g_free (escaped); - applet->notification = notify; #if HAVE_LIBNOTIFY_07 notify_notification_set_hint (notify, "transient", g_variant_new_boolean (TRUE)); @@ -3375,7 +3373,6 @@ status_icon_activate_cb (GtkStatusIcon * /* Have clicking on the applet act also as acknowledgement * of the notification. */ - applet_clear_notify (applet); /* Kill any old menu */ if (applet->menu) @@ -3405,7 +3402,6 @@ status_icon_popup_menu_cb (GtkStatusIcon /* Have clicking on the applet act also as acknowledgement * of the notification. */ - applet_clear_notify (applet); nma_context_menu_update (applet); gtk_menu_popup (GTK_MENU (applet->context_menu), NULL, NULL,