diff options
Diffstat (limited to 'netspeed/src/netspeed.c')
-rw-r--r-- | netspeed/src/netspeed.c | 206 |
1 files changed, 99 insertions, 107 deletions
diff --git a/netspeed/src/netspeed.c b/netspeed/src/netspeed.c index eeb2dce4..73185abd 100644 --- a/netspeed/src/netspeed.c +++ b/netspeed/src/netspeed.c @@ -518,7 +518,7 @@ redraw_graph (NetspeedApplet *netspeed, w = gdk_window_get_width (real_window); h = gdk_window_get_height (real_window); - /* the graph hight should be: hight/2 <= applet->max_graph < hight */ + /* the graph hight should be: hight/2 <= netspeed->max_graph < hight */ for (max_val = 1; max_val < netspeed->max_graph; max_val *= 2) ; /* calculate the polygons (GdkPoint[]) for the graphs */ @@ -630,7 +630,7 @@ search_for_up_if (NetspeedApplet *netspeed) if (set_applet_devinfo (netspeed, tmp->data)) break; } - free_devices_list (devices); + g_list_free_full (devices, g_free); } static char * @@ -687,13 +687,6 @@ format_ipv4 (guint32 ip, } static void -format_ipv6 (const guint8 ip[16], - char *dest) -{ - inet_ntop (AF_INET6, ip, dest, INET6_ADDRSTRLEN); -} - -static void fill_details_dialog (NetspeedApplet *netspeed) { char *text; @@ -1058,12 +1051,12 @@ about_cb (GtkAction *action, "version", VERSION, "copyright", _("Copyright \xc2\xa9 2002-2003 Jörgen Scheibengruber\n" "Copyright \xc2\xa9 2011-2014 Stefano Karapetsas\n" - "Copyright \xc2\xa9 2015-2020 MATE developers"), + "Copyright \xc2\xa9 2015-2021 MATE developers"), "comments", _("A little applet that displays some information on the traffic on the specified network device"), "authors", authors, "documenters", NULL, "translator-credits", _("translator-credits"), - "website", "http://www.mate-desktop.org/", + "website", PACKAGE_URL, "logo-icon-name", LOGO_ICON, NULL); } @@ -1371,54 +1364,44 @@ update_tooltip (NetspeedApplet *netspeed) if (!netspeed->devinfo->running) g_string_printf (tooltip, _("%s is down"), netspeed->devinfo->name); else { + GSList *iterator; + GString *string = NULL; char ipv4_text [INET_ADDRSTRLEN]; - char ipv6_text [INET6_ADDRSTRLEN]; - char *ip; - - if (netspeed->show_all_addresses) { - format_ipv6 (netspeed->devinfo->ipv6, ipv6_text); - if (netspeed->devinfo->ip) { - format_ipv4 (netspeed->devinfo->ip, ipv4_text); - if (strlen (ipv6_text) > 2) { - g_string_printf (tooltip, - _("%s: %s and %s"), - netspeed->devinfo->name, - ipv4_text, - ipv6_text); - } else { - g_string_printf (tooltip, - _("%s: %s"), - netspeed->devinfo->name, - ipv4_text); - } - } else { - if (strlen (ipv6_text) > 2) { - g_string_printf (tooltip, - _("%s: %s"), - netspeed->devinfo->name, - ipv6_text); - } else { - g_string_printf (tooltip, - _("%s: has no ip"), - netspeed->devinfo->name); - } - } - } else { - if (netspeed->devinfo->ip) { - format_ipv4 (netspeed->devinfo->ip, ipv4_text); - ip = ipv4_text; - } else { - format_ipv6 (netspeed->devinfo->ipv6, ipv6_text); - if (strlen (ipv6_text) > 2) { - ip = ipv6_text; - } else { - ip = _("has no ip"); + + g_string_printf (tooltip, "%s: ", netspeed->devinfo->name); + + if (netspeed->show_all_addresses || !netspeed->devinfo->ip) { + GSList *ip6_address_list = get_ip6_address_list (netspeed->devinfo->name); + + /* check if we got IPv6 addresses */ + if (ip6_address_list != NULL) { + for (iterator = ip6_address_list; iterator; iterator = iterator->next) { + if (string == NULL) + string = g_string_new ((char*) iterator->data); + else + g_string_append_printf (string, + _("\n%s"), + (char*) iterator->data); } } - g_string_printf (tooltip, - _("%s: %s"), - netspeed->devinfo->name, - ip); + + g_slist_free_full (ip6_address_list, g_free); + } + + if (!netspeed->devinfo->ip && !string) { + g_string_append (tooltip, "has no ip"); + } + + if (netspeed->devinfo->ip) { + format_ipv4 (netspeed->devinfo->ip, ipv4_text); + g_string_append (tooltip, ipv4_text); + } + + if (string != NULL) { + g_string_append_printf (tooltip, + _("\n%s"), + string->str); + g_string_free (string, TRUE); } if (netspeed->show_sum) { @@ -1455,7 +1438,6 @@ update_tooltip (NetspeedApplet *netspeed) g_string_free (tooltip, TRUE); } - static gboolean netspeed_applet_enter_notify_event (GtkWidget *widget, GdkEventCrossing *event) @@ -1564,7 +1546,6 @@ device_settings_changed (GSettings *settings, NetspeedApplet *netspeed) { char *device; - DevInfo *info; device = g_settings_get_string (settings, key); if (device && *device != '\0') { @@ -1586,13 +1567,17 @@ netspeed_applet_factory (MatePanelApplet *applet, int i; GtkWidget *spacer, *spacer_box; GtkActionGroup *action_group; + AtkObject *atk_obj; char *tmp; if (strcmp (iid, "NetspeedApplet")) return FALSE; glibtop_init (); + +#ifndef ENABLE_IN_PROCESS g_set_application_name (_("MATE Netspeed")); +#endif netspeed = NETSPEED_APPLET (applet); netspeed->icon_theme = gtk_icon_theme_get_default (); @@ -1660,7 +1645,7 @@ netspeed_applet_factory (MatePanelApplet *applet, } ptr = g_list_next (ptr); } - free_devices_list (devices); + g_list_free_full (devices, g_free); } if (!netspeed->devinfo) get_device_info ("lo", &netspeed->devinfo); @@ -1698,62 +1683,61 @@ netspeed_applet_factory (MatePanelApplet *applet, netspeed->timeout_id = g_timeout_add (REFRESH_TIME, (GSourceFunc)timeout_function, netspeed); + g_signal_connect_object (applet, "change-size", + G_CALLBACK (applet_change_size_or_orient), + netspeed, 0); - g_signal_connect (applet, "change_size", - G_CALLBACK (applet_change_size_or_orient), - netspeed); - - g_signal_connect (netspeed->icon_theme, "changed", - G_CALLBACK (icon_theme_changed_cb), - netspeed); + g_signal_connect_object (netspeed->icon_theme, "changed", + G_CALLBACK (icon_theme_changed_cb), + netspeed, 0); - g_signal_connect (applet, "change_orient", - G_CALLBACK (applet_change_size_or_orient), - netspeed); + g_signal_connect_object (applet, "change-orient", + G_CALLBACK (applet_change_size_or_orient), + netspeed, 0); - g_signal_connect (netspeed->in_label, "size_allocate", - G_CALLBACK (label_size_allocate_cb), - netspeed); + g_signal_connect_object (netspeed->in_label, "size-allocate", + G_CALLBACK (label_size_allocate_cb), + netspeed, 0); - g_signal_connect (netspeed->out_label, "size_allocate", - G_CALLBACK (label_size_allocate_cb), - netspeed); + g_signal_connect_object (netspeed->out_label, "size-allocate", + G_CALLBACK (label_size_allocate_cb), + netspeed, 0); - g_signal_connect (netspeed->sum_label, "size_allocate", - G_CALLBACK (label_size_allocate_cb), - netspeed); + g_signal_connect_object (netspeed->sum_label, "size-allocate", + G_CALLBACK (label_size_allocate_cb), + netspeed, 0); - g_signal_connect (netspeed->settings, "changed::auto-change-device", - G_CALLBACK (auto_change_device_settings_changed), - netspeed); + g_signal_connect_object (netspeed->settings, "changed::auto-change-device", + G_CALLBACK (auto_change_device_settings_changed), + netspeed, 0); - g_signal_connect (netspeed->settings, "changed::device", - G_CALLBACK (device_settings_changed), - netspeed); + g_signal_connect_object (netspeed->settings, "changed::device", + G_CALLBACK (device_settings_changed), + netspeed, 0); - g_signal_connect (netspeed->settings, "changed::show-all-addresses", - G_CALLBACK (showalladdresses_settings_changed), - netspeed); + g_signal_connect_object (netspeed->settings, "changed::show-all-addresses", + G_CALLBACK (showalladdresses_settings_changed), + netspeed, 0); - g_signal_connect (netspeed->settings, "changed::show-sum", - G_CALLBACK (showsum_settings_changed), - netspeed); + g_signal_connect_object (netspeed->settings, "changed::show-sum", + G_CALLBACK (showsum_settings_changed), + netspeed, 0); - g_signal_connect (netspeed->settings, "changed::show-bits", - G_CALLBACK (showbits_settings_changed), - netspeed); + g_signal_connect_object (netspeed->settings, "changed::show-bits", + G_CALLBACK (showbits_settings_changed), + netspeed, 0); - g_signal_connect (netspeed->settings, "changed::change-icon", - G_CALLBACK (changeicon_settings_changed), - netspeed); + g_signal_connect_object (netspeed->settings, "changed::change-icon", + G_CALLBACK (changeicon_settings_changed), + netspeed, 0); - g_signal_connect (netspeed->settings, "changed::show-icon", - G_CALLBACK (showicon_settings_changed), - netspeed); + g_signal_connect_object (netspeed->settings, "changed::show-icon", + G_CALLBACK (showicon_settings_changed), + netspeed, 0); - g_signal_connect (netspeed->settings, "changed::show-quality-icon", - G_CALLBACK (showqualityicon_settings_changed), - netspeed); + g_signal_connect_object (netspeed->settings, "changed::show-quality-icon", + G_CALLBACK (showqualityicon_settings_changed), + netspeed, 0); action_group = gtk_action_group_new ("Netspeed Applet Actions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); @@ -1766,13 +1750,21 @@ netspeed_applet_factory (MatePanelApplet *applet, NETSPEED_RESOURCE_PATH "netspeed-menu.xml", action_group); + atk_obj = gtk_widget_get_accessible (GTK_WIDGET (applet)); + + if (GTK_IS_ACCESSIBLE (atk_obj)) { + atk_object_set_name (atk_obj, _("MATE Netspeed")); + atk_object_set_description (atk_obj, + _("A little applet that displays some information on the traffic on the specified network device")); + } + g_object_unref (action_group); return TRUE; } -MATE_PANEL_APPLET_OUT_PROCESS_FACTORY ("NetspeedAppletFactory", - NETSPEED_TYPE_APPLET, - "NetspeedApplet", - netspeed_applet_factory, - NULL) +PANEL_APPLET_FACTORY ("NetspeedAppletFactory", + NETSPEED_TYPE_APPLET, + "NetspeedApplet", + netspeed_applet_factory, + NULL) |