File gnome-power-manager-yast-settings.patch of Package gnome-power-manager

--- data/gpm-prefs.glade
+++ data/gpm-prefs.glade
@@ -1611,6 +1611,84 @@
 		  <property name="fill">False</property>
 		</packing>
 	      </child>
+
+	      <child>
+		<widget class="GtkButton" id="button_system_settings">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+
+		  <child>
+		    <widget class="GtkAlignment" id="alignment21">
+		      <property name="visible">True</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">0</property>
+		      <property name="yscale">0</property>
+		      <property name="top_padding">0</property>
+		      <property name="bottom_padding">0</property>
+		      <property name="left_padding">0</property>
+		      <property name="right_padding">0</property>
+
+		      <child>
+			<widget class="GtkHBox" id="hbox1">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">2</property>
+
+			  <child>
+			    <widget class="GtkImage" id="image1">
+			      <property name="visible">True</property>
+			      <property name="stock">gtk-properties</property>
+			      <property name="icon_size">4</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label30">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">System settings</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
 	    </widget>
 	    <packing>
 	      <property name="tab_expand">False</property>
--- src/gpm-prefs-core.c
+++ src/gpm-prefs-core.c
@@ -514,6 +514,28 @@
 	gconf_client_set_bool (prefs->priv->gconf_client, gpm_pref_key, checked, NULL);
 }
 
+static void
+gpm_system_settings_cb (GtkButton *button, gpointer user_data)
+{
+	GError *error = NULL;
+
+	if (!g_spawn_command_line_async ("gnomesu /sbin/yast2 power-management", &error)) {
+		GtkWidget *dialog;
+
+		dialog = gtk_message_dialog_new_with_markup (NULL,
+							     GTK_DIALOG_MODAL,
+							     GTK_MESSAGE_ERROR,
+							     GTK_BUTTONS_CLOSE,
+							     "<span size='larger'><b>%s</b></span>",
+							     GPM_NAME);
+		gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG (dialog), error->message);
+		gtk_dialog_run (GTK_DIALOG (dialog));
+
+		gtk_widget_destroy (dialog);
+		g_error_free (error);
+	}
+}
+
 /**
  * gpm_prefs_setup_checkbox:
  * @prefs: This prefs class instance
@@ -1015,6 +1037,11 @@
 		gtk_notebook_remove_page (GTK_NOTEBOOK (notebook), page);
 	}
 
+	/* setup system settings button */
+	widget = glade_xml_get_widget (prefs->priv->glade_xml, "button_system_settings");
+	g_signal_connect (G_OBJECT (widget), "clicked",
+			  G_CALLBACK (gpm_system_settings_cb), NULL);
+
 	gtk_widget_show (main_window);
 }
 
openSUSE Build Service is sponsored by