Mercurial > hg > forks > geeqie
diff src/preferences.c @ 1889:14088e0b25ec
temporarily disable stereo mode, added more stereo prefs
author | Vladimir Nadvornik <nadvornik@suse.cz> |
---|---|
date | Sun, 20 Mar 2011 00:18:13 +0100 |
parents | cca739d627fd |
children | e9962ddaf8c7 |
line wrap: on
line diff
--- a/src/preferences.c Sat Mar 19 21:42:13 2011 +0100 +++ b/src/preferences.c Sun Mar 20 00:18:13 2011 +0100 @@ -305,10 +305,20 @@ options->metadata.confirm_on_dir_change = c_options->metadata.confirm_on_dir_change; options->metadata.keywords_case_sensitive = c_options->metadata.keywords_case_sensitive; options->metadata.write_orientation = c_options->metadata.write_orientation; - - options->stereo.mode = c_options->stereo.mode; - options->stereo.fallback = c_options->stereo.fallback; - options->stereo.fsmode = c_options->stereo.fsmode; + options->stereo.mode = (c_options->stereo.mode & (PR_STEREO_HORIZ | PR_STEREO_VERT | PR_STEREO_FIXED | PR_STEREO_ANAGLYPH)) | + (c_options->stereo.tmp.mirror_right ? PR_STEREO_MIRROR_RIGHT : 0) | + (c_options->stereo.tmp.flip_right ? PR_STEREO_FLIP_RIGHT : 0) | + (c_options->stereo.tmp.mirror_left ? PR_STEREO_MIRROR_LEFT : 0) | + (c_options->stereo.tmp.flip_left ? PR_STEREO_FLIP_LEFT : 0) | + (c_options->stereo.tmp.swap ? PR_STEREO_SWAP : 0) | + (c_options->stereo.tmp.temp_disable ? PR_STEREO_TEMP_DISABLE : 0); + options->stereo.fsmode = (c_options->stereo.fsmode & (PR_STEREO_HORIZ | PR_STEREO_VERT | PR_STEREO_FIXED | PR_STEREO_ANAGLYPH)) | + (c_options->stereo.tmp.fs_mirror_right ? PR_STEREO_MIRROR_RIGHT : 0) | + (c_options->stereo.tmp.fs_flip_right ? PR_STEREO_FLIP_RIGHT : 0) | + (c_options->stereo.tmp.fs_mirror_left ? PR_STEREO_MIRROR_LEFT : 0) | + (c_options->stereo.tmp.fs_flip_left ? PR_STEREO_FLIP_LEFT : 0) | + (c_options->stereo.tmp.fs_swap ? PR_STEREO_SWAP : 0) | + (c_options->stereo.tmp.fs_temp_disable ? PR_STEREO_TEMP_DISABLE : 0); options->stereo.enable_fsmode = c_options->stereo.enable_fsmode; options->stereo.fixed_w = c_options->stereo.fixed_w; options->stereo.fixed_h = c_options->stereo.fixed_h; @@ -577,18 +587,20 @@ combo = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Single image")); - if (option == PR_STEREO_NONE) current = 0; + gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Anaglyph")); - if (option == PR_STEREO_ANAGLYPH) current = 1; + if (option & PR_STEREO_ANAGLYPH) current = 1; + gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Side by Side")); - if (option == PR_STEREO_HORIZ) current = 2; + if (option & PR_STEREO_HORIZ) current = 2; + gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Above - below")); - if (option == PR_STEREO_VERT) current = 3; + if (option & PR_STEREO_VERT) current = 3; if (add_fixed) { gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Fixed position")); - if (option == PR_STEREO_FIXED) current = 4; + if (option & PR_STEREO_FIXED) current = 4; } gtk_combo_box_set_active(GTK_COMBO_BOX(combo), current); @@ -2050,14 +2062,36 @@ 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); - pref_checkbox_new_int(group, _("Fall back to single image mode on 2d"), - options->stereo.fallback, &c_options->stereo.fallback); + pref_checkbox_new_int(group, _("Mirror left image"), + options->stereo.mode & PR_STEREO_MIRROR_LEFT, &c_options->stereo.tmp.mirror_left); + pref_checkbox_new_int(group, _("Flip left image"), + options->stereo.mode & PR_STEREO_FLIP_LEFT, &c_options->stereo.tmp.flip_left); + pref_checkbox_new_int(group, _("Mirror right image"), + options->stereo.mode & PR_STEREO_MIRROR_RIGHT, &c_options->stereo.tmp.mirror_right); + pref_checkbox_new_int(group, _("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); pref_checkbox_new_int(group, _("Use different settings for fullscreen"), options->stereo.enable_fsmode, &c_options->stereo.enable_fsmode); table = pref_table_new(group, 2, 1, FALSE, FALSE); add_stereo_mode_menu(table, 0, 0, _("Fullscreen stereo mode"), options->stereo.fsmode, &c_options->stereo.fsmode, TRUE); + pref_checkbox_new_int(group, _("Mirror left image"), + options->stereo.fsmode & PR_STEREO_MIRROR_LEFT, &c_options->stereo.tmp.fs_mirror_left); + pref_checkbox_new_int(group, _("Flip left image"), + options->stereo.fsmode & PR_STEREO_FLIP_LEFT, &c_options->stereo.tmp.fs_flip_left); + pref_checkbox_new_int(group, _("Mirror right image"), + options->stereo.fsmode & PR_STEREO_MIRROR_RIGHT, &c_options->stereo.tmp.fs_mirror_right); + pref_checkbox_new_int(group, _("Flip right image"), + options->stereo.fsmode & PR_STEREO_FLIP_RIGHT, &c_options->stereo.tmp.fs_flip_right); + pref_checkbox_new_int(group, _("Swap left and right images"), + options->stereo.fsmode & PR_STEREO_SWAP, &c_options->stereo.tmp.fs_swap); + pref_checkbox_new_int(group, _("Disable stereo mode on single image source"), + options->stereo.fsmode & PR_STEREO_TEMP_DISABLE, &c_options->stereo.tmp.fs_temp_disable); }