[network-manager-applet/menu-rework: 17/18] menu: display active item in bold
- From: Dan Williams <dcbw src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [network-manager-applet/menu-rework: 17/18] menu: display active item in bold
- Date: Fri, 25 Sep 2009 05:49:19 +0000 (UTC)
commit 0213980e2890238cf911a4df13e907bb62b944df
Author: Dan Williams <dcbw redhat com>
Date: Thu Sep 24 22:40:14 2009 -0700
menu: display active item in bold
src/ap-menu-item.c | 27 ++++++++++++++++++---------
src/ap-menu-item.h | 1 +
2 files changed, 19 insertions(+), 9 deletions(-)
---
diff --git a/src/ap-menu-item.c b/src/ap-menu-item.c
index b074c0d..c6ed3ff 100644
--- a/src/ap-menu-item.c
+++ b/src/ap-menu-item.c
@@ -122,20 +122,19 @@ nm_network_menu_item_class_init (NMNetworkMenuItemClass * klass)
void
nm_network_menu_item_set_ssid (NMNetworkMenuItem * item, GByteArray * ssid)
{
- char *display_ssid = NULL;
-
g_return_if_fail (item != NULL);
g_return_if_fail (ssid != NULL);
- display_ssid = nm_utils_ssid_to_utf8 ((const char *) ssid->data, ssid->len);
- if (!display_ssid) {
+ g_free (item->ssid_string);
+ g_free (item->sort_label);
+
+ item->ssid_string = nm_utils_ssid_to_utf8 ((const char *) ssid->data, ssid->len);
+ if (!item->ssid_string) {
// FIXME: shouldn't happen; always coerce the SSID to _something_
- gtk_label_set_text (GTK_LABEL (item->ssid), "<unknown>");
- } else {
- gtk_label_set_text (GTK_LABEL (item->ssid), display_ssid);
- g_free (display_ssid);
+ item->ssid_string = g_strdup ("<unknown>");
}
- g_free (item->sort_label);
+ gtk_label_set_text (GTK_LABEL (item->ssid), item->ssid_string);
+
item->sort_label = g_strdup (gtk_label_get_text (GTK_LABEL (item->ssid)));
}
@@ -264,6 +263,16 @@ nm_network_menu_item_find_dupe (NMNetworkMenuItem *item, NMAccessPoint *ap)
void
nm_network_menu_item_set_active (NMNetworkMenuItem *item, gboolean active)
{
+ char *markup;
+
+ gtk_label_set_use_markup (GTK_LABEL (item->ssid), active);
+ if (active) {
+ markup = g_markup_printf_escaped ("<b>%s</b>", item->ssid_string);
+ gtk_label_set_markup (GTK_LABEL (item->ssid), markup);
+ g_free (markup);
+ } else
+ gtk_label_set_text (GTK_LABEL (item->ssid), item->ssid_string);
+
gtk_widget_set_sensitive (item->strength, active);
}
void
diff --git a/src/ap-menu-item.h b/src/ap-menu-item.h
index b5f3e6b..a457c76 100644
--- a/src/ap-menu-item.h
+++ b/src/ap-menu-item.h
@@ -45,6 +45,7 @@ struct _NMNetworkMenuItem
/*< private >*/
GtkWidget * ssid;
+ char * ssid_string;
GtkWidget * strength;
guint32 int_strength;
GtkWidget * detail;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]