static void view_rename_cb(GtkWidget *widget, gpointer data) { ViewWindow *vw = data; ImageWindow *imd; imd = view_window_active_image(vw); file_util_rename(image_get_fd(imd), NULL, imd->widget); }
static void cb_thumbview_rename (void) { if (g_list_length (ZLIST (thumbview->album)->selection) > 1) file_util_rename (NULL, selection_list_create (thumbview)); else { ZAlbumCell *cell; cell = ZLIST_CELL_FROM_INDEX (ZLIST (thumbview->album), (guint) ZLIST (thumbview->album)-> selection->data); file_util_rename (cell->name, NULL); } }
static gboolean collection_window_keypress(GtkWidget *widget, GdkEventKey *event, gpointer data) { CollectWindow *cw = data; gboolean stop_signal = FALSE; GList *list; if (event->state & GDK_CONTROL_MASK) { stop_signal = TRUE; switch (event->keyval) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case '0': break; case 'A': case 'a': if (event->state & GDK_SHIFT_MASK) { collection_table_unselect_all(cw->table); } else { collection_table_select_all(cw->table); } break; case 'L': case 'l': list = layout_list(NULL); if (list) { collection_table_add_filelist(cw->table, list); filelist_free(list); } break; case 'C': case 'c': file_util_copy(NULL, collection_table_selection_get_list(cw->table), NULL, cw->window); break; case 'M': case 'm': file_util_move(NULL, collection_table_selection_get_list(cw->table), NULL, cw->window); break; case 'R': case 'r': file_util_rename(NULL, collection_table_selection_get_list(cw->table), cw->window); break; case 'D': case 'd': file_util_delete(NULL, collection_table_selection_get_list(cw->table), cw->window); break; case 'S': case 's': collection_dialog_save_as(NULL, cw->cd); break; case 'W': case 'w': collection_window_close(cw); break; default: stop_signal = FALSE; break; } } else { stop_signal = TRUE; switch (event->keyval) { case GDK_KEY_Return: case GDK_KEY_KP_Enter: layout_image_set_collection(NULL, cw->cd, collection_table_get_focus_info(cw->table)); break; case 'V': case 'v': view_window_new_from_collection(cw->cd, collection_table_get_focus_info(cw->table)); break; case 'S': case 's': if (!cw->cd->path) { collection_dialog_save_as(NULL, cw->cd); } else if (!collection_save(cw->cd, cw->cd->path)) { log_printf("failed saving to collection path: %s\n", cw->cd->path); } break; case 'A': case 'a': collection_dialog_append(NULL, cw->cd); break; case 'N': case 'n': collection_set_sort_method(cw->cd, SORT_NAME); break; #ifdef HAVE_STRVERSCMP case 'I': case 'i': collection_set_sort_method(cw->cd, SORT_NUMBER); break; #endif case 'D': case 'd': collection_set_sort_method(cw->cd, SORT_TIME); break; case 'B': case 'b': collection_set_sort_method(cw->cd, SORT_SIZE); break; case 'P': case 'p': if (event->state & GDK_SHIFT_MASK) { CollectInfo *info; info = collection_table_get_focus_info(cw->table); print_window_new(info->fd, collection_table_selection_get_list(cw->table), collection_list_to_filelist(cw->cd->list), cw->window); } else { collection_set_sort_method(cw->cd, SORT_PATH); } break; case GDK_KEY_Delete: case GDK_KEY_KP_Delete: list = g_list_copy(cw->table->selection); if (list) { collection_remove_by_info_list(cw->cd, list); g_list_free(list); } else { collection_remove_by_info(cw->cd, collection_table_get_focus_info(cw->table)); } break; default: stop_signal = FALSE; break; } } return stop_signal; }
static gboolean view_window_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data) { ViewWindow *vw = data; ImageWindow *imd; gint stop_signal; GtkWidget *menu; gint x = 0; gint y = 0; imd = view_window_active_image(vw); stop_signal = TRUE; switch (event->keyval) { case GDK_KEY_Left: case GDK_KEY_KP_Left: x -= 1; break; case GDK_KEY_Right: case GDK_KEY_KP_Right: x += 1; break; case GDK_KEY_Up: case GDK_KEY_KP_Up: y -= 1; break; case GDK_KEY_Down: case GDK_KEY_KP_Down: y += 1; break; default: stop_signal = FALSE; break; } if (x != 0 || y!= 0) { if (event->state & GDK_SHIFT_MASK) { x *= 3; y *= 3; } keyboard_scroll_calc(&x, &y, event); image_scroll(imd, x, y); } if (stop_signal) return stop_signal; if (event->state & GDK_CONTROL_MASK) { stop_signal = TRUE; switch (event->keyval) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case '0': break; case 'C': case 'c': file_util_copy(image_get_fd(imd), NULL, NULL, imd->widget); break; case 'M': case 'm': file_util_move(image_get_fd(imd), NULL, NULL, imd->widget); break; case 'R': case 'r': file_util_rename(image_get_fd(imd), NULL, imd->widget); break; case 'D': case 'd': file_util_delete(image_get_fd(imd), NULL, imd->widget); break; case 'W': case 'w': view_window_close(vw); break; default: stop_signal = FALSE; break; } } else if (event->state & GDK_SHIFT_MASK) { stop_signal = TRUE; switch (event->keyval) { case 'R': case 'r': image_alter_orientation(imd, ALTER_ROTATE_180); break; case 'M': case 'm': image_alter_orientation(imd, ALTER_MIRROR); break; case 'F': case 'f': image_alter_orientation(imd, ALTER_FLIP); break; case 'G': case 'g': image_set_desaturate(imd, !image_get_desaturate(imd)); break; case 'P': case 'p': { FileData *fd; view_fullscreen_toggle(vw, TRUE); imd = view_window_active_image(vw); fd = image_get_fd(imd); print_window_new(fd, fd ? g_list_append(NULL, file_data_ref(fd)) : NULL, filelist_copy(vw->list), vw->window); } break; default: stop_signal = FALSE; break; } } else { stop_signal = TRUE; switch (event->keyval) { case GDK_KEY_Page_Up: case GDK_KEY_KP_Page_Up: case GDK_KEY_BackSpace: case 'B': case 'b': view_step_prev(vw); break; case GDK_KEY_Page_Down: case GDK_KEY_KP_Page_Down: case GDK_KEY_space: case 'N': case 'n': view_step_next(vw); break; case GDK_KEY_Home: case GDK_KEY_KP_Home: view_step_to_end(vw, FALSE); break; case GDK_KEY_End: case GDK_KEY_KP_End: view_step_to_end(vw, TRUE); break; case '+': case '=': case GDK_KEY_KP_Add: image_zoom_adjust(imd, get_zoom_increment()); break; case '-': case GDK_KEY_KP_Subtract: image_zoom_adjust(imd, -get_zoom_increment()); break; case 'X': case 'x': case GDK_KEY_KP_Multiply: image_zoom_set(imd, 0.0); break; case 'Z': case 'z': case GDK_KEY_KP_Divide: case '1': image_zoom_set(imd, 1.0); break; case '2': image_zoom_set(imd, 2.0); break; case '3': image_zoom_set(imd, 3.0); break; case '4': image_zoom_set(imd, 4.0); break; case '7': image_zoom_set(imd, -4.0); break; case '8': image_zoom_set(imd, -3.0); break; case '9': image_zoom_set(imd, -2.0); break; case 'W': case 'w': image_zoom_set_fill_geometry(imd, FALSE); break; case 'H': case 'h': image_zoom_set_fill_geometry(imd, TRUE); break; case 'R': case 'r': image_reload(imd); break; case 'S': case 's': if (vw->ss) { view_slideshow_stop(vw); } else { view_slideshow_start(vw); } break; case 'P': case 'p': slideshow_pause_toggle(vw->ss); break; case 'F': case 'f': case 'V': case 'v': case GDK_KEY_F11: view_fullscreen_toggle(vw, FALSE); break; case 'I': case 'i': view_overlay_toggle(vw); break; case ']': image_alter_orientation(imd, ALTER_ROTATE_90); break; case '[': image_alter_orientation(imd, ALTER_ROTATE_90_CC); break; case GDK_KEY_Delete: case GDK_KEY_KP_Delete: if (options->file_ops.enable_delete_key) { file_util_delete(image_get_fd(imd), NULL, imd->widget); } break; case GDK_KEY_Escape: if (vw->fs) { view_fullscreen_toggle(vw, TRUE); } else { view_window_close(vw); } break; case GDK_KEY_Menu: case GDK_KEY_F10: menu = view_popup_menu(vw); gtk_menu_popup(GTK_MENU(menu), NULL, NULL, view_window_menu_pos_cb, vw, 0, GDK_CURRENT_TIME); break; default: stop_signal = FALSE; break; } } return stop_signal; }