gpointing-device-settings r109 - trunk/modules
- From: hiikezoe svn gnome org
- To: svn-commits-list gnome org
- Subject: gpointing-device-settings r109 - trunk/modules
- Date: Tue, 3 Mar 2009 06:15:58 +0000 (UTC)
Author: hiikezoe
Date: Tue Mar 3 06:15:58 2009
New Revision: 109
URL: http://svn.gnome.org/viewvc/gpointing-device-settings?rev=109&view=rev
Log:
set widget sensitivity depends on settings.
Modified:
trunk/modules/gpds-touchpad-ui.c
Modified: trunk/modules/gpds-touchpad-ui.c
==============================================================================
--- trunk/modules/gpds-touchpad-ui.c (original)
+++ trunk/modules/gpds-touchpad-ui.c Tue Mar 3 06:15:58 2009
@@ -156,13 +156,12 @@
static void
set_widget_sensitivity (GtkBuilder *builder,
const gchar *widget_id,
- GtkToggleButton *button)
+ gboolean sensitivity)
{
GObject *object;
object = gtk_builder_get_object(builder, widget_id);
- gtk_widget_set_sensitive(GTK_WIDGET(object),
- gtk_toggle_button_get_active(button));
+ gtk_widget_set_sensitive(GTK_WIDGET(object), sensitivity);
}
static void
@@ -194,12 +193,12 @@
gint properties[3];
object = gtk_builder_get_object(builder, "vertical_scrolling");
- set_widget_sensitivity(builder, "vertical_scrolling", GTK_TOGGLE_BUTTON(object));
properties[0] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(object)) ? 1 :0;
+ set_widget_sensitivity(builder, "vertical_scrolling_box", properties[0]);
object = gtk_builder_get_object(builder, "horizontal_scrolling");
- set_widget_sensitivity(builder, "horizontal_scrolling", GTK_TOGGLE_BUTTON(object));
properties[1] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(object)) ? 1 :0;
+ set_widget_sensitivity(builder, "horizontal_scrolling_box", properties[1]);
properties[2] = 0;
@@ -316,9 +315,9 @@
builder = gpds_ui_get_builder(GPDS_UI(user_data));
set_toggle_property(ui->xinput, button, GPDS_TOUCHPAD_CIRCULAR_SCROLLING);
- set_widget_sensitivity(builder, "circular_scroling_box", button);
check = gtk_toggle_button_get_active(button);
+ set_widget_sensitivity(builder, "circular_scrolling_box", check);
gconf_client_set_bool(ui->gconf, GPDS_TOUCHPAD_CIRCULAR_SCROLLING_KEY, check, NULL);
}
@@ -465,6 +464,28 @@
#undef DEFINE_CIRCULAR_SCROLLING_TRIGGER_CALLBACK
static void
+set_sensitivity_depends_on_use_type (GpdsTouchpadUI *ui,
+ GpdsTouchpadUseType use_type)
+{
+ GtkBuilder *builder;
+
+ builder = gpds_ui_get_builder(GPDS_UI(ui));
+
+ switch (use_type) {
+ case GPDS_TOUCHPAD_USE_TYPE_OFF:
+ case GPDS_TOUCHPAD_USE_TYPE_CURSOR_MOVE_ONLY:
+ set_widget_sensitivity(builder, "scrolling_vbox", FALSE);
+ set_widget_sensitivity(builder, "tapping_vbox", FALSE);
+ break;
+ case GPDS_TOUCHPAD_USE_TYPE_NORMAL:
+ set_widget_sensitivity(builder, "scrolling_vbox", TRUE);
+ set_widget_sensitivity(builder, "tapping_vbox", TRUE);
+ default:
+ break;
+ }
+}
+
+static void
set_touchpad_use_type_combo_state (GpdsTouchpadUI *ui,
GpdsTouchpadUseType use_type)
{
@@ -475,6 +496,7 @@
combo = GTK_COMBO_BOX(gtk_builder_get_object(builder, "touchpad_use_type"));
gtk_combo_box_set_active(combo, (gint)use_type);
+ set_sensitivity_depends_on_use_type(ui, use_type);
}
static void
@@ -497,6 +519,7 @@
}
}
gconf_client_set_bool(ui->gconf, GPDS_TOUCHPAD_OFF_KEY, properties[0], NULL);
+ set_sensitivity_depends_on_use_type(ui, properties[0]);
}
static void
@@ -582,7 +605,7 @@
g_free(values);
}
-static void
+static gboolean
set_boolean_property_from_preference (GpdsTouchpadUI *ui,
GpdsTouchpadProperty property,
const gchar *gconf_key_name,
@@ -596,7 +619,7 @@
if (!get_integer_property(ui->xinput, property,
&values, &n_values)) {
- return;
+ return FALSE;
}
dir_exists = gconf_client_dir_exists(ui->gconf, GPDS_TOUCHPAD_GCONF_DIR, NULL);
@@ -607,6 +630,8 @@
object = gtk_builder_get_object(builder, object_name);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(object), enable);
g_free(values);
+
+ return enable;
}
static void
@@ -635,6 +660,7 @@
enable = (values[0] == 1);
object = gtk_builder_get_object(builder, "vertical_scrolling");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(object), enable);
+ set_widget_sensitivity(builder, "vertical_scrolling_box", enable);
if (dir_exists)
enable = gconf_client_get_bool(ui->gconf, GPDS_TOUCHPAD_HORIZONTAL_SCROLLING_KEY, NULL);
@@ -642,6 +668,7 @@
enable = (values[0] == 1);
object = gtk_builder_get_object(builder, "horizontal_scrolling");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(object), enable);
+ set_widget_sensitivity(builder, "horizontal_scrolling_box", enable);
g_free(values);
}
@@ -687,6 +714,21 @@
}
static void
+set_circular_scrolling_property_from_preference (GpdsTouchpadUI *ui,
+ GtkBuilder *builder)
+{
+ gboolean enable;
+
+ enable = set_boolean_property_from_preference(ui,
+ GPDS_TOUCHPAD_CIRCULAR_SCROLLING,
+ GPDS_TOUCHPAD_CIRCULAR_SCROLLING_KEY,
+ builder,
+ "circular_scrolling");
+
+ set_widget_sensitivity(builder, "circular_scrolling_box", enable);
+}
+
+static void
set_circular_scrolling_trigger_property_from_preference (GpdsTouchpadUI *ui,
GtkBuilder *builder)
{
@@ -751,11 +793,7 @@
GPDS_TOUCHPAD_TAP_FAST_TAP_KEY,
builder,
"faster_tapping_check");
- set_boolean_property_from_preference(touchpad_ui,
- GPDS_TOUCHPAD_CIRCULAR_SCROLLING,
- GPDS_TOUCHPAD_CIRCULAR_SCROLLING_KEY,
- builder,
- "circular_scrolling");
+ set_circular_scrolling_property_from_preference(touchpad_ui, builder);
set_edge_scroll_property_from_preference(touchpad_ui, builder);
set_scroll_distance_property_from_preference(touchpad_ui, builder);
set_circular_scrolling_trigger_property_from_preference(touchpad_ui, builder);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]