switch (event->button)
{
case MOUSE_BUTTON_LEFT:
- view_step_next(vw);
+ if (options->image_lm_click_nav)
+ view_step_next(vw);
break;
case MOUSE_BUTTON_MIDDLE:
- view_step_prev(vw);
+ if (options->image_lm_click_nav)
+ view_step_prev(vw);
break;
case MOUSE_BUTTON_RIGHT:
menu = view_popup_menu(vw);
switch (event->button)
{
case MOUSE_BUTTON_LEFT:
- if (lw->split_mode == SPLIT_NONE)
+ if (options->image_lm_click_nav && lw->split_mode == SPLIT_NONE)
layout_image_next(lw);
break;
case MOUSE_BUTTON_MIDDLE:
- if (lw->split_mode == SPLIT_NONE)
+ if (options->image_lm_click_nav && lw->split_mode == SPLIT_NONE)
layout_image_prev(lw);
break;
case MOUSE_BUTTON_RIGHT:
LayoutWindow *nw;
LayoutOptions lop;
gboolean tmp = options->save_window_positions;
- options->save_window_positions = FALSE; /* let the windowmanager decide for the first time */
+
+ if (!options->use_saved_window_positions_for_new_windows)
+ options->save_window_positions = FALSE; /* let the windowmanager decide for the first time */
layout_exit_fullscreen(lw);
delta = 8;
}
- *x = *x * delta;
- *y = *y * delta;
+ *x = *x * delta * options->keyboard_scroll_step;
+ *y = *y * delta * options->keyboard_scroll_step;
}
options->file_filter.disable_file_extension_checks = FALSE;
options->save_window_positions = TRUE;
+ options->use_saved_window_positions_for_new_windows = FALSE;
options->tools_restore_state = TRUE;
options->file_ops.confirm_delete = TRUE;
options->lazy_image_sync = FALSE;
options->mousewheel_scrolls = FALSE;
+ options->image_lm_click_nav = TRUE;
options->open_recent_list_maxsize = 10;
options->place_dialogs_under_mouse = FALSE;
options->progressive_key_scrolling = TRUE;
+ options->keyboard_scroll_step = 1;
options->metadata.enable_metadata_dirs = FALSE;
options->metadata.save_in_image_file = FALSE;
options->thumbnails.use_exif = FALSE;
options->tree_descend_subdirs = FALSE;
+ options->view_dir_list_single_click_enter = TRUE;
options->update_on_time_change = TRUE;
options->stereo.fixed_w = 1920;
{
/* ui */
gboolean progressive_key_scrolling;
+ guint keyboard_scroll_step;
gboolean place_dialogs_under_mouse;
gboolean mousewheel_scrolls;
+ gboolean image_lm_click_nav;
gboolean show_icon_names;
/* various */
gboolean tree_descend_subdirs;
+ gboolean view_dir_list_single_click_enter;
gboolean lazy_image_sync;
gboolean update_on_time_change;
gint dnd_icon_size;
gboolean save_window_positions;
+ gboolean use_saved_window_positions_for_new_windows;
gboolean tools_restore_state;
/* file ops */
options->file_ops.safe_delete_folder_maxsize = c_options->file_ops.safe_delete_folder_maxsize;
options->tools_restore_state = c_options->tools_restore_state;
options->save_window_positions = c_options->save_window_positions;
+ options->use_saved_window_positions_for_new_windows = c_options->use_saved_window_positions_for_new_windows;
options->image.zoom_mode = c_options->image.zoom_mode;
options->image.scroll_reset_method = c_options->image.scroll_reset_method;
options->image.zoom_2pass = c_options->image.zoom_2pass;
options->image.max_autofit_size = c_options->image.max_autofit_size;
options->image.use_clutter_renderer = c_options->image.use_clutter_renderer;
options->progressive_key_scrolling = c_options->progressive_key_scrolling;
+ options->keyboard_scroll_step = c_options->keyboard_scroll_step;
+
if (options->thumbnails.max_width != c_options->thumbnails.max_width
|| options->thumbnails.max_height != c_options->thumbnails.max_height
|| options->thumbnails.quality != c_options->thumbnails.quality)
options->slideshow.delay = c_options->slideshow.delay;
options->mousewheel_scrolls = c_options->mousewheel_scrolls;
+ options->image_lm_click_nav = c_options->image_lm_click_nav;
options->file_ops.enable_in_place_rename = c_options->file_ops.enable_in_place_rename;
options->tree_descend_subdirs = c_options->tree_descend_subdirs;
+ options->view_dir_list_single_click_enter = c_options->view_dir_list_single_click_enter;
+
options->open_recent_list_maxsize = c_options->open_recent_list_maxsize;
options->dnd_icon_size = c_options->dnd_icon_size;
group = pref_group_new(vbox, FALSE, _("State"), GTK_ORIENTATION_VERTICAL);
- pref_checkbox_new_int(group, _("Remember window positions"),
- options->save_window_positions, &c_options->save_window_positions);
+ ct_button = pref_checkbox_new_int(group, _("Remember window positions"),
+ options->save_window_positions, &c_options->save_window_positions);
+
+ button = pref_checkbox_new_int(group, _("Use saved window positions also for new windows"),
+ options->use_saved_window_positions_for_new_windows, &c_options->use_saved_window_positions_for_new_windows);
+ pref_checkbox_link_sensitivity(ct_button, button);
+
pref_checkbox_new_int(group, _("Remember tool state (float/hidden)"),
options->tools_restore_state, &c_options->tools_restore_state);
pref_checkbox_new_int(group, _("In place renaming"),
options->file_ops.enable_in_place_rename, &c_options->file_ops.enable_in_place_rename);
+ pref_checkbox_new_int(group, _("List directory view uses single click to enter"),
+ options->view_dir_list_single_click_enter, &c_options->view_dir_list_single_click_enter);
+
pref_spin_new_int(group, _("Open recent list maximum size"), NULL,
1, 50, 1, options->open_recent_list_maxsize, &c_options->open_recent_list_maxsize);
pref_checkbox_new_int(group, _("Progressive keyboard scrolling"),
options->progressive_key_scrolling, &c_options->progressive_key_scrolling);
+ pref_spin_new_int(group, _("Keyboard scrolling step multiplier:"), NULL,
+ 1, 32, 1, options->keyboard_scroll_step, (int *)&c_options->keyboard_scroll_step);
pref_checkbox_new_int(group, _("Mouse wheel scrolls image"),
options->mousewheel_scrolls, &c_options->mousewheel_scrolls);
+ pref_checkbox_new_int(group, _("Navigation by left or middle click on image"),
+ options->image_lm_click_nav, &c_options->image_lm_click_nav);
group = pref_group_new(vbox, FALSE, _("Similarities"), GTK_ORIENTATION_VERTICAL);
WRITE_SEPARATOR();
WRITE_NL(); WRITE_BOOL(*options, tree_descend_subdirs);
+ WRITE_NL(); WRITE_BOOL(*options, view_dir_list_single_click_enter);
WRITE_NL(); WRITE_BOOL(*options, lazy_image_sync);
WRITE_NL(); WRITE_BOOL(*options, update_on_time_change);
WRITE_SEPARATOR();
WRITE_NL(); WRITE_BOOL(*options, progressive_key_scrolling);
+ WRITE_NL(); WRITE_UINT(*options, keyboard_scroll_step);
WRITE_NL(); WRITE_UINT(*options, duplicates_similarity_threshold);
WRITE_NL(); WRITE_BOOL(*options, rot_invariant_sim);
WRITE_SEPARATOR();
WRITE_NL(); WRITE_BOOL(*options, mousewheel_scrolls);
+ WRITE_NL(); WRITE_BOOL(*options, image_lm_click_nav);
WRITE_NL(); WRITE_INT(*options, open_recent_list_maxsize);
WRITE_NL(); WRITE_INT(*options, dnd_icon_size);
WRITE_NL(); WRITE_BOOL(*options, place_dialogs_under_mouse);
WRITE_NL(); WRITE_BOOL(*options, save_window_positions);
+ WRITE_NL(); WRITE_BOOL(*options, use_saved_window_positions_for_new_windows);
WRITE_NL(); WRITE_BOOL(*options, tools_restore_state);
/* File operations Options */
if (READ_BOOL(*options, show_icon_names)) continue;
if (READ_BOOL(*options, tree_descend_subdirs)) continue;
+ if (READ_BOOL(*options, view_dir_list_single_click_enter)) continue;
if (READ_BOOL(*options, lazy_image_sync)) continue;
if (READ_BOOL(*options, update_on_time_change)) continue;
if (READ_BOOL(*options, rot_invariant_sim)) continue;
if (READ_BOOL(*options, progressive_key_scrolling)) continue;
+ if (READ_UINT_CLAMP(*options, keyboard_scroll_step, 1, 32)) continue;
if (READ_BOOL(*options, mousewheel_scrolls)) continue;
+ if (READ_BOOL(*options, image_lm_click_nav)) continue;
if (READ_INT(*options, open_recent_list_maxsize)) continue;
if (READ_INT(*options, dnd_icon_size)) continue;
if (READ_BOOL(*options, place_dialogs_under_mouse)) continue;
if (READ_BOOL(*options, save_window_positions)) continue;
+ if (READ_BOOL(*options, use_saved_window_positions_for_new_windows)) continue;
if (READ_BOOL(*options, tools_restore_state)) continue;
/* Properties dialog options */
GtkTreePath *tpath;
FileData *fd = NULL;
+ if (vd->type == DIRVIEW_LIST && !options->view_dir_list_single_click_enter)
+ return FALSE;
+
if (!vd->click_fd) return FALSE;
vd_color_set(vd, vd->click_fd, FALSE);
}
vd->click_fd = fd;
- vd_color_set(vd, vd->click_fd, TRUE);
+
+ if (options->view_dir_list_single_click_enter)
+ vd_color_set(vd, vd->click_fd, TRUE);
if (bevent->button == MOUSE_BUTTON_RIGHT)
{
vd->popup = vd_pop_menu(vd, vd->click_fd);
gtk_menu_popup(GTK_MENU(vd->popup), NULL, NULL, NULL, NULL,
bevent->button, bevent->time);
+ return TRUE;
}
- return TRUE;
+ return options->view_dir_list_single_click_enter;
}
void vdlist_destroy_cb(GtkWidget *widget, gpointer data)