24
24
#include <glib/gi18n.h>
25
25
#include <glib-object.h>
26
26
#include <gthumb.h>
27
#include <extensions/export_tools/export-tools.h>
28
#include <extensions/photo_importer/photo-importer.h>
29
27
#include "actions.h"
30
#include "callbacks.h"
33
static const GActionEntry actions[] = {
34
{ "export-flickr", gth_browser_activate_export_flickr },
35
{ "import-flickr", gth_browser_activate_import_flickr }
30
#define BROWSER_DATA_KEY "flicker-browser-data"
33
static const char *ui_info =
35
" <menubar name='MenuBar'>"
36
" <menu name='File' action='FileMenu'>"
37
" <menu name='Import' action='ImportMenu'>"
38
" <placeholder name='Web_Services'>"
39
" <menuitem action='File_Import_Flicker'/>"
42
" <menu name='Export' action='ExportMenu'>"
43
" <placeholder name='Web_Services'>"
44
" <menuitem action='File_Export_Flicker'/>"
49
" <popup name='ExportPopup'>"
50
" <placeholder name='Web_Services'>"
51
" <menuitem action='File_Export_Flicker'/>"
57
static GthActionEntryExt action_entries[] = {
58
{ "File_Import_Flicker", "site-flickr",
59
N_("_Flickr..."), NULL,
60
N_("Download photos from Flickr"),
61
GTH_ACTION_FLAG_ALWAYS_SHOW_IMAGE,
62
G_CALLBACK (gth_browser_activate_action_import_flicker) },
63
{ "File_Export_Flicker", "site-flickr",
64
N_("_Flickr..."), NULL,
65
N_("Upload photos to Flickr"),
66
GTH_ACTION_FLAG_ALWAYS_SHOW_IMAGE,
67
G_CALLBACK (gth_browser_activate_action_export_flicker) },
72
GtkActionGroup *action_group;
77
browser_data_free (BrowserData *data)
40
84
fl__gth_browser_construct_cb (GthBrowser *browser)
42
90
g_return_if_fail (GTH_IS_BROWSER (browser));
44
g_action_map_add_action_entries (G_ACTION_MAP (browser),
46
G_N_ELEMENTS (actions),
48
gth_menu_manager_append_entry (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_WEB_EXPORTERS),
49
GTH_MENU_MANAGER_NEW_MERGE_ID,
54
gth_menu_manager_append_entry (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_WEB_IMPORTERS),
55
GTH_MENU_MANAGER_NEW_MERGE_ID,
92
data = g_new0 (BrowserData, 1);
94
data->action_group = gtk_action_group_new ("Flicker Actions");
95
gtk_action_group_set_translation_domain (data->action_group, NULL);
96
_gtk_action_group_add_actions_with_flags (data->action_group,
98
G_N_ELEMENTS (action_entries),
100
gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), data->action_group, 0);
102
merge_id = gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), ui_info, -1, &error);
104
g_warning ("building ui failed: %s", error->message);
105
g_clear_error (&error);
108
g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free);