+/* accelerators tab */
+static void config_tab_accelerators(GtkWidget *notebook)
+{
+ GtkWidget *hbox;
+ GtkWidget *vbox;
+ GtkWidget *group;
+ GtkWidget *button;
+ GtkWidget *scrolled;
+ GtkWidget *accel_view;
+ GtkCellRenderer *renderer;
+ GtkTreeSelection *selection;
+ GtkTreeViewColumn *column;
+
+ vbox = scrolled_notebook_page(notebook, _("Keyboard"));
+
+ group = pref_group_new(vbox, TRUE, _("Accelerators"), GTK_ORIENTATION_VERTICAL);
+
+ scrolled = gtk_scrolled_window_new(NULL, NULL);
+ gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
+ gtk_box_pack_start(GTK_BOX(group), scrolled, TRUE, TRUE, 0);
+ gtk_widget_show(scrolled);
+
+ accel_store = gtk_tree_store_new(4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
+
+ accel_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(accel_store));
+ g_object_unref(accel_store);
+ selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(accel_view));
+ gtk_tree_selection_set_mode(GTK_TREE_SELECTION(selection), GTK_SELECTION_MULTIPLE);
+
+ gtk_tree_view_set_enable_search(GTK_TREE_VIEW(accel_view), FALSE);
+
+ renderer = gtk_cell_renderer_text_new();
+
+ column = gtk_tree_view_column_new_with_attributes(_("Action"),
+ renderer,
+ "text", AE_ACTION,
+ NULL);
+
+ gtk_tree_view_column_set_sort_column_id(column, AE_ACTION);
+ gtk_tree_view_column_set_resizable(column, TRUE);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(accel_view), column);
+
+
+ renderer = gtk_cell_renderer_accel_new();
+ g_signal_connect(G_OBJECT(renderer), "accel-cleared",
+ G_CALLBACK(accel_store_cleared_cb), accel_store);
+ g_signal_connect(G_OBJECT(renderer), "accel-edited",
+ G_CALLBACK(accel_store_edited_cb), accel_store);
+
+
+ g_object_set (renderer,
+ "editable", TRUE,
+ "accel-mode", GTK_CELL_RENDERER_ACCEL_MODE_OTHER,
+ NULL);
+
+ column = gtk_tree_view_column_new_with_attributes(_("KEY"),
+ renderer,
+ "text", AE_KEY,
+ NULL);
+
+ gtk_tree_view_column_set_sort_column_id(column, AE_KEY);
+ gtk_tree_view_column_set_resizable(column, TRUE);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(accel_view), column);
+
+ renderer = gtk_cell_renderer_text_new();
+
+ column = gtk_tree_view_column_new_with_attributes(_("Tooltip"),
+ renderer,
+ "text", AE_TOOLTIP,
+ NULL);
+
+ gtk_tree_view_column_set_sort_column_id(column, AE_TOOLTIP);
+ gtk_tree_view_column_set_resizable(column, TRUE);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(accel_view), column);
+
+ renderer = gtk_cell_renderer_text_new();
+
+ column = gtk_tree_view_column_new_with_attributes("Accel",
+ renderer,
+ "text", AE_ACCEL,
+ NULL);
+
+ gtk_tree_view_column_set_sort_column_id(column, AE_ACCEL);
+ gtk_tree_view_column_set_resizable(column, TRUE);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(accel_view), column);
+
+ accel_store_populate();
+ gtk_container_add(GTK_CONTAINER(scrolled), accel_view);
+ gtk_widget_show(accel_view);
+
+ hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP);
+
+ button = pref_button_new(NULL, NULL, _("Defaults"), FALSE,
+ G_CALLBACK(accel_default_cb), accel_view);
+ gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
+ gtk_widget_show(button);
+
+ button = pref_button_new(NULL, NULL, _("Reset selected"), FALSE,
+ G_CALLBACK(accel_reset_cb), accel_view);
+ gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
+ gtk_widget_show(button);
+}
+
+/* stereo tab */
+static void config_tab_stereo(GtkWidget *notebook)
+{
+ GtkWidget *vbox;
+ GtkWidget *group;
+ GtkWidget *group2;
+ GtkWidget *table;
+ GtkWidget *box;
+ GtkWidget *box2;
+ GtkWidget *fs_button;
+ vbox = scrolled_notebook_page(notebook, _("Stereo"));
+
+ group = pref_group_new(vbox, FALSE, _("Windowed stereo mode"), GTK_ORIENTATION_VERTICAL);
+
+ table = pref_table_new(group, 2, 1, FALSE, FALSE);
+ add_stereo_mode_menu(table, 0, 0, _("Windowed stereo mode"), options->stereo.mode, &c_options->stereo.mode, FALSE);
+
+ table = pref_table_new(group, 2, 2, TRUE, FALSE);
+ box = pref_table_box(table, 0, 0, GTK_ORIENTATION_HORIZONTAL, NULL);
+ pref_checkbox_new_int(box, _("Mirror left image"),
+ options->stereo.mode & PR_STEREO_MIRROR_LEFT, &c_options->stereo.tmp.mirror_left);
+ box = pref_table_box(table, 1, 0, GTK_ORIENTATION_HORIZONTAL, NULL);
+ pref_checkbox_new_int(box, _("Flip left image"),
+ options->stereo.mode & PR_STEREO_FLIP_LEFT, &c_options->stereo.tmp.flip_left);
+ box = pref_table_box(table, 0, 1, GTK_ORIENTATION_HORIZONTAL, NULL);
+ pref_checkbox_new_int(box, _("Mirror right image"),
+ options->stereo.mode & PR_STEREO_MIRROR_RIGHT, &c_options->stereo.tmp.mirror_right);
+ box = pref_table_box(table, 1, 1, GTK_ORIENTATION_HORIZONTAL, NULL);
+ pref_checkbox_new_int(box, _("Flip right image"),
+ options->stereo.mode & PR_STEREO_FLIP_RIGHT, &c_options->stereo.tmp.flip_right);
+ pref_checkbox_new_int(group, _("Swap left and right images"),
+ options->stereo.mode & PR_STEREO_SWAP, &c_options->stereo.tmp.swap);
+ pref_checkbox_new_int(group, _("Disable stereo mode on single image source"),
+ options->stereo.mode & PR_STEREO_TEMP_DISABLE, &c_options->stereo.tmp.temp_disable);
+
+ group = pref_group_new(vbox, FALSE, _("Fullscreen stereo mode"), GTK_ORIENTATION_VERTICAL);
+ fs_button = pref_checkbox_new_int(group, _("Use different settings for fullscreen"),
+ options->stereo.enable_fsmode, &c_options->stereo.enable_fsmode);
+ box2 = pref_box_new(group, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_SPACE);
+ pref_checkbox_link_sensitivity(fs_button, box2);
+ table = pref_table_new(box2, 2, 1, FALSE, FALSE);
+ add_stereo_mode_menu(table, 0, 0, _("Fullscreen stereo mode"), options->stereo.fsmode, &c_options->stereo.fsmode, TRUE);
+ table = pref_table_new(box2, 2, 2, TRUE, FALSE);
+ box = pref_table_box(table, 0, 0, GTK_ORIENTATION_HORIZONTAL, NULL);
+ pref_checkbox_new_int(box, _("Mirror left image"),
+ options->stereo.fsmode & PR_STEREO_MIRROR_LEFT, &c_options->stereo.tmp.fs_mirror_left);
+ box = pref_table_box(table, 1, 0, GTK_ORIENTATION_HORIZONTAL, NULL);
+ pref_checkbox_new_int(box, _("Flip left image"),
+ options->stereo.fsmode & PR_STEREO_FLIP_LEFT, &c_options->stereo.tmp.fs_flip_left);
+ box = pref_table_box(table, 0, 1, GTK_ORIENTATION_HORIZONTAL, NULL);
+ pref_checkbox_new_int(box, _("Mirror right image"),
+ options->stereo.fsmode & PR_STEREO_MIRROR_RIGHT, &c_options->stereo.tmp.fs_mirror_right);
+ box = pref_table_box(table, 1, 1, GTK_ORIENTATION_HORIZONTAL, NULL);
+ pref_checkbox_new_int(box, _("Flip right image"),
+ options->stereo.fsmode & PR_STEREO_FLIP_RIGHT, &c_options->stereo.tmp.fs_flip_right);
+ pref_checkbox_new_int(box2, _("Swap left and right images"),
+ options->stereo.fsmode & PR_STEREO_SWAP, &c_options->stereo.tmp.fs_swap);
+ pref_checkbox_new_int(box2, _("Disable stereo mode on single image source"),
+ options->stereo.fsmode & PR_STEREO_TEMP_DISABLE, &c_options->stereo.tmp.fs_temp_disable);
+
+ group2 = pref_group_new(box2, FALSE, _("Fixed position"), GTK_ORIENTATION_VERTICAL);
+ table = pref_table_new(group2, 5, 3, FALSE, FALSE);
+ pref_table_spin_new_int(table, 0, 0, _("Width"), NULL,
+ 1, 5000, 1, options->stereo.fixed_w, &c_options->stereo.fixed_w);
+ pref_table_spin_new_int(table, 3, 0, _("Height"), NULL,
+ 1, 5000, 1, options->stereo.fixed_h, &c_options->stereo.fixed_h);
+ pref_table_spin_new_int(table, 0, 1, _("Left X"), NULL,
+ 0, 5000, 1, options->stereo.fixed_x1, &c_options->stereo.fixed_x1);
+ pref_table_spin_new_int(table, 3, 1, _("Left Y"), NULL,
+ 0, 5000, 1, options->stereo.fixed_y1, &c_options->stereo.fixed_y1);
+ pref_table_spin_new_int(table, 0, 2, _("Right X"), NULL,
+ 0, 5000, 1, options->stereo.fixed_x2, &c_options->stereo.fixed_x2);
+ pref_table_spin_new_int(table, 3, 2, _("Right Y"), NULL,
+ 0, 5000, 1, options->stereo.fixed_y2, &c_options->stereo.fixed_y2);
+
+}
+