Index: gnome-control-center-3.32.1/panels/network/cc-network-panel.c
===================================================================
--- gnome-control-center-3.32.1.orig/panels/network/cc-network-panel.c
+++ gnome-control-center-3.32.1/panels/network/cc-network-panel.c
@@ -775,10 +775,24 @@ panel_check_network_manager_version (CcN
GtkWidget *label;
gchar *markup;
const gchar *version;
+ const gchar *state;
+ GDBusConnection *connection;
+ GDBusProxy *proxy;
+ GVariant *variant;
+
+ connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
+ proxy = g_dbus_proxy_new_sync (connection, G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1/unit/wickedd_2ddhcp6_2eservice",
+ "org.freedesktop.systemd1.Unit",
+ NULL, NULL);
+ variant = g_dbus_proxy_get_cached_property (proxy, "ActiveState");
+ state = g_variant_get_string (variant, NULL);
/* parse running version */
version = nm_client_get_version (panel->client);
- if (version == NULL) {
+ if (version == NULL && g_strcmp0 (state, "inactive") == 0) {
gtk_container_remove (GTK_CONTAINER (panel), gtk_bin_get_child (GTK_BIN (panel)));
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20);
@@ -801,9 +815,27 @@ panel_check_network_manager_version (CcN
gtk_widget_show_all (box);
g_free (markup);
+ } else if (version == NULL && g_strcmp0 (state, "active") == 0) {
+ gtk_container_remove (GTK_CONTAINER (panel), gtk_bin_get_child (GTK_BIN (panel)));
+
+ box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20);
+ gtk_box_set_homogeneous (GTK_BOX (box), TRUE);
+ gtk_widget_set_vexpand (box, TRUE);
+ gtk_container_add (GTK_CONTAINER (panel), box);
+
+ label = gtk_label_new (_("Please use YaST2 to configure your network."));
+ gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
+ gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0);
+
+ gtk_widget_show_all (box);
} else {
manager_running (panel->client, NULL, panel);
}
+
+ g_object_unref (connection);
+ g_object_unref (proxy);
+ g_variant_unref (variant);
}
static void
Index: gnome-control-center-3.32.1/panels/network/cc-wifi-panel.c
===================================================================
--- gnome-control-center-3.32.1.orig/panels/network/cc-wifi-panel.c
+++ gnome-control-center-3.32.1/panels/network/cc-wifi-panel.c
@@ -183,21 +183,41 @@ static void
check_main_stack_page (CcWifiPanel *self)
{
const gchar *nm_version;
+ const gchar *state;
gboolean airplane_mode_active;
gboolean wireless_enabled;
+ GDBusConnection *connection;
+ GDBusProxy *proxy;
+ GVariant *variant;
+
+ connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
+ proxy = g_dbus_proxy_new_sync (connection, G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1/unit/wickedd_2ddhcp6_2eservice",
+ "org.freedesktop.systemd1.Unit",
+ NULL, NULL);
+ variant = g_dbus_proxy_get_cached_property (proxy, "ActiveState");
+ state = g_variant_get_string (variant, NULL);
nm_version = nm_client_get_version (self->client);
wireless_enabled = nm_client_wireless_get_enabled (self->client);
airplane_mode_active = gtk_switch_get_active (self->rfkill_switch);
- if (!nm_version)
+ if (!nm_version && g_strcmp0 (state, "inactive") == 0)
gtk_stack_set_visible_child_name (self->main_stack, "nm-not-running");
+ else if (!nm_version && g_strcmp0 (state, "active") == 0)
+ gtk_stack_set_visible_child_name (self->main_stack, "wicked-running");
else if (!wireless_enabled && airplane_mode_active)
gtk_stack_set_visible_child_name (self->main_stack, "airplane-mode");
else if (!wireless_enabled || self->devices->len == 0)
gtk_stack_set_visible_child_name (self->main_stack, "no-wifi-devices");
else
gtk_stack_set_visible_child_name (self->main_stack, "wifi-connections");
+
+ g_object_unref (connection);
+ g_object_unref (proxy);
+ g_variant_unref (variant);
}
static void
Index: gnome-control-center-3.32.1/panels/network/cc-wifi-panel.ui
===================================================================
--- gnome-control-center-3.32.1.orig/panels/network/cc-wifi-panel.ui
+++ gnome-control-center-3.32.1/panels/network/cc-wifi-panel.ui
@@ -315,6 +315,48 @@
nm-not-running
+
+
+
+
+
+ wicked-running
+
+
Index: gnome-control-center-3.32.1/tests/meson.build
===================================================================
--- gnome-control-center-3.32.1.orig/tests/meson.build
+++ gnome-control-center-3.32.1/tests/meson.build
@@ -1,8 +1,11 @@
subdir('common')
subdir('datetime')
+# Disable tests for network panel, boo#1128195
+if false
if host_is_linux
subdir('network')
endif
+endif
subdir('interactive-panels')