5
#include "ubuntu-tweak.h"
7
static gchar *powermanager_dir="/apps/gnome-power-manager";
8
static gchar *key_can_hibernate="/apps/gnome-power-manager/can_hibernate";
9
static gchar *key_can_suspend="/apps/gnome-power-manager/can_suspend";
10
static gchar *key_show_cpufreq_ui="/apps/gnome-power-manager/show_cpufreq_ui";
11
static gchar *key_cpufreq_ac_policy="/apps/gnome-power-manager/cpufreq_ac_policy";
12
static gchar *key_cpufreq_battery_policy="/apps/gnome-power-manager/cpufreq_battery_policy";
13
static gchar *key_display_icon_policy="/apps/gnome-power-manager/display_icon_policy";
15
void powermanager_changed(GtkWidget *widget,gpointer data)
20
client=gconf_client_get_default();
21
str=gtk_combo_box_get_active_text(GTK_COMBO_BOX(widget));
22
if(!strcmp(str,"On Demand")){
23
gconf_client_set_string(client,
28
else if(!strcmp(str,"Power Save")){
29
gconf_client_set_string(client,
34
else if(!strcmp(str,"Performance")){
35
gconf_client_set_string(client,
40
else if(!strcmp(str,"Never display")){
41
gconf_client_set_string(client,
46
else if(!strcmp(str,"Only when using battery charge")){
47
gconf_client_set_string(client,
52
else if(!strcmp(str,"Always display")){
53
gconf_client_set_string(client,
61
GtkWidget *create_powermanager_page()
67
GtkWidget *checkbutton;
71
client=gconf_client_get_default();
73
main_vbox=gtk_vbox_new(FALSE,5);
74
gtk_widget_show(main_vbox);
75
gtk_container_set_border_width(GTK_CONTAINER(main_vbox),5);
77
label=gtk_label_new(NULL);
78
gtk_label_set_markup(GTK_LABEL(label),_("<b>Advanced Power Management Settings</b>"));
79
gtk_misc_set_alignment(GTK_MISC(label),0,0);
80
gtk_widget_show(label);
81
gtk_box_pack_start(GTK_BOX(main_vbox),label,FALSE,FALSE,0);
83
hbox=gtk_hbox_new(FALSE,5);
84
gtk_widget_show(hbox);
85
gtk_box_pack_start(GTK_BOX(main_vbox),hbox,FALSE,FALSE,0);
87
label=gtk_label_new(" ");
88
gtk_widget_show(label);
89
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
91
vbox=gtk_vbox_new(FALSE,5);
92
gtk_widget_show(vbox);
93
gtk_box_pack_start(GTK_BOX(hbox),vbox,FALSE,FALSE,0);
95
checkbutton=ut_checkbutton_new_with_gconf(_("Enable Hibernation"),key_can_hibernate,powermanager_dir,ut_checkbutton_toggled,NULL);
96
gtk_widget_show(checkbutton);
97
gtk_box_pack_start(GTK_BOX(vbox),checkbutton,FALSE,FALSE,0);
99
checkbutton=ut_checkbutton_new_with_gconf(_("Enable Suspend"),key_can_suspend,powermanager_dir,ut_checkbutton_toggled,NULL);
100
gtk_widget_show(checkbutton);
101
gtk_box_pack_start(GTK_BOX(vbox),checkbutton,FALSE,FALSE,0);
103
checkbutton=ut_checkbutton_new_with_gconf(_("Show CPU frequency option in \"System - Preferences - Power Management\""),key_show_cpufreq_ui,powermanager_dir,ut_checkbutton_toggled,NULL);
104
gtk_widget_show(checkbutton);
105
gtk_box_pack_start(GTK_BOX(vbox),checkbutton,FALSE,FALSE,0);
109
hbox=gtk_hbox_new(FALSE,10);
110
gtk_widget_show(hbox);
111
gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,FALSE,0);
113
label=gtk_label_new(_("\"Notification Area\" Power Management icon"));
114
gtk_widget_show(label);
115
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
117
combobox=gtk_combo_box_new_text();
118
gtk_widget_show(combobox);
119
gtk_box_pack_end(GTK_BOX(hbox),combobox,FALSE,FALSE,0);
121
g_signal_connect(G_OBJECT(combobox),"changed",G_CALLBACK(powermanager_changed),key_display_icon_policy);
123
gtk_combo_box_append_text(GTK_COMBO_BOX(combobox),_("Never display"));
124
gtk_combo_box_append_text(GTK_COMBO_BOX(combobox),_("Only when using battery charge"));
125
gtk_combo_box_append_text(GTK_COMBO_BOX(combobox),_("Always display"));
127
if(!g_ascii_strncasecmp(gconf_client_get_string(client,key_display_icon_policy,NULL),"never",5)){
128
gtk_combo_box_set_active(GTK_COMBO_BOX(combobox),0);
130
else if(!g_ascii_strncasecmp(gconf_client_get_string(client,key_display_icon_policy,NULL),"charge",6)){
131
gtk_combo_box_set_active(GTK_COMBO_BOX(combobox),1);
133
else if(!g_ascii_strncasecmp(gconf_client_get_string(client,key_display_icon_policy,NULL),"always",6)){
134
gtk_combo_box_set_active(GTK_COMBO_BOX(combobox),2);
138
hbox=gtk_hbox_new(FALSE,10);
139
gtk_widget_show(hbox);
140
gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,FALSE,0);
142
label=gtk_label_new(_("When using AC power, CPU frequency policy is:"));
143
gtk_widget_show(label);
144
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
146
combobox=gtk_combo_box_new_text();
147
gtk_widget_show(combobox);
148
gtk_box_pack_end(GTK_BOX(hbox),combobox,FALSE,FALSE,0);
150
g_signal_connect(G_OBJECT(combobox),"changed",G_CALLBACK(powermanager_changed),key_cpufreq_ac_policy);
152
gtk_combo_box_append_text(GTK_COMBO_BOX(combobox),_("On Demand"));
153
gtk_combo_box_append_text(GTK_COMBO_BOX(combobox),_("Power Save"));
154
gtk_combo_box_append_text(GTK_COMBO_BOX(combobox),_("Performance"));
156
if(!g_ascii_strncasecmp(gconf_client_get_string(client,key_cpufreq_ac_policy,NULL),"ondemand",8)){
157
gtk_combo_box_set_active(GTK_COMBO_BOX(combobox),0);
159
else if(!g_ascii_strncasecmp(gconf_client_get_string(client,key_cpufreq_ac_policy,NULL),"powersave",9)){
160
gtk_combo_box_set_active(GTK_COMBO_BOX(combobox),1);
162
else if(!g_ascii_strncasecmp(gconf_client_get_string(client,key_cpufreq_ac_policy,NULL),"performance",9)){
163
gtk_combo_box_set_active(GTK_COMBO_BOX(combobox),2);
167
hbox=gtk_hbox_new(FALSE,10);
168
gtk_widget_show(hbox);
169
gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,FALSE,0);
171
label=gtk_label_new(_("When using Battery power, CPU frequency policy is:"));
172
gtk_widget_show(label);
173
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
175
combobox=gtk_combo_box_new_text();
176
gtk_widget_show(combobox);
177
gtk_box_pack_end(GTK_BOX(hbox),combobox,FALSE,FALSE,0);
179
g_signal_connect(G_OBJECT(combobox),"changed",G_CALLBACK(powermanager_changed),key_cpufreq_battery_policy);
181
gtk_combo_box_append_text(GTK_COMBO_BOX(combobox),_("On Demand"));
182
gtk_combo_box_append_text(GTK_COMBO_BOX(combobox),_("Power Save"));
183
gtk_combo_box_append_text(GTK_COMBO_BOX(combobox),_("Performance"));
185
if(!g_ascii_strncasecmp(gconf_client_get_string(client,key_cpufreq_battery_policy,NULL),"ondemand",8)){
186
gtk_combo_box_set_active(GTK_COMBO_BOX(combobox),0);
188
else if(!g_ascii_strncasecmp(gconf_client_get_string(client,key_cpufreq_battery_policy,NULL),"powersave",9)){
189
gtk_combo_box_set_active(GTK_COMBO_BOX(combobox),1);
191
else if(!g_ascii_strncasecmp(gconf_client_get_string(client,key_cpufreq_battery_policy,NULL),"performance",9)){
192
gtk_combo_box_set_active(GTK_COMBO_BOX(combobox),2);
195
expander_powermanager=gtk_expander_new_with_mnemonic(_("Need some help? Click here!"));
196
gtk_widget_show(expander_powermanager);
197
g_signal_connect(G_OBJECT(expander_powermanager),"activate",G_CALLBACK(expander_change_powermanager),NULL);
198
gtk_box_pack_end(GTK_BOX(main_vbox),expander_powermanager,FALSE,FALSE,0);
200
expert_box_powermanager=gtk_vbox_new(FALSE,0);
201
gtk_widget_set_size_request(GTK_WIDGET(expert_box_powermanager),200,100);
202
gtk_widget_show(expert_box_powermanager);
203
gtk_container_add(GTK_CONTAINER(expander_powermanager),expert_box_powermanager);*/