GDK_INTERP_HYPER is deprecated
[geeqie.git] / src / preferences.c
index e298cc8..4d223cf 100644 (file)
@@ -421,6 +421,7 @@ static void config_window_apply(void)
        options->info_rating.height = c_options->info_rating.height;
 
        options->show_predefined_keyword_tree = c_options->show_predefined_keyword_tree;
+       options->expand_menu_toolbar = c_options->expand_menu_toolbar;
 
        options->marks_save = c_options->marks_save;
        options->with_rename = c_options->with_rename;
@@ -453,6 +454,8 @@ static void config_window_apply(void)
        options->mouse_button_8 = c_options->mouse_button_8;
        options->mouse_button_9 = c_options->mouse_button_9;
 
+       options->override_disable_gpu = c_options->override_disable_gpu;
+
        config_tab_keywords_save();
 
        image_options_sync();
@@ -547,9 +550,6 @@ static void quality_menu_cb(GtkWidget *combo, gpointer data)
                case 2:
                        *option = GDK_INTERP_BILINEAR;
                        break;
-               case 3:
-                       *option = GDK_INTERP_HYPER;
-                       break;
                }
 }
 
@@ -603,10 +603,8 @@ static void add_quality_menu(GtkWidget *table, gint column, gint row, const gcha
        if (option == GDK_INTERP_NEAREST) current = 0;
        gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Tiles"));
        if (option == GDK_INTERP_TILES) current = 1;
-       gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Bilinear"));
+       gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Bilinear (best, but slowest)"));
        if (option == GDK_INTERP_BILINEAR) current = 2;
-       gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Hyper (best, but slowest)"));
-       if (option == GDK_INTERP_HYPER) current = 3;
 
        gtk_combo_box_set_active(GTK_COMBO_BOX(combo), current);
 
@@ -2074,6 +2072,15 @@ static void config_tab_general(GtkWidget *notebook)
        pref_checkbox_new_int(group, _("Refresh on file change"),
                              options->update_on_time_change, &c_options->update_on_time_change);
 
+
+       pref_spacer(group, PREF_PAD_GROUP);
+
+       group = pref_group_new(vbox, FALSE, _("Expand menu and toolbar"), GTK_ORIENTATION_VERTICAL);
+
+       pref_checkbox_new_int(group, _("Expand menu and toolbar (NOTE! Geeqie must be restarted for change to take effect)"),
+                               options->expand_menu_toolbar, &c_options->expand_menu_toolbar);
+       gtk_widget_set_tooltip_text(group, _("Expand the menu and toolbar to the full width of the window"));
+
        pref_spacer(group, PREF_PAD_GROUP);
 
        group = pref_group_new(vbox, FALSE, _("Info sidebar heights"), GTK_ORIENTATION_VERTICAL);
@@ -2175,6 +2182,8 @@ static void config_tab_image(GtkWidget *notebook)
        GtkWidget *enlargement_button;
        GtkWidget *table;
        GtkWidget *spin;
+       GtkWidget *two_pass;
+       GtkWidget *gpu_accel;
 
        vbox = scrolled_notebook_page(notebook, _("Image"));
 
@@ -2182,14 +2191,26 @@ static void config_tab_image(GtkWidget *notebook)
 
        table = pref_table_new(group, 2, 1, FALSE, FALSE);
        add_quality_menu(table, 0, 0, _("Quality:"), options->image.zoom_quality, &c_options->image.zoom_quality);
+       if (options->image.use_clutter_renderer && !options->disable_gpu)
+               {
+               gtk_widget_set_sensitive(table, FALSE);
+               }
 
 #ifdef HAVE_CLUTTER
-       pref_checkbox_new_int(group, _("Use GPU acceleration via Clutter library (Requires restart)"),
+       gpu_accel = pref_checkbox_new_int(group, _("Use GPU acceleration via Clutter library (Requires restart)"),
                              options->image.use_clutter_renderer, &c_options->image.use_clutter_renderer);
+       if (options->disable_gpu && !options->override_disable_gpu)
+               {
+               gtk_widget_set_sensitive(gpu_accel, FALSE);
+               }
 #endif
 
-       pref_checkbox_new_int(group, _("Two pass rendering (apply HQ zoom and color correction in second pass)"),
+       two_pass = pref_checkbox_new_int(group, _("Two pass rendering (apply HQ zoom and color correction in second pass)"),
                              options->image.zoom_2pass, &c_options->image.zoom_2pass);
+       if (options->image.use_clutter_renderer && !options->disable_gpu)
+               {
+               gtk_widget_set_sensitive(two_pass, FALSE);
+               }
 
        c_options->image.zoom_increment = options->image.zoom_increment;
        spin = pref_spin_new(group, _("Zoom increment:"), NULL,
@@ -3234,6 +3255,7 @@ static void config_tab_behavior(GtkWidget *notebook)
        GtkWidget *marks;
        GtkWidget *with_rename;
        GtkWidget *collections_on_top;
+       GtkWidget *checkbox;
 
        vbox = scrolled_notebook_page(notebook, _("Behavior"));
 
@@ -3344,6 +3366,14 @@ static void config_tab_behavior(GtkWidget *notebook)
        table = pref_table_new(group, 2, 1, FALSE, FALSE);
        add_mouse_selection_menu(table, 0, 0, _("Mouse button Forward:"), options->mouse_button_9, &c_options->mouse_button_9);
 
+       pref_spacer(group, PREF_PAD_GROUP);
+
+       group = pref_group_new(vbox, FALSE, _("GPU"), GTK_ORIENTATION_VERTICAL);
+
+       checkbox = pref_checkbox_new_int(group, _("Override disable GPU"),
+                               options->override_disable_gpu, &c_options->override_disable_gpu);
+       gtk_widget_set_tooltip_text(checkbox, "Contact the developers for usage");
+
 #ifdef DEBUG
        pref_spacer(group, PREF_PAD_GROUP);