#include <math.h>
#include <string.h>
-#include <glib/gi18n.h>
+#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include "ev-view.h"
#include "ev-view-accessible.h"
#include "ev-view-private.h"
+#include "ev-view-type-builtins.h"
#define EV_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EV_TYPE_VIEW, EvViewClass))
#define EV_IS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EV_TYPE_VIEW))
TARGET_DND_IMAGE
};
-enum {
- TARGET_STRING,
- TARGET_TEXT,
- TARGET_COMPOUND_TEXT,
- TARGET_UTF8_STRING,
- TARGET_TEXT_BUFFER_CONTENTS
-};
-
-static const GtkTargetEntry clipboard_targets[] = {
- { "STRING", 0, TARGET_STRING },
- { "TEXT", 0, TARGET_TEXT },
- { "COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT },
- { "UTF8_STRING", 0, TARGET_UTF8_STRING },
-};
-
static guint signals[N_SIGNALS];
typedef enum {
g_free (txt);
}
- g_signal_connect (G_OBJECT (text), "changed",
+ g_signal_connect (text, "changed",
G_CALLBACK (ev_view_form_field_text_changed),
field);
- g_signal_connect_after (G_OBJECT (text), "activate",
+ g_signal_connect_after (text, "activate",
G_CALLBACK (ev_view_form_field_destroy),
view);
break;
g_free (txt);
}
- g_signal_connect (G_OBJECT (buffer), "changed",
+ g_signal_connect (buffer, "changed",
G_CALLBACK (ev_view_form_field_text_changed),
field);
}
gtk_container_add (GTK_CONTAINER (choice), tree_view);
gtk_widget_show (tree_view);
- g_signal_connect (G_OBJECT (selection), "changed",
+ g_signal_connect (selection, "changed",
G_CALLBACK (ev_view_form_field_choice_changed),
field);
- g_signal_connect_after (G_OBJECT (selection), "changed",
+ g_signal_connect_after (selection, "changed",
G_CALLBACK (ev_view_form_field_destroy),
view);
} else if (field_choice->is_editable) { /* ComboBoxEntry */
g_free (text);
}
- g_signal_connect (G_OBJECT (choice), "changed",
+ g_signal_connect (choice, "changed",
G_CALLBACK (ev_view_form_field_choice_changed),
field);
- g_signal_connect_after (G_OBJECT (GTK_BIN (choice)->child), "activate",
+ g_signal_connect_after (GTK_BIN(choice)->child, "activate",
G_CALLBACK (ev_view_form_field_destroy),
view);
} else { /* ComboBoxText */
gtk_combo_box_set_active (GTK_COMBO_BOX (choice), selected_item);
gtk_combo_box_popup (GTK_COMBO_BOX (choice));
- g_signal_connect (G_OBJECT (choice), "changed",
+ g_signal_connect (choice, "changed",
G_CALLBACK (ev_view_form_field_choice_changed),
field);
- g_signal_connect_after (G_OBJECT (choice), "changed",
+ g_signal_connect_after (choice, "changed",
G_CALLBACK (ev_view_form_field_destroy),
view);
}
if (view->image_dnd_info.image) {
GdkPixbuf *pixbuf;
const gchar *tmp_uri;
- gchar **uris;
+ gchar *uris[2];
ev_document_doc_mutex_lock ();
pixbuf = ev_document_images_get_image (EV_DOCUMENT_IMAGES (view->document),
tmp_uri = ev_image_save_tmp (view->image_dnd_info.image, pixbuf);
g_object_unref (pixbuf);
- uris = g_new0 (gchar *, 2);
uris[0] = (gchar *)tmp_uri;
-
+ uris[1] = NULL;
gtk_selection_data_set_uris (selection_data, uris);
-
- /* g_free instead of g_strfreev since tmp_uri is const */
- g_free (uris);
}
}
}
}
view->goto_window = gtk_window_new (GTK_WINDOW_POPUP);
+ gtk_window_set_screen (GTK_WINDOW (view->goto_window),
+ gtk_widget_get_screen (GTK_WIDGET (view)));
if (GTK_WINDOW (toplevel)->group)
gtk_window_group_add_window (GTK_WINDOW (toplevel)->group,
GDK_SELECTION_PRIMARY);
if (ev_view->selection_info.selections || ev_view->link_selected) {
+ GtkTargetList *target_list;
+ GtkTargetEntry *targets;
+ int n_targets;
+
+ target_list = gtk_target_list_new (NULL, 0);
+ gtk_target_list_add_text_targets (target_list, 0);
+ targets = gtk_target_table_new_from_list (target_list, &n_targets);
+ gtk_target_list_unref (target_list);
+
if (!gtk_clipboard_set_with_owner (clipboard,
- clipboard_targets,
- G_N_ELEMENTS (clipboard_targets),
+ targets, n_targets,
ev_view_primary_get_cb,
ev_view_primary_clear_cb,
G_OBJECT (ev_view)))
ev_view_primary_clear_cb (clipboard, ev_view);
+
+ gtk_target_table_free (targets, n_targets);
} else {
if (gtk_clipboard_get_owner (clipboard) == G_OBJECT (ev_view))
gtk_clipboard_clear (clipboard);
/*** Enum description for usage in signal ***/
-GType
-ev_sizing_mode_get_type (void)
-{
- static GType etype = 0;
- if (etype == 0) {
- static const GEnumValue values[] = {
- { EV_SIZING_FIT_WIDTH, "EV_SIZING_FIT_WIDTH", "fit-width" },
- { EV_SIZING_BEST_FIT, "EV_SIZING_BEST_FIT", "best-fit" },
- { EV_SIZING_FREE, "EV_SIZING_FREE", "free" },
- { 0, NULL, NULL }
- };
- etype = g_enum_register_static ("EvSizingMode", values);
- }
- return etype;
-}
-
void
ev_view_update_view_size (EvView *view, GtkScrolledWindow * scrolled_window)
{