File gnome-control-center-disable-error-message-for-NM.patch of Package gnome-control-center.9274

Index: gnome-control-center-3.26.1/panels/network/cc-network-panel.c
===================================================================
--- gnome-control-center-3.26.1.orig/panels/network/cc-network-panel.c
+++ gnome-control-center-3.26.1/panels/network/cc-network-panel.c
@@ -765,10 +765,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);
@@ -791,9 +805,27 @@ panel_check_network_manager_version (CcN
 
                 gtk_widget_show_all (box);
                 g_free (markup);
+        } else if (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.26.1/panels/network/cc-wifi-panel.c
===================================================================
--- gnome-control-center-3.26.1.orig/panels/network/cc-wifi-panel.c
+++ gnome-control-center-3.26.1/panels/network/cc-wifi-panel.c
@@ -120,16 +120,35 @@ static void
 check_main_stack_page (CcWifiPanel *self)
 {
   const gchar *nm_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);
 
   nm_version = nm_client_get_version (self->client);
 
-  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 (g_strcmp0 (state, "active") == 0)
+    gtk_stack_set_visible_child_name (self->main_stack, "wicked-running");
   else if (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.26.1/panels/network/wifi.ui
===================================================================
--- gnome-control-center-3.26.1.orig/panels/network/wifi.ui
+++ gnome-control-center-3.26.1/panels/network/wifi.ui
@@ -298,6 +298,48 @@
             <property name="name">nm-not-running</property>
           </packing>
         </child>
+
+        <!-- "Wicked Running" page -->
+        <child>
+          <object class="GtkBox">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="expand">True</property>
+            <property name="halign">center</property>
+            <property name="valign">center</property>
+            <property name="orientation">vertical</property>
+            <property name="margin">18</property>
+            <property name="spacing">18</property>
+            <child type="center">
+              <object class="GtkImage">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="icon_name">face-sad-symbolic</property>
+                <property name="pixel_size">128</property>
+                <style>
+                  <class name="dim-label" />
+                </style>
+              </object>
+            </child>
+            <child>
+              <object class="GtkLabel">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="wrap">True</property>
+                <property name="label" translatable="yes">Please use YaST2 to configure your network.</property>
+                <attributes>
+                  <attribute name="scale" value="1.42" />
+                </attributes>
+              </object>
+              <packing>
+                <property name="pack-type">end</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="name">wicked-running</property>
+          </packing>
+        </child>
       </object>
     </child>
   </template>
openSUSE Build Service is sponsored by