/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2009 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
gint col, row;
gint cw, ch;
gint l;
- gdouble total;
- gdouble s;
- gdouble aw, ah;
gint i, j;
pan_grid_clear(pw);
if (l < 1) return;
- total = (gdouble)width * (gdouble)height / (gdouble)l;
- s = sqrt(total);
-
- aw = (gdouble)width / s;
- ah = (gdouble)height / s;
-
col = (gint)(sqrt((gdouble)l / grid_size) * width / height + 0.999);
col = CLAMP(col, 1, l / grid_size + 1);
row = (gint)((gdouble)l / grid_size / col);
{
PanWindow *pw = data;
- gdk_window_get_origin(pw->imd->pr->window, x, y);
+ gdk_window_get_origin(gtk_widget_get_window(pw->imd->pr), x, y);
popup_menu_position_clamp(menu, x, y, 0);
}
FileData *fd;
gboolean stop_signal = FALSE;
GtkWidget *menu;
+ GtkWidget *imd_widget;
gint x = 0;
gint y = 0;
gint focused;
pr = PIXBUF_RENDERER(pw->imd->pr);
fd = pan_menu_click_fd(pw);
-
- focused = (pw->fs || GTK_WIDGET_HAS_FOCUS(GTK_WIDGET(pw->imd->widget)));
- on_entry = (GTK_WIDGET_HAS_FOCUS(pw->path_entry) ||
- GTK_WIDGET_HAS_FOCUS(pw->search_entry));
+
+ imd_widget = gtk_container_get_focus_child(GTK_CONTAINER(pw->imd->widget));
+ focused = (pw->fs || (imd_widget && gtk_widget_has_focus(imd_widget)));
+ on_entry = (gtk_widget_has_focus(pw->path_entry) ||
+ gtk_widget_has_focus(pw->search_entry));
if (focused)
{
stop_signal = TRUE;
switch (event->keyval)
{
- case GDK_Left: case GDK_KP_Left:
+ case GDK_KEY_Left: case GDK_KEY_KP_Left:
x -= 1;
break;
- case GDK_Right: case GDK_KP_Right:
+ case GDK_KEY_Right: case GDK_KEY_KP_Right:
x += 1;
break;
- case GDK_Up: case GDK_KP_Up:
+ case GDK_KEY_Up: case GDK_KEY_KP_Up:
y -= 1;
break;
- case GDK_Down: case GDK_KP_Down:
+ case GDK_KEY_Down: case GDK_KEY_KP_Down:
y += 1;
break;
- case GDK_Page_Up: case GDK_KP_Page_Up:
+ case GDK_KEY_Page_Up: case GDK_KEY_KP_Page_Up:
pixbuf_renderer_scroll(pr, 0, 0 - pr->vis_height / 2);
break;
- case GDK_Page_Down: case GDK_KP_Page_Down:
+ case GDK_KEY_Page_Down: case GDK_KEY_KP_Page_Down:
pixbuf_renderer_scroll(pr, 0, pr->vis_height / 2);
break;
- case GDK_Home: case GDK_KP_Home:
+ case GDK_KEY_Home: case GDK_KEY_KP_Home:
pixbuf_renderer_scroll(pr, 0 - pr->vis_width / 2, 0);
break;
- case GDK_End: case GDK_KP_End:
+ case GDK_KEY_End: case GDK_KEY_KP_End:
pixbuf_renderer_scroll(pr, pr->vis_width / 2, 0);
break;
default:
if (event->state & GDK_CONTROL_MASK)
{
- gint n = -1;
-
stop_signal = TRUE;
switch (event->keyval)
{
case '1':
- n = 0;
- break;
case '2':
- n = 1;
- break;
case '3':
- n = 2;
- break;
case '4':
- n = 3;
- break;
case '5':
- n = 4;
- break;
case '6':
- n = 5;
- break;
case '7':
- n = 6;
- break;
case '8':
- n = 7;
- break;
case '9':
- n = 8;
- break;
case '0':
- n = 9;
break;
case 'C': case 'c':
if (fd) file_util_copy(fd, NULL, NULL, GTK_WIDGET(pr));
stop_signal = TRUE;
switch (event->keyval)
{
- case GDK_Escape:
+ case GDK_KEY_Escape:
if (pw->fs)
{
pan_fullscreen_toggle(pw, TRUE);
stop_signal = TRUE;
switch (event->keyval)
{
- case '+': case '=': case GDK_KP_Add:
+ case '+': case '=': case GDK_KEY_KP_Add:
pixbuf_renderer_zoom_adjust(pr, ZOOM_INCREMENT);
break;
- case '-': case GDK_KP_Subtract:
+ case '-': case GDK_KEY_KP_Subtract:
pixbuf_renderer_zoom_adjust(pr, -ZOOM_INCREMENT);
break;
- case 'Z': case 'z': case GDK_KP_Divide: case '1':
+ case 'Z': case 'z': case GDK_KEY_KP_Divide: case '1':
pixbuf_renderer_zoom_set(pr, 1.0);
break;
case '2':
break;
case 'F': case 'f':
case 'V': case 'v':
- case GDK_F11:
+ case GDK_KEY_F11:
pan_fullscreen_toggle(pw, FALSE);
break;
case 'I': case 'i':
pan_overlay_toggle(pw);
#endif
break;
- case GDK_Delete: case GDK_KP_Delete:
+ case GDK_KEY_Delete: case GDK_KEY_KP_Delete:
break;
- case GDK_Menu:
- case GDK_F10:
+ case GDK_KEY_Menu:
+ case GDK_KEY_F10:
menu = pan_popup_menu(pw);
gtk_menu_popup(GTK_MENU(menu), NULL, NULL,
pan_window_menu_pos_cb, pw, 0, GDK_CURRENT_TIME);
PAN_POPUP_BORDER_COLOR, PAN_POPUP_ALPHA);
pan_item_set_key(pbox, "info");
- p = pan_item_image_new(pw, file_data_new_simple(pi->fd->path),
+ p = pan_item_image_new(pw, file_data_new_group(pi->fd->path),
pbox->x + PREF_PAD_BORDER, pbox->y + PREF_PAD_BORDER, iw, ih);
pan_item_set_key(p, "info");
pan_item_size_by_item(pbox, p, PREF_PAD_BORDER);
PanWindow *pw = data;
gboolean visible;
- visible = GTK_WIDGET_VISIBLE(pw->search_box);
+ visible = gtk_widget_get_visible(pw->search_box);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)) == visible) return;
if (visible)
if (enable)
{
- if (GTK_WIDGET_VISIBLE(pw->search_box))
+ if (gtk_widget_get_visible(pw->search_box))
{
gtk_widget_grab_focus(pw->search_entry);
}
}
else
{
- if (GTK_WIDGET_VISIBLE(pw->search_entry))
+ if (gtk_widget_get_visible(pw->search_entry))
{
- if (GTK_WIDGET_HAS_FOCUS(pw->search_entry))
+ if (gtk_widget_has_focus(pw->search_entry))
{
gtk_widget_grab_focus(GTK_WIDGET(pw->imd->widget));
}
pixbuf_renderer_get_image_size(pr, &width, &height);
adj = gtk_range_get_adjustment(GTK_RANGE(pw->scrollbar_h));
- adj->page_size = (gdouble)rect.width;
- adj->page_increment = adj->page_size / 2.0;
- adj->step_increment = 48.0 / pr->scale;
- adj->lower = 0.0;
- adj->upper = MAX((gdouble)width, 1.0);
- adj->value = (gdouble)rect.x;
+ gtk_adjustment_set_page_size(adj, rect.width);
+ gtk_adjustment_set_page_increment(adj, gtk_adjustment_get_page_size(adj) / 2.0);
+ gtk_adjustment_set_step_increment(adj, 48.0 / pr->scale);
+ gtk_adjustment_set_lower(adj, 0.0);
+ gtk_adjustment_set_upper(adj, MAX((gdouble)width, 1.0));
+ gtk_adjustment_set_value(adj, (gdouble)rect.x);
pref_signal_block_data(pw->scrollbar_h, pw);
gtk_adjustment_changed(adj);
pref_signal_unblock_data(pw->scrollbar_h, pw);
adj = gtk_range_get_adjustment(GTK_RANGE(pw->scrollbar_v));
- adj->page_size = (gdouble)rect.height;
- adj->page_increment = adj->page_size / 2.0;
- adj->step_increment = 48.0 / pr->scale;
- adj->lower = 0.0;
- adj->upper = MAX((gdouble)height, 1.0);
- adj->value = (gdouble)rect.y;
+ gtk_adjustment_set_page_size(adj, rect.height);
+ gtk_adjustment_set_page_increment(adj, gtk_adjustment_get_page_size(adj) / 2.0);
+ gtk_adjustment_set_step_increment(adj, 48.0 / pr->scale);
+ gtk_adjustment_set_lower(adj, 0.0);
+ gtk_adjustment_set_upper(adj, MAX((gdouble)height, 1.0));
+ gtk_adjustment_set_value(adj, (gdouble)rect.y);
pref_signal_block_data(pw->scrollbar_v, pw);
gtk_adjustment_changed(adj);
}
else
{
- FileData *dir_fd = file_data_new_simple(path);
+ FileData *dir_fd = file_data_new_dir(path);
tab_completion_append_to_history(pw->path_entry, path);
pan_layout_set_fd(pw, dir_fd);
pref_label_new(box, _("Location:"));
combo = tab_completion_new_with_history(&pw->path_entry, dir_fd->path, "pan_view_path", -1,
pan_window_entry_activate_cb, pw);
- g_signal_connect(G_OBJECT(pw->path_entry->parent), "changed",
+ g_signal_connect(G_OBJECT(gtk_widget_get_parent(pw->path_entry)), "changed",
G_CALLBACK(pan_window_entry_change_cb), pw);
gtk_box_pack_start(GTK_BOX(box), combo, TRUE, TRUE, 0);
gtk_widget_show(combo);
- combo = gtk_combo_box_new_text();
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Timeline"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Calendar"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Folders"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Folders (flower)"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Grid"));
+ combo = gtk_combo_box_text_new();
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Timeline"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Calendar"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Folders"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Folders (flower)"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Grid"));
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), pw->layout);
g_signal_connect(G_OBJECT(combo), "changed",
gtk_box_pack_start(GTK_BOX(box), combo, FALSE, FALSE, 0);
gtk_widget_show(combo);
- combo = gtk_combo_box_new_text();
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Dots"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("No Images"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Small Thumbnails"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Normal Thumbnails"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Large Thumbnails"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:10 (10%)"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:4 (25%)"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:3 (33%)"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:2 (50%)"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:1 (100%)"));
+ combo = gtk_combo_box_text_new();
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Dots"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("No Images"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Small Thumbnails"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Normal Thumbnails"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Large Thumbnails"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("1:10 (10%)"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("1:4 (25%)"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("1:3 (33%)"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("1:2 (50%)"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("1:1 (100%)"));
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), pw->size);
g_signal_connect(G_OBJECT(combo), "changed",
{
GList *list;
- list = uri_filelist_from_text((gchar *)selection_data->data, TRUE);
+ list = uri_filelist_from_gtk_selection_data(selection_data);
if (list && isdir(((FileData *)list->data)->path))
{
FileData *fd = list->data;
fd = pan_menu_click_fd(pw);
if (fd)
{
- gchar *text = NULL;
- gint len;
- gboolean plain_text;
GList *list;
- switch (info)
- {
- case TARGET_URI_LIST:
- plain_text = FALSE;
- break;
- case TARGET_TEXT_PLAIN:
- default:
- plain_text = TRUE;
- break;
- }
list = g_list_append(NULL, fd);
- text = uri_text_from_filelist(list, &len, plain_text);
+ uri_selection_data_set_uris_from_filelist(selection_data, list);
g_list_free(list);
- if (text)
- {
- gtk_selection_data_set(selection_data, selection_data->target,
- 8, (guchar *)text, len);
- g_free(text);
- }
}
else
{
- gtk_selection_data_set(selection_data, selection_data->target,
+ gtk_selection_data_set(selection_data, gtk_selection_data_get_target(selection_data),
8, NULL, 0);
}
}