File: pp_menu_edit.cpp

package info (click to toggle)
photoprint 0.4.1-3
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 10,568 kB
  • ctags: 4,517
  • sloc: cpp: 46,643; sh: 10,360; ansic: 4,755; makefile: 543; sed: 16
file content (72 lines) | stat: -rw-r--r-- 2,206 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>

#include <gtk/gtkstock.h>
#include <gtk/gtkmain.h>

#include "pp_menu_edit.h"
#include "pp_mainwindow.h"
#include "dialogs.h"
#include "miscwidgets/generaldialogs.h"
#include "support/progressbar.h"

#include "config.h"
#include "gettext.h"
#define _(x) gettext(x)
#define N_(x) gettext_noop(x)

using namespace std;


static void edit_selectall(GtkAction *action,gpointer *ob)
{
	pp_MainWindow *mw=(pp_MainWindow *)ob;
	mw->state->layout->SelectAll();
	pp_mainwindow_refresh(mw);
}


static void edit_selectnone(GtkAction *action,gpointer *ob)
{
	pp_MainWindow *mw=(pp_MainWindow *)ob;
	mw->state->layout->SelectNone();
	pp_mainwindow_refresh(mw);
}


static GtkActionEntry editmenu_entries[] = {
  { "EditMenu", NULL, N_("_Edit") },
  
  { "SelectAll", NULL, N_("Select _All"), "<control>A", N_("Select all images"), G_CALLBACK(edit_selectall) },
  { "SelectNone", NULL, N_("Select _None"), NULL, N_("Deselect all images"), G_CALLBACK(edit_selectnone) },
  { "Cut", GTK_STOCK_CUT, N_("_Cut"), "<control>X", N_("Cut the current image to the clipboard"), NULL },
  { "Copy", GTK_STOCK_COPY, N_("C_opy"), "<control>C", N_("Copy the current image to the clipboard"), NULL },
  { "Paste", GTK_STOCK_PASTE, N_("_Paste"), "<control>V", N_("Paste the contents of the clipboard as a new image"), NULL },
};

static const char *editmenu_ui_description =
"<ui>"
"  <menubar name='MainMenu'>"
"    <menu action='EditMenu'>"
"      <menuitem action='SelectAll'/>"
"      <menuitem action='SelectNone'/>"
"      <separator/>"
"      <menuitem action='Cut'/>"
"      <menuitem action='Copy'/>"
"      <menuitem action='Paste'/>"
"    </menu>"
"  </menubar>"
"</ui>";


void BuildEditMenu(void *userdata,GtkUIManager *ui_manager)
{
	GError *error=NULL;
	GtkActionGroup *action_group;
	action_group = gtk_action_group_new ("EditMenuActions");
	gtk_action_group_set_translation_domain(action_group,PACKAGE);
	gtk_action_group_add_actions (action_group, editmenu_entries, G_N_ELEMENTS (editmenu_entries), userdata);
	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
	
	if (!gtk_ui_manager_add_ui_from_string (ui_manager, editmenu_ui_description, -1, &error))
		throw error->message;
}