network: Pass widget references rather than relying on names
The existing code relied on using GtkBuilder, which will no longer work when we switch to GtkTemplate.
This commit is contained in:
parent
1d43f4c0f5
commit
57d7a79034
5 changed files with 105 additions and 97 deletions
|
@ -86,6 +86,7 @@ update_last_used (CEPageDetails *page, NMConnection *connection)
|
||||||
GTimeSpan diff;
|
GTimeSpan diff;
|
||||||
guint64 timestamp;
|
guint64 timestamp;
|
||||||
NMSettingConnection *s_con;
|
NMSettingConnection *s_con;
|
||||||
|
GtkWidget *heading, *widget;
|
||||||
|
|
||||||
s_con = nm_connection_get_setting_connection (connection);
|
s_con = nm_connection_get_setting_connection (connection);
|
||||||
if (s_con == NULL)
|
if (s_con == NULL)
|
||||||
|
@ -109,7 +110,9 @@ update_last_used (CEPageDetails *page, NMConnection *connection)
|
||||||
else
|
else
|
||||||
last_used = g_strdup_printf (ngettext ("%i day ago", "%i days ago", days), days);
|
last_used = g_strdup_printf (ngettext ("%i day ago", "%i days ago", days), days);
|
||||||
out:
|
out:
|
||||||
panel_set_device_widget_details (CE_PAGE (page)->builder, "last_used", last_used);
|
heading = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_last_used"));
|
||||||
|
widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "label_last_used"));
|
||||||
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), last_used);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -176,7 +179,7 @@ static void
|
||||||
connect_details_page (CEPageDetails *page)
|
connect_details_page (CEPageDetails *page)
|
||||||
{
|
{
|
||||||
NMSettingConnection *sc;
|
NMSettingConnection *sc;
|
||||||
GtkWidget *widget;
|
GtkWidget *heading, *widget;
|
||||||
guint speed;
|
guint speed;
|
||||||
guint strength;
|
guint strength;
|
||||||
NMDeviceState state;
|
NMDeviceState state;
|
||||||
|
@ -221,18 +224,24 @@ connect_details_page (CEPageDetails *page)
|
||||||
}
|
}
|
||||||
if (speed > 0)
|
if (speed > 0)
|
||||||
speed_label = g_strdup_printf (_("%d Mb/s"), speed);
|
speed_label = g_strdup_printf (_("%d Mb/s"), speed);
|
||||||
panel_set_device_widget_details (CE_PAGE (page)->builder, "speed", speed_label);
|
heading = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_speed"));
|
||||||
|
widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "label_speed"));
|
||||||
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), speed_label);
|
||||||
|
|
||||||
if (NM_IS_DEVICE_WIFI (page->device))
|
if (NM_IS_DEVICE_WIFI (page->device))
|
||||||
hw_address = nm_device_wifi_get_hw_address (NM_DEVICE_WIFI (page->device));
|
hw_address = nm_device_wifi_get_hw_address (NM_DEVICE_WIFI (page->device));
|
||||||
else if (NM_IS_DEVICE_ETHERNET (page->device))
|
else if (NM_IS_DEVICE_ETHERNET (page->device))
|
||||||
hw_address = nm_device_ethernet_get_hw_address (NM_DEVICE_ETHERNET (page->device));
|
hw_address = nm_device_ethernet_get_hw_address (NM_DEVICE_ETHERNET (page->device));
|
||||||
|
|
||||||
panel_set_device_widget_details (CE_PAGE (page)->builder, "mac", hw_address);
|
heading = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_mac"));
|
||||||
|
widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "label_mac"));
|
||||||
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), hw_address);
|
||||||
|
|
||||||
if (device_is_active && active_ap)
|
if (device_is_active && active_ap)
|
||||||
security_string = get_ap_security_string (active_ap);
|
security_string = get_ap_security_string (active_ap);
|
||||||
panel_set_device_widget_details (CE_PAGE (page)->builder, "security", security_string);
|
heading = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_security"));
|
||||||
|
widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "label_security"));
|
||||||
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), security_string);
|
||||||
|
|
||||||
strength = 0;
|
strength = 0;
|
||||||
if (page->ap != NULL)
|
if (page->ap != NULL)
|
||||||
|
@ -250,7 +259,9 @@ connect_details_page (CEPageDetails *page)
|
||||||
strength_label = C_("Signal strength", "Good");
|
strength_label = C_("Signal strength", "Good");
|
||||||
else
|
else
|
||||||
strength_label = C_("Signal strength", "Excellent");
|
strength_label = C_("Signal strength", "Excellent");
|
||||||
panel_set_device_widget_details (CE_PAGE (page)->builder, "strength", strength_label);
|
heading = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_strength"));
|
||||||
|
widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "label_strength"));
|
||||||
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), strength_label);
|
||||||
|
|
||||||
/* set IP entries */
|
/* set IP entries */
|
||||||
if (device_is_active)
|
if (device_is_active)
|
||||||
|
@ -260,8 +271,11 @@ connect_details_page (CEPageDetails *page)
|
||||||
|
|
||||||
if (!device_is_active && CE_PAGE (page)->connection)
|
if (!device_is_active && CE_PAGE (page)->connection)
|
||||||
update_last_used (page, CE_PAGE (page)->connection);
|
update_last_used (page, CE_PAGE (page)->connection);
|
||||||
else
|
else {
|
||||||
panel_set_device_widget_details (CE_PAGE (page)->builder, "last_used", NULL);
|
heading = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_last_used"));
|
||||||
|
widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "label_last_used"));
|
||||||
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/* Auto connect check */
|
/* Auto connect check */
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder,
|
widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder,
|
||||||
|
|
|
@ -240,6 +240,7 @@ static void
|
||||||
device_mobile_refresh_equipment_id (NetDeviceMobile *device_mobile)
|
device_mobile_refresh_equipment_id (NetDeviceMobile *device_mobile)
|
||||||
{
|
{
|
||||||
const gchar *equipment_id = NULL;
|
const gchar *equipment_id = NULL;
|
||||||
|
GtkWidget *heading, *widget;
|
||||||
|
|
||||||
if (device_mobile->mm_object != NULL) {
|
if (device_mobile->mm_object != NULL) {
|
||||||
MMModem *modem;
|
MMModem *modem;
|
||||||
|
@ -260,7 +261,9 @@ device_mobile_refresh_equipment_id (NetDeviceMobile *device_mobile)
|
||||||
"ControlCenter::EquipmentIdentifier");
|
"ControlCenter::EquipmentIdentifier");
|
||||||
}
|
}
|
||||||
|
|
||||||
panel_set_device_widget_details (device_mobile->builder, "imei", equipment_id);
|
heading = GTK_WIDGET (gtk_builder_get_object (device_mobile->builder, "heading_imei"));
|
||||||
|
widget = GTK_WIDGET (gtk_builder_get_object (device_mobile->builder, "label_imei"));
|
||||||
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), equipment_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gchar *
|
static gchar *
|
||||||
|
@ -305,6 +308,11 @@ device_mobile_find_provider (NetDeviceMobile *device_mobile,
|
||||||
static void
|
static void
|
||||||
device_mobile_refresh_operator_name (NetDeviceMobile *device_mobile)
|
device_mobile_refresh_operator_name (NetDeviceMobile *device_mobile)
|
||||||
{
|
{
|
||||||
|
GtkWidget *heading, *widget;
|
||||||
|
|
||||||
|
heading = GTK_WIDGET (gtk_builder_get_object (device_mobile->builder, "heading_provider"));
|
||||||
|
widget = GTK_WIDGET (gtk_builder_get_object (device_mobile->builder, "label_provider"));
|
||||||
|
|
||||||
if (device_mobile->mm_object != NULL) {
|
if (device_mobile->mm_object != NULL) {
|
||||||
g_autofree gchar *operator_name = NULL;
|
g_autofree gchar *operator_name = NULL;
|
||||||
MMModem3gpp *modem_3gpp;
|
MMModem3gpp *modem_3gpp;
|
||||||
|
@ -341,7 +349,7 @@ device_mobile_refresh_operator_name (NetDeviceMobile *device_mobile)
|
||||||
operator_name);
|
operator_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
panel_set_device_widget_details (device_mobile->builder, "provider", operator_name);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), operator_name);
|
||||||
} else {
|
} else {
|
||||||
const gchar *gsm;
|
const gchar *gsm;
|
||||||
const gchar *cdma;
|
const gchar *cdma;
|
||||||
|
@ -354,13 +362,13 @@ device_mobile_refresh_operator_name (NetDeviceMobile *device_mobile)
|
||||||
|
|
||||||
if (gsm != NULL && cdma != NULL) {
|
if (gsm != NULL && cdma != NULL) {
|
||||||
g_autofree gchar *both = g_strdup_printf ("%s, %s", gsm, cdma);
|
g_autofree gchar *both = g_strdup_printf ("%s, %s", gsm, cdma);
|
||||||
panel_set_device_widget_details (device_mobile->builder, "provider", both);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), both);
|
||||||
} else if (gsm != NULL) {
|
} else if (gsm != NULL) {
|
||||||
panel_set_device_widget_details (device_mobile->builder, "provider", gsm);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), gsm);
|
||||||
} else if (cdma != NULL) {
|
} else if (cdma != NULL) {
|
||||||
panel_set_device_widget_details (device_mobile->builder, "provider", cdma);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), cdma);
|
||||||
} else {
|
} else {
|
||||||
panel_set_device_widget_details (device_mobile->builder, "provider", NULL);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -351,6 +351,7 @@ nm_device_wifi_refresh_hotspot (NetDeviceWifi *device_wifi)
|
||||||
g_autofree gchar *hotspot_security = NULL;
|
g_autofree gchar *hotspot_security = NULL;
|
||||||
g_autofree gchar *hotspot_ssid = NULL;
|
g_autofree gchar *hotspot_ssid = NULL;
|
||||||
NMDevice *nm_device;
|
NMDevice *nm_device;
|
||||||
|
GtkWidget *heading, *widget;
|
||||||
|
|
||||||
/* refresh hotspot ui */
|
/* refresh hotspot ui */
|
||||||
nm_device = net_device_get_nm_device (NET_DEVICE (device_wifi));
|
nm_device = net_device_get_nm_device (NET_DEVICE (device_wifi));
|
||||||
|
@ -365,18 +366,18 @@ nm_device_wifi_refresh_hotspot (NetDeviceWifi *device_wifi)
|
||||||
g_debug ("Refreshing hotspot labels to name: '%s', security key: '%s', security: '%s'",
|
g_debug ("Refreshing hotspot labels to name: '%s', security key: '%s', security: '%s'",
|
||||||
hotspot_ssid, hotspot_secret, hotspot_security);
|
hotspot_ssid, hotspot_secret, hotspot_security);
|
||||||
|
|
||||||
panel_set_device_widget_details (device_wifi->builder,
|
heading = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_hotspot_network_name"));
|
||||||
"hotspot_network_name",
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "label_hotspot_network_name"));
|
||||||
hotspot_ssid);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), hotspot_ssid);
|
||||||
panel_set_device_widget_details (device_wifi->builder,
|
heading = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_hotspot_security_key"));
|
||||||
"hotspot_security_key",
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "label_hotspot_security_key"));
|
||||||
hotspot_secret);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), hotspot_secret);
|
||||||
panel_set_device_widget_details (device_wifi->builder,
|
heading = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_hotspot_security"));
|
||||||
"hotspot_security",
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "label_hotspot_security"));
|
||||||
hotspot_security);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), hotspot_security);
|
||||||
panel_set_device_widget_details (device_wifi->builder,
|
heading = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_hotspot_connected"));
|
||||||
"hotspot_connected",
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "label_hotspot_connected"));
|
||||||
NULL);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -389,6 +390,7 @@ update_last_used (NetDeviceWifi *device_wifi, NMConnection *connection)
|
||||||
GTimeSpan diff;
|
GTimeSpan diff;
|
||||||
guint64 timestamp;
|
guint64 timestamp;
|
||||||
NMSettingConnection *s_con;
|
NMSettingConnection *s_con;
|
||||||
|
GtkWidget *heading, *widget;
|
||||||
|
|
||||||
s_con = nm_connection_get_setting_connection (connection);
|
s_con = nm_connection_get_setting_connection (connection);
|
||||||
if (s_con == NULL)
|
if (s_con == NULL)
|
||||||
|
@ -411,9 +413,9 @@ update_last_used (NetDeviceWifi *device_wifi, NMConnection *connection)
|
||||||
else
|
else
|
||||||
last_used = g_strdup_printf (ngettext ("%i day ago", "%i days ago", days), days);
|
last_used = g_strdup_printf (ngettext ("%i day ago", "%i days ago", days), days);
|
||||||
out:
|
out:
|
||||||
panel_set_device_widget_details (device_wifi->builder,
|
heading = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_last_used"));
|
||||||
"last_used",
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "label_last_used"));
|
||||||
last_used);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), last_used);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -491,7 +493,7 @@ nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi)
|
||||||
NMAccessPoint *ap;
|
NMAccessPoint *ap;
|
||||||
NMConnection *connection;
|
NMConnection *connection;
|
||||||
GtkWidget *dialog;
|
GtkWidget *dialog;
|
||||||
GtkWidget *widget;
|
GtkWidget *heading, *widget;
|
||||||
g_autofree gchar *status = NULL;
|
g_autofree gchar *status = NULL;
|
||||||
|
|
||||||
if (device_is_hotspot (device_wifi)) {
|
if (device_is_hotspot (device_wifi)) {
|
||||||
|
@ -532,21 +534,22 @@ nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi)
|
||||||
/* Translators: network device speed */
|
/* Translators: network device speed */
|
||||||
speed_text = g_strdup_printf (_("%d Mb/s"), speed);
|
speed_text = g_strdup_printf (_("%d Mb/s"), speed);
|
||||||
}
|
}
|
||||||
panel_set_device_widget_details (device_wifi->builder,
|
heading = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_speed"));
|
||||||
"speed",
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "label_speed"));
|
||||||
speed_text);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), speed_text);
|
||||||
|
|
||||||
/* device MAC */
|
/* device MAC */
|
||||||
str = nm_device_wifi_get_hw_address (NM_DEVICE_WIFI (nm_device));
|
str = nm_device_wifi_get_hw_address (NM_DEVICE_WIFI (nm_device));
|
||||||
panel_set_device_widget_details (device_wifi->builder,
|
heading = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_mac"));
|
||||||
"mac",
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "label_mac"));
|
||||||
str);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), str);
|
||||||
|
|
||||||
/* security */
|
/* security */
|
||||||
if (ap == active_ap && active_ap != NULL)
|
if (ap == active_ap && active_ap != NULL)
|
||||||
security_text = get_ap_security_string (active_ap);
|
security_text = get_ap_security_string (active_ap);
|
||||||
panel_set_device_widget_details (device_wifi->builder,
|
heading = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_security"));
|
||||||
"security",
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "label_security"));
|
||||||
security_text);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), security_text);
|
||||||
|
|
||||||
/* signal strength */
|
/* signal strength */
|
||||||
if (ap != NULL)
|
if (ap != NULL)
|
||||||
|
@ -565,16 +568,18 @@ nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi)
|
||||||
str = C_("Signal strength", "Good");
|
str = C_("Signal strength", "Good");
|
||||||
else
|
else
|
||||||
str = C_("Signal strength", "Excellent");
|
str = C_("Signal strength", "Excellent");
|
||||||
panel_set_device_widget_details (device_wifi->builder,
|
heading = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_strength"));
|
||||||
"strength",
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "label_strength"));
|
||||||
str);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), str);
|
||||||
|
|
||||||
/* device MAC */
|
/* device MAC */
|
||||||
if (ap != active_ap)
|
if (ap != active_ap)
|
||||||
str = NULL;
|
str = NULL;
|
||||||
else
|
else
|
||||||
str = nm_device_wifi_get_hw_address (NM_DEVICE_WIFI (nm_device));
|
str = nm_device_wifi_get_hw_address (NM_DEVICE_WIFI (nm_device));
|
||||||
panel_set_device_widget_details (device_wifi->builder, "mac", str);
|
heading = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_mac"));
|
||||||
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "label_mac"));
|
||||||
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), str);
|
||||||
|
|
||||||
/* set IP entries */
|
/* set IP entries */
|
||||||
if (ap != active_ap)
|
if (ap != active_ap)
|
||||||
|
@ -584,8 +589,11 @@ nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi)
|
||||||
|
|
||||||
if (ap != active_ap && connection)
|
if (ap != active_ap && connection)
|
||||||
update_last_used (device_wifi, connection);
|
update_last_used (device_wifi, connection);
|
||||||
else
|
else {
|
||||||
panel_set_device_widget_details (device_wifi->builder, "last_used", NULL);
|
heading = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_last_used"));
|
||||||
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "label_last_used"));
|
||||||
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), NULL);
|
||||||
|
}
|
||||||
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_status"));
|
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_status"));
|
||||||
status = panel_device_status_to_localized_string (nm_device, NULL);
|
status = panel_device_status_to_localized_string (nm_device, NULL);
|
||||||
|
|
|
@ -315,58 +315,25 @@ panel_device_status_to_localized_string (NMDevice *nm_device,
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
panel_set_device_widget_details (GtkBuilder *builder,
|
panel_set_device_widget_details (GtkLabel *heading,
|
||||||
const gchar *widget_suffix,
|
GtkLabel *widget,
|
||||||
const gchar *value)
|
const gchar *value)
|
||||||
{
|
{
|
||||||
g_autofree gchar *heading_id = NULL;
|
|
||||||
g_autofree gchar *label_id = NULL;
|
|
||||||
GtkWidget *heading;
|
|
||||||
GtkWidget *widget;
|
|
||||||
|
|
||||||
/* hide the row if there is no value */
|
/* hide the row if there is no value */
|
||||||
heading_id = g_strdup_printf ("heading_%s", widget_suffix);
|
|
||||||
label_id = g_strdup_printf ("label_%s", widget_suffix);
|
|
||||||
heading = GTK_WIDGET (gtk_builder_get_object (builder, heading_id));
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (builder, label_id));
|
|
||||||
if (heading == NULL || widget == NULL) {
|
|
||||||
g_critical ("no widgets %s, %s found", heading_id, label_id);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (value == NULL) {
|
if (value == NULL) {
|
||||||
gtk_widget_hide (heading);
|
gtk_widget_hide (GTK_WIDGET (heading));
|
||||||
gtk_widget_hide (widget);
|
gtk_widget_hide (GTK_WIDGET (widget));
|
||||||
} else {
|
} else {
|
||||||
/* there exists a value */
|
/* there exists a value */
|
||||||
gtk_widget_show (heading);
|
gtk_widget_show (GTK_WIDGET (heading));
|
||||||
gtk_widget_show (widget);
|
gtk_widget_show (GTK_WIDGET (widget));
|
||||||
gtk_label_set_label (GTK_LABEL (widget), value);
|
gtk_label_set_label (widget, value);
|
||||||
gtk_label_set_max_width_chars (GTK_LABEL (widget), 50);
|
gtk_label_set_max_width_chars (widget, 50);
|
||||||
gtk_label_set_ellipsize (GTK_LABEL (widget), PANGO_ELLIPSIZE_END);
|
gtk_label_set_ellipsize (widget, PANGO_ELLIPSIZE_END);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
panel_set_device_widget_header (GtkBuilder *builder,
|
|
||||||
const gchar *widget_suffix,
|
|
||||||
const gchar *heading)
|
|
||||||
{
|
|
||||||
g_autofree gchar *label_id = NULL;
|
|
||||||
GtkWidget *widget;
|
|
||||||
|
|
||||||
label_id = g_strdup_printf ("heading_%s", widget_suffix);
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (builder, label_id));
|
|
||||||
if (widget == NULL) {
|
|
||||||
g_critical ("no widget %s found", label_id);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
gtk_label_set_label (GTK_LABEL (widget), heading);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
gchar *
|
gchar *
|
||||||
panel_get_ip4_address_as_string (NMIPConfig *ip4_config, const char *what)
|
panel_get_ip4_address_as_string (NMIPConfig *ip4_config, const char *what)
|
||||||
{
|
{
|
||||||
|
@ -413,12 +380,23 @@ panel_get_ip6_address_as_string (NMIPConfig *ip6_config)
|
||||||
void
|
void
|
||||||
panel_set_device_widgets (GtkBuilder *builder, NMDevice *device)
|
panel_set_device_widgets (GtkBuilder *builder, NMDevice *device)
|
||||||
{
|
{
|
||||||
|
GtkWidget *ipv4_heading, *ipv6_heading, *dns_heading, *route_heading;
|
||||||
|
GtkWidget *ipv4_widget, *ipv6_widget, *dns_widget, *route_widget;
|
||||||
g_autofree gchar *ipv4_text = NULL;
|
g_autofree gchar *ipv4_text = NULL;
|
||||||
g_autofree gchar *ipv6_text = NULL;
|
g_autofree gchar *ipv6_text = NULL;
|
||||||
g_autofree gchar *dns_text = NULL;
|
g_autofree gchar *dns_text = NULL;
|
||||||
g_autofree gchar *route_text = NULL;
|
g_autofree gchar *route_text = NULL;
|
||||||
gboolean has_ip4, has_ip6;
|
gboolean has_ip4, has_ip6;
|
||||||
|
|
||||||
|
ipv4_heading = GTK_WIDGET (gtk_builder_get_object (builder, "heading_ipv4"));
|
||||||
|
ipv4_widget = GTK_WIDGET (gtk_builder_get_object (builder, "label_ipv4"));
|
||||||
|
ipv6_heading = GTK_WIDGET (gtk_builder_get_object (builder, "heading_ipv6"));
|
||||||
|
ipv6_widget = GTK_WIDGET (gtk_builder_get_object (builder, "label_ipv6"));
|
||||||
|
dns_heading = GTK_WIDGET (gtk_builder_get_object (builder, "heading_dns"));
|
||||||
|
dns_widget = GTK_WIDGET (gtk_builder_get_object (builder, "label_dns"));
|
||||||
|
route_heading = GTK_WIDGET (gtk_builder_get_object (builder, "heading_route"));
|
||||||
|
route_widget = GTK_WIDGET (gtk_builder_get_object (builder, "label_route"));
|
||||||
|
|
||||||
if (device != NULL) {
|
if (device != NULL) {
|
||||||
NMIPConfig *ip4_config, *ip6_config;
|
NMIPConfig *ip4_config, *ip6_config;
|
||||||
|
|
||||||
|
@ -433,19 +411,19 @@ panel_set_device_widgets (GtkBuilder *builder, NMDevice *device)
|
||||||
ipv6_text = panel_get_ip6_address_as_string (ip6_config);
|
ipv6_text = panel_get_ip6_address_as_string (ip6_config);
|
||||||
}
|
}
|
||||||
|
|
||||||
panel_set_device_widget_details (builder, "ipv4", ipv4_text);
|
panel_set_device_widget_details (GTK_LABEL (ipv4_heading), GTK_LABEL (ipv4_widget), ipv4_text);
|
||||||
panel_set_device_widget_details (builder, "ipv6", ipv6_text);
|
panel_set_device_widget_details (GTK_LABEL (ipv6_heading), GTK_LABEL (ipv6_widget), ipv6_text);
|
||||||
panel_set_device_widget_details (builder, "dns", dns_text);
|
panel_set_device_widget_details (GTK_LABEL (dns_heading), GTK_LABEL (dns_widget), dns_text);
|
||||||
panel_set_device_widget_details (builder, "route", route_text);
|
panel_set_device_widget_details (GTK_LABEL (route_heading), GTK_LABEL (route_widget), route_text);
|
||||||
|
|
||||||
has_ip4 = ipv4_text != NULL;
|
has_ip4 = ipv4_text != NULL;
|
||||||
has_ip6 = ipv6_text != NULL;
|
has_ip6 = ipv6_text != NULL;
|
||||||
if (has_ip4 && has_ip6) {
|
if (has_ip4 && has_ip6) {
|
||||||
panel_set_device_widget_header (builder, "ipv4", _("IPv4 Address"));
|
gtk_label_set_label (GTK_LABEL (ipv4_heading), _("IPv4 Address"));
|
||||||
panel_set_device_widget_header (builder, "ipv6", _("IPv6 Address"));
|
gtk_label_set_label (GTK_LABEL (ipv6_heading), _("IPv6 Address"));
|
||||||
} else if (has_ip4) {
|
} else if (has_ip4) {
|
||||||
panel_set_device_widget_header (builder, "ipv4", _("IP Address"));
|
gtk_label_set_label (GTK_LABEL (ipv4_heading), _("IP Address"));
|
||||||
} else if (has_ip6) {
|
} else if (has_ip6) {
|
||||||
panel_set_device_widget_header (builder, "ipv6", _("IP Address"));
|
gtk_label_set_label (GTK_LABEL (ipv6_heading), _("IP Address"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,8 +28,8 @@ G_BEGIN_DECLS
|
||||||
|
|
||||||
gchar *panel_device_status_to_localized_string (NMDevice *nm_device,
|
gchar *panel_device_status_to_localized_string (NMDevice *nm_device,
|
||||||
const gchar *speed);
|
const gchar *speed);
|
||||||
gboolean panel_set_device_widget_details (GtkBuilder *builder,
|
gboolean panel_set_device_widget_details (GtkLabel *heading,
|
||||||
const gchar *widget_suffix,
|
GtkLabel *widget,
|
||||||
const gchar *value);
|
const gchar *value);
|
||||||
void panel_set_device_widgets (GtkBuilder *builder,
|
void panel_set_device_widgets (GtkBuilder *builder,
|
||||||
NMDevice *device);
|
NMDevice *device);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue