Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
No build reason found for images:local
home:lafenghu
gnome-power-manager
gnome-power-manager-schedule-wakeups.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gnome-power-manager-schedule-wakeups.patch of Package gnome-power-manager
diff --git a/data/gpm-prefs.glade b/data/gpm-prefs.glade index d3d9629..340e45b 100644 --- a/data/gpm-prefs.glade +++ b/data/gpm-prefs.glade @@ -1072,6 +1072,423 @@ <property name="tab_fill">False</property> </packing> </child> + <child> + <widget class="GtkVBox" id="vbox_scheduling"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkVBox" id="vbox97"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkLabel" id="label127"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Automatic Wakeup</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</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> + + <child> + <widget class="GtkAlignment" id="alignment52"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkVBox" id="vbox98"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkCheckButton" id="checkbutton_scheduling_wakeup"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Automatically wake up from suspend or hibernate at a given time</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox22"> + <property name="visible">True</property> + <property name="homogeneous">True</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label_scheduling_wakeup_at"> + <property name="visible">True</property> + <property name="label" translatable="yes">Wake up at:</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</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">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox24"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkSpinButton" id="spinbutton_scheduling_wakeup_hour"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">True</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">True</property> + <property name="adjustment">6 0 23 1 10 10</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="label131"> + <property name="visible">True</property> + <property name="label" translatable="yes">:</property> + <property name="use_underline">False</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> + + <child> + <widget class="GtkSpinButton" id="spinbutton_scheduling_wakeup_minute"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">True</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">True</property> + <property name="adjustment">0 0 59 1 10 10</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox23"> + <property name="visible">True</property> + <property name="homogeneous">True</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label_scheduling_wakeup_on"> + <property name="visible">True</property> + <property name="label" translatable="yes">Wake up on these days:</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</property> + <property name="yalign">0</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">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox101"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkCheckButton" id="checkbutton_scheduling_wakeup_1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Monday</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="checkbutton_scheduling_wakeup_2"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Tuesday</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="checkbutton_scheduling_wakeup_3"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Wednesday</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="checkbutton_scheduling_wakeup_4"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Thursday</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="checkbutton_scheduling_wakeup_5"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Friday</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="checkbutton_scheduling_wakeup_6"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Saturday</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="checkbutton_scheduling_wakeup_7"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Sunday</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_tab_scheduling"> + <property name="visible">True</property> + <property name="label" translatable="yes">Scheduling</property> + <property name="use_underline">False</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="type">tab</property> + </packing> + </child> </widget> <packing> <property name="fill">False</property> diff --git a/src/gpm-conf.h b/src/gpm-conf.h index 66b3729..83d4b02 100644 --- a/src/gpm-conf.h +++ b/src/gpm-conf.h @@ -86,6 +86,18 @@ G_BEGIN_DECLS #define GPM_CONF_POLICY_TIMEOUT GPM_CONF_DIR "/general/policy_suppression_timeout" #define GPM_CONF_IGNORE_INHIBITS GPM_CONF_DIR "/general/ignore_inhibit_requests" +/* scheduling */ +#define GPM_CONF_SCHEDULING_WAKEUP GPM_CONF_DIR "/scheduling/wakeup" +#define GPM_CONF_SCHEDULING_WAKEUP_HOUR GPM_CONF_DIR "/scheduling/wakeup_hour" +#define GPM_CONF_SCHEDULING_WAKEUP_MINUTE GPM_CONF_DIR "/scheduling/wakeup_minute" +#define GPM_CONF_SCHEDULING_WAKEUP_DAY1 GPM_CONF_DIR "/scheduling/wakeup_on_monday" +#define GPM_CONF_SCHEDULING_WAKEUP_DAY2 GPM_CONF_DIR "/scheduling/wakeup_on_tuesday" +#define GPM_CONF_SCHEDULING_WAKEUP_DAY3 GPM_CONF_DIR "/scheduling/wakeup_on_wednesday" +#define GPM_CONF_SCHEDULING_WAKEUP_DAY4 GPM_CONF_DIR "/scheduling/wakeup_on_thursday" +#define GPM_CONF_SCHEDULING_WAKEUP_DAY5 GPM_CONF_DIR "/scheduling/wakeup_on_friday" +#define GPM_CONF_SCHEDULING_WAKEUP_DAY6 GPM_CONF_DIR "/scheduling/wakeup_on_saturday" +#define GPM_CONF_SCHEDULING_WAKEUP_DAY7 GPM_CONF_DIR "/scheduling/wakeup_on_sunday" + /* keyboard */ #define GPM_CONF_KEYBOARD_BRIGHTNESS_AC GPM_CONF_DIR "/keyboard/brightness_ac" #define GPM_CONF_KEYBOARD_BRIGHTNESS_BATT GPM_CONF_DIR "/keyboard/brightness_battery" diff --git a/src/gpm-control.c b/src/gpm-control.c index f3577b6..45fbf3c 100644 --- a/src/gpm-control.c +++ b/src/gpm-control.c @@ -394,10 +394,84 @@ gpm_control_get_lock_policy (GpmControl *control, return do_lock; } +/** + * gpm_control_get_wakeup: + * @control: This class instance + * + * This function calculates, based on the user's preferences, when we should + * wakeup from suspend. + * + * Return value: the number of seconds to sleep + **/ +guint +gpm_control_get_wakeup (GpmConf *conf) +{ + guint wakeup = 0; + gint seconds_from_now; + gboolean enable_wakeup; + gint hh, mm; + gboolean alarm_days[7]; + time_t now_t; + time_t alarm_t; + struct tm * now_tm; + struct tm * alarm_tm; + guint i = 0; + + gpm_conf_get_bool (conf, GPM_CONF_SCHEDULING_WAKEUP, &enable_wakeup); + if (!enable_wakeup) { + return 0; + } + + gpm_conf_get_int (conf, GPM_CONF_SCHEDULING_WAKEUP_HOUR, &hh); + gpm_conf_get_int (conf, GPM_CONF_SCHEDULING_WAKEUP_MINUTE, &mm); + + // Put Sunday first in the array to interface w/ struct tm.tm_wday + gpm_conf_get_bool (conf, GPM_CONF_SCHEDULING_WAKEUP_DAY7, &alarm_days[0]); + gpm_conf_get_bool (conf, GPM_CONF_SCHEDULING_WAKEUP_DAY1, &alarm_days[1]); + gpm_conf_get_bool (conf, GPM_CONF_SCHEDULING_WAKEUP_DAY2, &alarm_days[2]); + gpm_conf_get_bool (conf, GPM_CONF_SCHEDULING_WAKEUP_DAY3, &alarm_days[3]); + gpm_conf_get_bool (conf, GPM_CONF_SCHEDULING_WAKEUP_DAY4, &alarm_days[4]); + gpm_conf_get_bool (conf, GPM_CONF_SCHEDULING_WAKEUP_DAY5, &alarm_days[5]); + gpm_conf_get_bool (conf, GPM_CONF_SCHEDULING_WAKEUP_DAY6, &alarm_days[6]); + + time (&now_t); + now_tm = localtime (&now_t); + alarm_tm = localtime (&now_t); + + // The first alarm time to try is today at the given hour/minute + alarm_tm->tm_hour = hh; + alarm_tm->tm_min = mm; + alarm_tm->tm_sec = 0; + alarm_t = mktime (alarm_tm); + + // The next alarm has to be at most 7 days from now + for (i = 0; i < 8; i++) { + alarm_tm = localtime (&alarm_t); + + // Check that this day is an alarm-enabled day of the week + if (alarm_days[alarm_tm->tm_wday]) { + // Ensure the alarm time is more than 15 minutes from now + // - otherwise we set the alarm for the next slot + // 900 seconds = 15 minutes * 60 seconds/minute + seconds_from_now = alarm_t - now_t; + if (seconds_from_now > 900) { + wakeup = (guint)seconds_from_now; + break; + } + } + + // Add a day to try the date after + alarm_t += 3600 * 24; + } + + return wakeup; +} + gboolean gpm_control_suspend (GpmControl *control, GError **error) { + guint wakeup; gboolean allowed; gboolean ret; gboolean do_lock; @@ -438,11 +512,15 @@ gpm_control_suspend (GpmControl *control, gpm_networkmanager_sleep (); } + /* calculate when to wakeup */ + wakeup = gpm_control_get_wakeup (control->priv->conf); + //printf ("going to wake up in %i seconds\n", wakeup); + /* Do the suspend */ egg_debug ("emitting sleep"); g_signal_emit (control, signals [SLEEP], 0, GPM_CONTROL_ACTION_SUSPEND); - ret = hal_gpower_suspend (control->priv->hal_power, 0, error); + ret = hal_gpower_suspend (control->priv->hal_power, wakeup, error); if (!ret) { gpm_control_convert_hal_error (control, error); } diff --git a/src/gpm-prefs-core.c b/src/gpm-prefs-core.c index 9422ea4..25d3dfb 100644 --- a/src/gpm-prefs-core.c +++ b/src/gpm-prefs-core.c @@ -390,6 +390,79 @@ gpm_prefs_brightness_slider_changed_cb (GtkRange *range, } /** + * gpm_prefs_spinbutton_changed_cb: + * @spinbutton: The GtkSpinButton object + * @gpm_pref_key: The GConf key for this preference setting. + **/ +static void +gpm_prefs_spinbutton_changed_cb (GtkSpinButton *spinbutton, + GpmPrefs *prefs) +{ + gint value; + gchar *gpm_pref_key; + + value = gtk_spin_button_get_value_as_int (spinbutton); + gpm_pref_key = (char *) g_object_get_data (G_OBJECT (spinbutton), "conf_key"); + + g_object_set_data (G_OBJECT (spinbutton), "conf_key", (gpointer) gpm_pref_key); + egg_debug ("Changing %s to %i", gpm_pref_key, (int) value); + gpm_conf_set_int (prefs->priv->conf, gpm_pref_key, (gint) value); +} + +/** + * gpm_prefs_spinbutton_output_cb: + * @spinbutton: The GtkSpinButton object + * @gpm_pref_key: The GConf key for this preference setting. + **/ +static void +gpm_prefs_spinbutton_output_cb (GtkSpinButton *spinbutton, + GpmPrefs *prefs) +{ + gint value; + gchar* text = NULL; + + value = gtk_spin_button_get_value_as_int (spinbutton); + text = g_strdup_printf ("%02i", value); + gtk_entry_set_text (GTK_ENTRY(spinbutton), text); + + g_free (text); +} + + +/** + * gpm_prefs_setup_spinbutton: + * @prefs: This prefs class instance + * @widget_name: The GtkWidget name + * @gpm_pref_key: The GConf key for this preference setting. + **/ +static GtkWidget * +gpm_prefs_setup_spinbutton (GpmPrefs *prefs, + const gchar *widget_name, + const gchar *gpm_pref_key) +{ + GtkWidget *widget; + gint value; + gboolean is_writable; + + widget = glade_xml_get_widget (prefs->priv->glade_xml, widget_name); + + gpm_conf_get_int (prefs->priv->conf, gpm_pref_key, &value); + gpm_conf_is_writable (prefs->priv->conf, gpm_pref_key, &is_writable); + + gtk_widget_set_sensitive (widget, is_writable); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), (gdouble)value); + + g_object_set_data (G_OBJECT (widget), "conf_key", (gpointer) gpm_pref_key); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (gpm_prefs_spinbutton_changed_cb), prefs); + g_signal_connect (G_OBJECT (widget), "output", + G_CALLBACK (gpm_prefs_spinbutton_output_cb), prefs); + + return widget; +} + +/** * gpm_prefs_setup_brightness_slider: * @prefs: This prefs class instance * @widget_name: The GtkWidget name @@ -542,6 +615,35 @@ gpm_prefs_setup_action_combo (GpmPrefs *prefs, } /** + * gpm_prefs_wakeup_changed_cb + * @widget: The GtkWidget object + * @prefs: the GpmPrefs + **/ +static void +gpm_prefs_wakeup_changed_cb (GtkWidget *widget, + GpmPrefs *prefs) +{ + gboolean checked; + GtkWidget * dep_widget; + gint i; + gchar * dep_widgets[] = { + "label_scheduling_wakeup_at", "label_scheduling_wakeup_on", + "spinbutton_scheduling_wakeup_hour", "spinbutton_scheduling_wakeup_minute", + "checkbutton_scheduling_wakeup_1", "checkbutton_scheduling_wakeup_2", + "checkbutton_scheduling_wakeup_3", "checkbutton_scheduling_wakeup_4", + "checkbutton_scheduling_wakeup_5", "checkbutton_scheduling_wakeup_6", + "checkbutton_scheduling_wakeup_7", + }; + + checked = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); + + for (i = 0; i < 11; i++) { + dep_widget = glade_xml_get_widget (prefs->priv->glade_xml, dep_widgets[i]); + gtk_widget_set_sensitive (dep_widget, checked); + } +} + +/** * gpm_prefs_checkbox_lock_cb: * @widget: The GtkWidget object * @gpm_pref_key: The GConf key for this preference setting. @@ -896,6 +998,38 @@ prefs_setup_battery (GpmPrefs *prefs) } static void +prefs_setup_scheduling (GpmPrefs *prefs) +{ + GtkWidget * enabled; + + enabled = gpm_prefs_setup_checkbox (prefs, "checkbutton_scheduling_wakeup", + GPM_CONF_SCHEDULING_WAKEUP); + + gpm_prefs_setup_spinbutton (prefs, "spinbutton_scheduling_wakeup_hour", + GPM_CONF_SCHEDULING_WAKEUP_HOUR); + gpm_prefs_setup_spinbutton (prefs, "spinbutton_scheduling_wakeup_minute", + GPM_CONF_SCHEDULING_WAKEUP_MINUTE); + + gpm_prefs_setup_checkbox (prefs, "checkbutton_scheduling_wakeup_1", + GPM_CONF_SCHEDULING_WAKEUP_DAY1); + gpm_prefs_setup_checkbox (prefs, "checkbutton_scheduling_wakeup_2", + GPM_CONF_SCHEDULING_WAKEUP_DAY2); + gpm_prefs_setup_checkbox (prefs, "checkbutton_scheduling_wakeup_3", + GPM_CONF_SCHEDULING_WAKEUP_DAY3); + gpm_prefs_setup_checkbox (prefs, "checkbutton_scheduling_wakeup_4", + GPM_CONF_SCHEDULING_WAKEUP_DAY4); + gpm_prefs_setup_checkbox (prefs, "checkbutton_scheduling_wakeup_5", + GPM_CONF_SCHEDULING_WAKEUP_DAY5); + gpm_prefs_setup_checkbox (prefs, "checkbutton_scheduling_wakeup_6", + GPM_CONF_SCHEDULING_WAKEUP_DAY6); + gpm_prefs_setup_checkbox (prefs, "checkbutton_scheduling_wakeup_7", + GPM_CONF_SCHEDULING_WAKEUP_DAY7); + + g_signal_connect (enabled, "clicked", G_CALLBACK (gpm_prefs_wakeup_changed_cb), prefs); + gpm_prefs_wakeup_changed_cb (enabled, prefs); +} + +static void prefs_setup_ups (GpmPrefs *prefs) { GtkWidget *widget; @@ -1127,6 +1261,7 @@ gpm_prefs_init (GpmPrefs *prefs) prefs_setup_ac (prefs); prefs_setup_battery (prefs); + prefs_setup_scheduling (prefs); prefs_setup_ups (prefs); prefs_setup_general (prefs); prefs_setup_notification (prefs);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor