[network-manager-applet] menu: make active connection bold
- From: Dan Williams <dcbw src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [network-manager-applet] menu: make active connection bold
- Date: Thu, 1 Oct 2009 05:50:38 +0000 (UTC)
commit 29093135c1a27a9064bdece5ea13a93be496cb97
Author: Dan Williams <dcbw redhat com>
Date: Wed Sep 30 22:47:52 2009 -0700
menu: make active connection bold
src/applet-device-bt.c | 12 +++---------
src/applet-device-cdma.c | 5 +----
src/applet-device-gsm.c | 5 +----
src/applet-device-wired.c | 7 ++-----
src/applet.c | 26 ++++++++++++++++++++++++++
src/applet.h | 4 ++++
6 files changed, 37 insertions(+), 22 deletions(-)
---
diff --git a/src/applet-device-bt.c b/src/applet-device-bt.c
index 50a009e..d1ad0d2 100644
--- a/src/applet-device-bt.c
+++ b/src/applet-device-bt.c
@@ -90,7 +90,6 @@ typedef enum {
static void
add_connection_items (NMDevice *device,
GSList *connections,
- gboolean carrier,
NMConnection *active,
AddActiveInactiveEnum flag,
GtkWidget *menu,
@@ -101,7 +100,6 @@ add_connection_items (NMDevice *device,
for (iter = connections; iter; iter = g_slist_next (iter)) {
NMConnection *connection = NM_CONNECTION (iter->data);
- NMSettingConnection *s_con;
GtkWidget *item;
if (active == connection) {
@@ -112,10 +110,7 @@ add_connection_items (NMDevice *device,
continue;
}
- s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
- item = gtk_image_menu_item_new_with_label (nm_setting_connection_get_id (s_con));
- gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM(item), TRUE);
- gtk_widget_set_sensitive (GTK_WIDGET (item), carrier);
+ item = applet_new_menu_item_helper (connection, active, (flag & ADD_ACTIVE));
info = g_slice_new0 (BtMenuItemInfo);
info->applet = applet;
@@ -141,7 +136,6 @@ bt_add_menu_item (NMDevice *device,
const char *text;
GtkWidget *item;
GSList *connections, *all;
- gboolean carrier = TRUE;
all = applet_get_all_connections (applet);
connections = utils_filter_connections_for_device (device, all);
@@ -162,7 +156,7 @@ bt_add_menu_item (NMDevice *device,
gtk_widget_show (item);
if (g_slist_length (connections))
- add_connection_items (device, connections, carrier, active, ADD_ACTIVE, menu, applet);
+ add_connection_items (device, connections, active, ADD_ACTIVE, menu, applet);
/* Notify user of unmanaged or unavailable device */
item = nma_menu_device_get_menu_item (device, applet, NULL);
@@ -175,7 +169,7 @@ bt_add_menu_item (NMDevice *device,
/* Add menu items for existing bluetooth connections for this device */
if (g_slist_length (connections)) {
applet_menu_item_add_complex_separator_helper (menu, applet, _("Available"), -1);
- add_connection_items (device, connections, carrier, active, ADD_INACTIVE, menu, applet);
+ add_connection_items (device, connections, active, ADD_INACTIVE, menu, applet);
}
}
diff --git a/src/applet-device-cdma.c b/src/applet-device-cdma.c
index 47009b5..1473277 100644
--- a/src/applet-device-cdma.c
+++ b/src/applet-device-cdma.c
@@ -185,7 +185,6 @@ add_connection_items (NMDevice *device,
for (iter = connections; iter; iter = g_slist_next (iter)) {
NMConnection *connection = NM_CONNECTION (iter->data);
- NMSettingConnection *s_con;
GtkWidget *item;
if (active == connection) {
@@ -196,9 +195,7 @@ add_connection_items (NMDevice *device,
continue;
}
- s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
- item = gtk_image_menu_item_new_with_label (nm_setting_connection_get_id (s_con));
- gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM(item), TRUE);
+ item = applet_new_menu_item_helper (connection, active, (flag & ADD_ACTIVE));
info = g_slice_new0 (CdmaMenuItemInfo);
info->applet = applet;
diff --git a/src/applet-device-gsm.c b/src/applet-device-gsm.c
index 78d41ff..09c4c35 100644
--- a/src/applet-device-gsm.c
+++ b/src/applet-device-gsm.c
@@ -186,7 +186,6 @@ add_connection_items (NMDevice *device,
for (iter = connections; iter; iter = g_slist_next (iter)) {
NMConnection *connection = NM_CONNECTION (iter->data);
- NMSettingConnection *s_con;
GtkWidget *item;
if (active == connection) {
@@ -197,9 +196,7 @@ add_connection_items (NMDevice *device,
continue;
}
- s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
- item = gtk_image_menu_item_new_with_label (nm_setting_connection_get_id (s_con));
- gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM(item), TRUE);
+ item = applet_new_menu_item_helper (connection, active, (flag & ADD_ACTIVE));
info = g_slice_new0 (GSMMenuItemInfo);
info->applet = applet;
diff --git a/src/applet-device-wired.c b/src/applet-device-wired.c
index 182ae4b..8bb7760 100644
--- a/src/applet-device-wired.c
+++ b/src/applet-device-wired.c
@@ -126,7 +126,6 @@ add_connection_items (NMDevice *device,
for (iter = connections; iter; iter = g_slist_next (iter)) {
NMConnection *connection = NM_CONNECTION (iter->data);
- NMSettingConnection *s_con;
GtkWidget *item;
if (active == connection) {
@@ -137,10 +136,8 @@ add_connection_items (NMDevice *device,
continue;
}
- s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
- item = gtk_image_menu_item_new_with_label (nm_setting_connection_get_id (s_con));
- gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM(item), TRUE);
- gtk_widget_set_sensitive (GTK_WIDGET (item), carrier);
+ item = applet_new_menu_item_helper (connection, active, (flag & ADD_ACTIVE));
+ gtk_widget_set_sensitive (item, carrier);
info = g_slice_new0 (WiredMenuItemInfo);
info->applet = applet;
diff --git a/src/applet.c b/src/applet.c
index ca8d7f4..0fec6a0 100644
--- a/src/applet.c
+++ b/src/applet.c
@@ -448,6 +448,32 @@ applet_menu_item_add_complex_separator_helper (GtkWidget *menu,
return;
}
+GtkWidget *
+applet_new_menu_item_helper (NMConnection *connection,
+ NMConnection *active,
+ gboolean add_active)
+{
+ GtkWidget *item;
+ NMSettingConnection *s_con;
+ char *markup;
+ GtkWidget *label;
+
+ s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
+ item = gtk_image_menu_item_new_with_label ("");
+ if (add_active && (active == connection)) {
+ /* Pure evil */
+ label = gtk_bin_get_child (GTK_BIN (item));
+ gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
+ markup = g_markup_printf_escaped ("<b>%s</b>", nm_setting_connection_get_id (s_con));
+ gtk_label_set_markup (GTK_LABEL (label), markup);
+ g_free (markup);
+ } else
+ 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);
+ return item;
+}
+
#define TITLE_TEXT_R ((double) 0x5e / 255.0 )
#define TITLE_TEXT_G ((double) 0x5e / 255.0 )
#define TITLE_TEXT_B ((double) 0x5e / 255.0 )
diff --git a/src/applet.h b/src/applet.h
index 8386fe8..c577e1e 100644
--- a/src/applet.h
+++ b/src/applet.h
@@ -255,4 +255,8 @@ NMConnection * applet_find_active_connection_for_device (NMDevice *device,
NMApplet *applet,
NMActiveConnection **out_active);
+GtkWidget * applet_new_menu_item_helper (NMConnection *connection,
+ NMConnection *active,
+ gboolean add_active);
+
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]