summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2015-02-16 18:03:40 -0600
committerDan Williams <dcbw@redhat.com>2015-02-16 22:54:27 -0600
commitd558ea0c58c1adfd3d11d6c2a5bc960183347b13 (patch)
treee2270ac50cb19f6ad78910d93b5260ca5675e3aa
parent40f052d38af9e9f3bc42c6cbbb51e9044ab73663 (diff)
downloadnetwork-manager-applet-d558ea0c58c1adfd3d11d6c2a5bc960183347b13.tar.gz
applet: simplify NMNetworkMenuItem initialization
Collapse some of the setters into nm_network_menu_item_new() since these properties actually never change. Add some ATK descriptions too.
-rw-r--r--po/POTFILES.in1
-rw-r--r--src/ap-menu-item.c334
-rw-r--r--src/ap-menu-item.h18
-rw-r--r--src/applet-device-wifi.c25
4 files changed, 197 insertions, 181 deletions
diff --git a/po/POTFILES.in b/po/POTFILES.in
index f3c148e9..95432b02 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -5,6 +5,7 @@ nm-applet.desktop.in
nm-connection-editor.desktop.in
org.gnome.nm-applet.gschema.xml.in
[type: gettext/glade]src/8021x.ui
+src/ap-menu-item.c
src/applet.c
src/applet-device-bond.c
src/applet-device-bridge.c
diff --git a/src/ap-menu-item.c b/src/ap-menu-item.c
index ec0f1816..2a30977e 100644
--- a/src/ap-menu-item.c
+++ b/src/ap-menu-item.c
@@ -40,11 +40,12 @@ G_DEFINE_TYPE (NMNetworkMenuItem, nm_network_menu_item, GTK_TYPE_IMAGE_MENU_ITEM
typedef struct {
GtkWidget * ssid;
- char * ssid_string;
GtkWidget * strength;
- guint32 int_strength;
GtkWidget * detail;
GtkWidget * hbox;
+
+ char * ssid_string;
+ guint32 int_strength;
gchar * hash;
GSList * dupes;
gboolean has_connections;
@@ -52,86 +53,7 @@ typedef struct {
gboolean is_encrypted;
} NMNetworkMenuItemPrivate;
-static void
-nm_network_menu_item_init (NMNetworkMenuItem *item)
-{
- NMNetworkMenuItemPrivate *priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (item);
-
- priv->hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
- priv->ssid = gtk_label_new (NULL);
- gtk_misc_set_alignment (GTK_MISC (priv->ssid), 0.0, 0.5);
-
- priv->detail = gtk_image_new ();
-
- gtk_container_add (GTK_CONTAINER (item), priv->hbox);
- gtk_box_pack_start (GTK_BOX (priv->hbox), priv->ssid, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (priv->hbox), priv->detail, FALSE, FALSE, 0);
-
- priv->strength = gtk_image_new ();
- gtk_box_pack_end (GTK_BOX (priv->hbox), priv->strength, FALSE, TRUE, 0);
- gtk_widget_show (priv->strength);
-
- gtk_widget_show (priv->ssid);
- gtk_widget_show (priv->detail);
- gtk_widget_show (priv->hbox);
-}
-
-GtkWidget*
-nm_network_menu_item_new (const char *hash, gboolean has_connections)
-{
- NMNetworkMenuItem *item;
-
- item = g_object_new (NM_TYPE_NETWORK_MENU_ITEM, NULL);
- g_assert (item);
- NM_NETWORK_MENU_ITEM_GET_PRIVATE (item)->has_connections = has_connections;
- NM_NETWORK_MENU_ITEM_GET_PRIVATE (item)->hash = g_strdup (hash);
- return GTK_WIDGET (item);
-}
-
-static void
-finalize (GObject *object)
-{
- NMNetworkMenuItemPrivate *priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (object);
-
- g_free (priv->hash);
- g_free (priv->ssid_string);
-
- g_slist_foreach (priv->dupes, (GFunc) g_free, NULL);
- g_slist_free (priv->dupes);
-
- G_OBJECT_CLASS (nm_network_menu_item_parent_class)->finalize (object);
-}
-
-static void
-nm_network_menu_item_class_init (NMNetworkMenuItemClass * klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- g_type_class_add_private (klass, sizeof (NMNetworkMenuItemPrivate));
-
- /* virtual methods */
- object_class->finalize = finalize;
-}
-
-void
-nm_network_menu_item_set_ssid (NMNetworkMenuItem *item, GByteArray *ssid)
-{
- NMNetworkMenuItemPrivate *priv;
-
- g_return_if_fail (NM_IS_NETWORK_MENU_ITEM (item));
- g_return_if_fail (ssid != NULL);
-
- priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (item);
-
- g_free (priv->ssid_string);
-
- priv->ssid_string = nm_utils_ssid_to_utf8 (ssid);
- if (!priv->ssid_string) {
- // FIXME: shouldn't happen; always coerce the SSID to _something_
- priv->ssid_string = g_strdup ("<unknown>");
- }
- gtk_label_set_text (GTK_LABEL (priv->ssid), priv->ssid_string);
-}
+/******************************************************************/
const char *
nm_network_menu_item_get_ssid (NMNetworkMenuItem *item)
@@ -149,33 +71,42 @@ nm_network_menu_item_get_strength (NMNetworkMenuItem *item)
return NM_NETWORK_MENU_ITEM_GET_PRIVATE (item)->int_strength;
}
-void
-nm_network_menu_item_best_strength (NMNetworkMenuItem *item,
- guint8 strength,
- NMApplet *applet)
+static void
+update_atk_desc (NMNetworkMenuItem *item)
{
- NMNetworkMenuItemPrivate *priv;
- GdkPixbuf *icon = NULL, *pixbuf, *top;
-
- g_return_if_fail (NM_IS_NETWORK_MENU_ITEM (item));
-
- priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (item);
-
- strength = MIN (strength, 100);
+ NMNetworkMenuItemPrivate *priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (item);
+ GString *desc = NULL;
+
+ desc = g_string_new ("");
+ g_string_append_printf (desc, "%s: ", priv->ssid_string);
+
+ if (priv->is_adhoc)
+ g_string_append (desc, _("ad-hoc"));
+ else {
+ g_string_append_printf (desc, "%d%%", priv->int_strength);
+ if (priv->is_encrypted) {
+ g_string_append (desc, ", ");
+ g_string_append (desc, _("secure."));
+ }
+ }
- /* Just do nothing if the new strength is less */
- if (strength < priv->int_strength)
- return;
+ atk_object_set_name (gtk_widget_get_accessible (GTK_WIDGET (item)), desc->str);
+ g_string_free (desc, TRUE);
+}
- priv->int_strength = strength;
+static void
+update_icon (NMNetworkMenuItem *item, NMApplet *applet)
+{
+ NMNetworkMenuItemPrivate *priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (item);
+ GdkPixbuf *icon = NULL, *pixbuf, *top, *scaled;
- if (strength > 80)
+ if (priv->int_strength > 80)
icon = nma_icon_check_and_load ("nm-signal-100", applet);
- else if (strength > 55)
+ else if (priv->int_strength > 55)
icon = nma_icon_check_and_load ("nm-signal-75", applet);
- else if (strength > 30)
+ else if (priv->int_strength > 30)
icon = nma_icon_check_and_load ("nm-signal-50", applet);
- else if (strength > 5)
+ else if (priv->int_strength > 5)
icon = nma_icon_check_and_load ("nm-signal-25", applet);
else
icon = nma_icon_check_and_load ("nm-signal-00", applet);
@@ -193,8 +124,6 @@ nm_network_menu_item_best_strength (NMNetworkMenuItem *item,
/* Scale to menu size if larger so the menu doesn't look awful */
if (gdk_pixbuf_get_height (pixbuf) > 24 || gdk_pixbuf_get_width (pixbuf) > 24) {
- GdkPixbuf *scaled;
-
scaled = gdk_pixbuf_scale_simple (pixbuf, 24, 24, GDK_INTERP_BILINEAR);
g_object_unref (pixbuf);
pixbuf = scaled;
@@ -202,62 +131,42 @@ nm_network_menu_item_best_strength (NMNetworkMenuItem *item,
gtk_image_set_from_pixbuf (GTK_IMAGE (priv->strength), pixbuf);
g_object_unref (pixbuf);
-}
-const char *
-nm_network_menu_item_get_hash (NMNetworkMenuItem *item)
-{
- g_return_val_if_fail (NM_IS_NETWORK_MENU_ITEM (item), NULL);
-
- return NM_NETWORK_MENU_ITEM_GET_PRIVATE (item)->hash;
+ if (priv->is_adhoc && !gtk_image_get_pixbuf (GTK_IMAGE (priv->detail))) {
+ scaled = NULL;
+ pixbuf = nma_icon_check_and_load ("nm-adhoc", applet);
+ if (gdk_pixbuf_get_height (pixbuf) > 24 || gdk_pixbuf_get_width (pixbuf) > 24)
+ scaled = gdk_pixbuf_scale_simple (pixbuf, 24, 24, GDK_INTERP_BILINEAR);
+ gtk_image_set_from_pixbuf (GTK_IMAGE (priv->detail), scaled ? scaled : pixbuf);
+ g_clear_object (&scaled);
+ }
}
void
-nm_network_menu_item_set_detail (NMNetworkMenuItem *item,
- NMAccessPoint *ap,
- GdkPixbuf *adhoc_icon,
- guint32 dev_caps)
+nm_network_menu_item_set_strength (NMNetworkMenuItem *item,
+ guint8 strength,
+ NMApplet *applet)
{
NMNetworkMenuItemPrivate *priv;
- gboolean is_adhoc = FALSE;
- guint32 ap_flags, ap_wpa, ap_rsn;
g_return_if_fail (NM_IS_NETWORK_MENU_ITEM (item));
priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (item);
- 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)
- priv->is_encrypted = TRUE;
-
- if (nm_access_point_get_mode (ap) == NM_802_11_MODE_ADHOC) {
- GdkPixbuf *scaled = NULL;
-
- priv->is_adhoc = is_adhoc = TRUE;
-
- if (gdk_pixbuf_get_height (adhoc_icon) > 24 || gdk_pixbuf_get_width (adhoc_icon) > 24)
- scaled = gdk_pixbuf_scale_simple (adhoc_icon, 24, 24, GDK_INTERP_BILINEAR);
-
- gtk_image_set_from_pixbuf (GTK_IMAGE (priv->detail), scaled ? scaled : adhoc_icon);
+ strength = MIN (strength, 100);
+ if (strength > priv->int_strength) {
+ priv->int_strength = strength;
+ update_icon (item, applet);
+ update_atk_desc (item);
+ }
+}
- g_clear_object (&scaled);
- } else
- gtk_image_set_from_stock (GTK_IMAGE (priv->detail), NULL, GTK_ICON_SIZE_MENU);
+const char *
+nm_network_menu_item_get_hash (NMNetworkMenuItem *item)
+{
+ g_return_val_if_fail (NM_IS_NETWORK_MENU_ITEM (item), NULL);
- /* 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);
- }
+ return NM_NETWORK_MENU_ITEM_GET_PRIVATE (item)->hash;
}
gboolean
@@ -280,23 +189,32 @@ nm_network_menu_item_find_dupe (NMNetworkMenuItem *item, NMAccessPoint *ap)
return FALSE;
}
+static void
+set_label (NMNetworkMenuItem *item, const char *label, gboolean use_markup)
+{
+ NMNetworkMenuItemPrivate *priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (item);
+
+ gtk_label_set_use_markup (GTK_LABEL (priv->ssid), use_markup);
+ if (use_markup)
+ gtk_label_set_markup (GTK_LABEL (priv->ssid), label);
+ else
+ gtk_label_set_text (GTK_LABEL (priv->ssid), label);
+}
+
void
nm_network_menu_item_set_active (NMNetworkMenuItem *item, gboolean active)
{
NMNetworkMenuItemPrivate *priv;
- char *markup;
+ char *markup = NULL;
g_return_if_fail (NM_IS_NETWORK_MENU_ITEM (item));
priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (item);
- gtk_label_set_use_markup (GTK_LABEL (priv->ssid), active);
- if (active) {
+ if (active)
markup = g_markup_printf_escaped ("<b>%s</b>", priv->ssid_string);
- gtk_label_set_markup (GTK_LABEL (priv->ssid), markup);
- g_free (markup);
- } else
- gtk_label_set_text (GTK_LABEL (priv->ssid), priv->ssid_string);
+ set_label (item, markup ? markup : priv->ssid_string, !!markup);
+ g_free (markup);
}
void
@@ -337,3 +255,111 @@ nm_network_menu_item_get_is_encrypted (NMNetworkMenuItem *item)
return NM_NETWORK_MENU_ITEM_GET_PRIVATE (item)->is_encrypted;
}
+/******************************************************************/
+
+GtkWidget *
+nm_network_menu_item_new (NMAccessPoint *ap,
+ guint32 dev_caps,
+ const char *hash,
+ gboolean has_connections,
+ NMApplet *applet)
+{
+ NMNetworkMenuItem *item;
+ NMNetworkMenuItemPrivate *priv;
+ guint32 ap_flags, ap_wpa, ap_rsn;
+ const GByteArray *ssid;
+
+ item = g_object_new (NM_TYPE_NETWORK_MENU_ITEM, NULL);
+ g_assert (item);
+
+ priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (item);
+
+ nm_network_menu_item_add_dupe (item, ap);
+
+ ssid = nm_access_point_get_ssid (ap);
+ if (ssid)
+ priv->ssid_string = nm_utils_ssid_to_utf8 (ssid);
+ if (!priv->ssid_string)
+ priv->ssid_string = g_strdup ("<unknown>");
+
+ priv->has_connections = has_connections;
+ priv->hash = g_strdup (hash);
+ priv->int_strength = nm_access_point_get_strength (ap);
+
+ if (nm_access_point_get_mode (ap) == NM_802_11_MODE_ADHOC)
+ priv->is_adhoc = TRUE;
+
+ 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)
+ priv->is_encrypted = 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, priv->is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_STATIC_WEP, dev_caps, TRUE, priv->is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_LEAP, dev_caps, TRUE, priv->is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_DYNAMIC_WEP, dev_caps, TRUE, priv->is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_WPA_PSK, dev_caps, TRUE, priv->is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_WPA2_PSK, dev_caps, TRUE, priv->is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_WPA_ENTERPRISE, dev_caps, TRUE, priv->is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_WPA2_ENTERPRISE, dev_caps, TRUE, priv->is_adhoc, ap_flags, ap_wpa, ap_rsn)) {
+ gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE);
+ }
+
+ set_label (item, priv->ssid_string, FALSE);
+ update_icon (item, applet);
+ update_atk_desc (item);
+
+ return GTK_WIDGET (item);
+}
+
+static void
+nm_network_menu_item_init (NMNetworkMenuItem *item)
+{
+ NMNetworkMenuItemPrivate *priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (item);
+
+ priv->hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ priv->ssid = gtk_label_new (NULL);
+ gtk_misc_set_alignment (GTK_MISC (priv->ssid), 0.0, 0.5);
+
+ priv->detail = gtk_image_new ();
+
+ gtk_container_add (GTK_CONTAINER (item), priv->hbox);
+ gtk_box_pack_start (GTK_BOX (priv->hbox), priv->ssid, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (priv->hbox), priv->detail, FALSE, FALSE, 0);
+
+ priv->strength = gtk_image_new ();
+ gtk_box_pack_end (GTK_BOX (priv->hbox), priv->strength, FALSE, TRUE, 0);
+ gtk_widget_show (priv->strength);
+
+ gtk_widget_show (priv->ssid);
+ gtk_widget_show (priv->detail);
+ gtk_widget_show (priv->hbox);
+}
+
+static void
+finalize (GObject *object)
+{
+ NMNetworkMenuItemPrivate *priv = NM_NETWORK_MENU_ITEM_GET_PRIVATE (object);
+
+ g_free (priv->hash);
+ g_free (priv->ssid_string);
+
+ g_slist_foreach (priv->dupes, (GFunc) g_free, NULL);
+ g_slist_free (priv->dupes);
+
+ G_OBJECT_CLASS (nm_network_menu_item_parent_class)->finalize (object);
+}
+
+static void
+nm_network_menu_item_class_init (NMNetworkMenuItemClass * klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ g_type_class_add_private (klass, sizeof (NMNetworkMenuItemPrivate));
+
+ /* virtual methods */
+ object_class->finalize = finalize;
+}
+
diff --git a/src/ap-menu-item.h b/src/ap-menu-item.h
index a8871d1f..c538c364 100644
--- a/src/ap-menu-item.h
+++ b/src/ap-menu-item.h
@@ -49,24 +49,22 @@ struct _NMNetworkMenuItemClass {
GType nm_network_menu_item_get_type (void) G_GNUC_CONST;
-GtkWidget* nm_network_menu_item_new (const char *hash, gboolean has_connections);
+GtkWidget* nm_network_menu_item_new (NMAccessPoint *ap,
+ guint32 dev_caps,
+ const char *hash,
+ gboolean has_connections,
+ NMApplet *applet);
-void nm_network_menu_item_set_ssid (NMNetworkMenuItem *item,
- GByteArray *ssid);
const char *nm_network_menu_item_get_ssid (NMNetworkMenuItem *item);
gboolean nm_network_menu_item_get_is_adhoc (NMNetworkMenuItem *item);
gboolean nm_network_menu_item_get_is_encrypted (NMNetworkMenuItem *item);
guint32 nm_network_menu_item_get_strength (NMNetworkMenuItem *item);
-void nm_network_menu_item_best_strength (NMNetworkMenuItem *item,
- guint8 strength,
- NMApplet *applet);
+void nm_network_menu_item_set_strength (NMNetworkMenuItem *item,
+ guint8 strength,
+ NMApplet *applet);
const char *nm_network_menu_item_get_hash (NMNetworkMenuItem * item);
-void nm_network_menu_item_set_detail (NMNetworkMenuItem * item,
- NMAccessPoint * ap,
- GdkPixbuf * adhoc_icon,
- guint32 dev_caps);
gboolean nm_network_menu_item_find_dupe (NMNetworkMenuItem *item,
NMAccessPoint *ap);
diff --git a/src/applet-device-wifi.c b/src/applet-device-wifi.c
index d5a937a0..2bcd42bb 100644
--- a/src/applet-device-wifi.c
+++ b/src/applet-device-wifi.c
@@ -534,29 +534,20 @@ create_new_ap_item (NMDeviceWifi *device,
{
WifiMenuItemInfo *info;
GSList *iter;
- NMNetworkMenuItem *item = NULL;
+ GtkWidget *item;
GSList *dev_connections = NULL;
GSList *ap_connections = NULL;
- const GByteArray *ssid;
- guint32 dev_caps;
dev_connections = nm_device_filter_connections (NM_DEVICE (device), connections);
ap_connections = nm_access_point_filter_connections (ap, dev_connections);
g_slist_free (dev_connections);
dev_connections = NULL;
- item = NM_NETWORK_MENU_ITEM (nm_network_menu_item_new (dup_data->hash,
- !!g_slist_length (ap_connections)));
-
- ssid = nm_access_point_get_ssid (ap);
- nm_network_menu_item_set_ssid (item, (GByteArray *) ssid);
-
- dev_caps = nm_device_wifi_get_capabilities (device);
- gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE);
- nm_network_menu_item_set_detail (item, ap, nma_icon_check_and_load ("nm-adhoc", applet), dev_caps);
- nm_network_menu_item_best_strength (item, nm_access_point_get_strength (ap), applet);
- nm_network_menu_item_add_dupe (item, ap);
-
+ item = nm_network_menu_item_new (ap,
+ nm_device_wifi_get_capabilities (device),
+ dup_data->hash,
+ !!g_slist_length (ap_connections),
+ applet);
g_object_set_data (G_OBJECT (item), "device", NM_DEVICE (device));
/* If there's only one connection, don't show the submenu */
@@ -610,7 +601,7 @@ create_new_ap_item (NMDeviceWifi *device,
}
g_slist_free (ap_connections);
- return item;
+ return NM_NETWORK_MENU_ITEM (item);
}
static NMNetworkMenuItem *
@@ -643,7 +634,7 @@ get_menu_item_for_ap (NMDeviceWifi *device,
g_slist_foreach (menu_list, find_duplicate, &dup_data);
if (dup_data.found) {
- nm_network_menu_item_best_strength (dup_data.found, nm_access_point_get_strength (ap), applet);
+ nm_network_menu_item_set_strength (dup_data.found, nm_access_point_get_strength (ap), applet);
nm_network_menu_item_add_dupe (dup_data.found, ap);
return NULL;
}