X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fui.c;h=26dc2cd4475a8b93d387d3f719c0685e0997827b;hb=1e8097a4df10a4ac802efe6fd457013c6a9f55dd;hp=a76b45ce21291d1325ef704b8d6434d8df6e2f86;hpb=be84e5a72c2ffc412fcf7905115a78b8faa6820b;p=glabels diff --git a/src/ui.c b/src/ui.c index a76b45ce..26dc2cd4 100644 --- a/src/ui.c +++ b/src/ui.c @@ -23,7 +23,6 @@ #include "ui.h" #include -#include #include #include @@ -31,7 +30,6 @@ #include "ui-commands.h" #include "file.h" #include "prefs.h" -#include "stock.h" #include "window.h" #include "recent.h" @@ -101,8 +99,8 @@ static GtkActionEntry entries[] = { { "ObjectsCreateMenu", NULL, N_("_Create") }, { "ObjectsOrderMenu", NULL, N_("_Order") }, { "ObjectsRotateFlipMenu", NULL, N_("_Rotate/Flip") }, - { "ObjectsAlignHorizMenu", NULL, N_("Align _Horizontal") }, - { "ObjectsAlignVertMenu", NULL, N_("Align _Vertical") }, + { "ObjectsAlignMenu", NULL, N_("_Alignment") }, + { "ObjectsCenterMenu", NULL, N_("C_enter") }, { "HelpMenu", NULL, N_("_Help") }, /* Popup entries. */ @@ -175,6 +173,20 @@ static GtkActionEntry entries[] = { /* Edit action entries. */ + { "EditUndo", + GTK_STOCK_UNDO, + N_("Undo"), + "Z", + N_("Undo"), + G_CALLBACK (gl_ui_cmd_edit_undo) }, + + { "EditRedo", + GTK_STOCK_REDO, + N_("Redo"), + "Z", + N_("Redo"), + G_CALLBACK (gl_ui_cmd_edit_redo) }, + { "EditCut", GTK_STOCK_CUT, N_("Cut"), @@ -257,154 +269,154 @@ static GtkActionEntry entries[] = { /* Objects action entries. */ { "ObjectsArrowMode", - GL_STOCK_ARROW, + "glabels-arrow", N_("Select Mode"), NULL, N_("Select, move and modify objects"), G_CALLBACK (gl_ui_cmd_objects_arrow_mode) }, { "ObjectsCreateText", - GL_STOCK_TEXT, + "glabels-text", N_("Text"), NULL, N_("Create text object"), G_CALLBACK (gl_ui_cmd_objects_create_text) }, { "ObjectsCreateBox", - GL_STOCK_BOX, + "glabels-box", N_("Box"), NULL, N_("Create box/rectangle object"), G_CALLBACK (gl_ui_cmd_objects_create_box) }, { "ObjectsCreateLine", - GL_STOCK_LINE, + "glabels-line", N_("Line"), NULL, N_("Create line object"), G_CALLBACK (gl_ui_cmd_objects_create_line) }, { "ObjectsCreateEllipse", - GL_STOCK_ELLIPSE, + "glabels-ellipse", N_("Ellipse"), NULL, N_("Create ellipse/circle object"), G_CALLBACK (gl_ui_cmd_objects_create_ellipse) }, { "ObjectsCreateImage", - GL_STOCK_IMAGE, + "glabels-image", N_("Image"), NULL, N_("Create image object"), G_CALLBACK (gl_ui_cmd_objects_create_image) }, { "ObjectsCreateBarcode", - GL_STOCK_BARCODE, + "glabels-barcode", N_("Barcode"), NULL, N_("Create barcode object"), G_CALLBACK (gl_ui_cmd_objects_create_barcode) }, { "ObjectsRaise", - GL_STOCK_ORDER_TOP, + "glabels-order-top", N_("Bring to front"), NULL, N_("Raise object to top"), G_CALLBACK (gl_ui_cmd_objects_raise) }, { "ObjectsLower", - GL_STOCK_ORDER_BOTTOM, + "glabels-order-bottom", N_("Send to back"), NULL, N_("Lower object to bottom"), G_CALLBACK (gl_ui_cmd_objects_lower) }, { "ObjectsRotateLeft", - GL_STOCK_ROTATE_LEFT, + "glabels-rotate-left", N_("Rotate left"), NULL, N_("Rotate object 90 degrees counter-clockwise"), G_CALLBACK (gl_ui_cmd_objects_rotate_left) }, { "ObjectsRotateRight", - GL_STOCK_ROTATE_RIGHT, + "glabels-rotate-right", N_("Rotate right"), NULL, N_("Rotate object 90 degrees clockwise"), G_CALLBACK (gl_ui_cmd_objects_rotate_right) }, { "ObjectsFlipHorizontal", - GL_STOCK_FLIP_HORIZ, + "glabels-flip-horiz", N_("Flip horizontally"), NULL, N_("Flip object horizontally"), G_CALLBACK (gl_ui_cmd_objects_flip_horiz) }, { "ObjectsFlipVertical", - GL_STOCK_FLIP_VERT, + "glabels-flip-vert", N_("Flip vertically"), NULL, N_("Flip object vertically"), G_CALLBACK (gl_ui_cmd_objects_flip_vert) }, { "ObjectsAlignLeft", - GL_STOCK_ALIGN_LEFT, + "glabels-align-left", N_("Align left"), NULL, N_("Align objects to left edges"), G_CALLBACK (gl_ui_cmd_objects_align_left) }, + { "ObjectsAlignHCenter", + "glabels-align-hcenter", + N_("Align center"), + NULL, + N_("Align objects to horizontal centers"), + G_CALLBACK (gl_ui_cmd_objects_align_hcenter) }, + { "ObjectsAlignRight", - GL_STOCK_ALIGN_RIGHT, + "glabels-align-right", N_("Align right"), NULL, N_("Align objects to right edges"), G_CALLBACK (gl_ui_cmd_objects_align_right) }, - { "ObjectsAlignHCenter", - GL_STOCK_ALIGN_HCENTER, - N_("Align horizontal center"), - NULL, - N_("Align objects to horizontal centers"), - G_CALLBACK (gl_ui_cmd_objects_align_hcenter) }, - { "ObjectsAlignTop", - GL_STOCK_ALIGN_TOP, - N_("Align tops"), + "glabels-align-top", + N_("Align top"), NULL, N_("Align objects to top edges"), G_CALLBACK (gl_ui_cmd_objects_align_top) }, - { "ObjectsAlignBottom", - GL_STOCK_ALIGN_BOTTOM, - N_("Align bottoms"), - NULL, - N_("Align objects to bottom edges"), - G_CALLBACK (gl_ui_cmd_objects_align_bottom) }, - { "ObjectsAlignVCenter", - GL_STOCK_ALIGN_VCENTER, - N_("Align vertical center"), + "glabels-align-vcenter", + N_("Align middle"), NULL, N_("Align objects to vertical centers"), G_CALLBACK (gl_ui_cmd_objects_align_vcenter) }, + { "ObjectsAlignBottom", + "glabels-align-bottom", + N_("Align bottom"), + NULL, + N_("Align objects to bottom edges"), + G_CALLBACK (gl_ui_cmd_objects_align_bottom) }, + { "ObjectsCenterHorizontal", - GL_STOCK_CENTER_HORIZ, + "glabels-center-horiz", N_("Center horizontally"), NULL, N_("Center objects to horizontal label center"), G_CALLBACK (gl_ui_cmd_objects_center_horiz) }, { "ObjectsCenterVertical", - GL_STOCK_CENTER_VERT, + "glabels-center-vert", N_("Center vertically"), NULL, N_("Center objects to vertical label center"), G_CALLBACK (gl_ui_cmd_objects_center_vert) }, { "ObjectsMergeProperties", - GL_STOCK_MERGE, + "glabels-merge", N_("Merge properties"), NULL, N_("Edit merge properties"), @@ -500,6 +512,9 @@ static const gchar *ui_info = " " " " " " +" " +" " +" " " " " " " " @@ -544,16 +559,17 @@ static const gchar *ui_info = " " " " " " -" " +" " " " " " " " -" " -" " -" " +" " " " " " " " +" " +" " +" " " " " " " " @@ -606,16 +622,17 @@ static const gchar *ui_info = " " " " " " -" " +" " " " " " " " -" " -" " -" " +" " " " " " " " +" " +" " +" " " " " " " " @@ -638,6 +655,8 @@ static gchar* doc_verbs [] = { "/ui/MenuBar/FileMenu/FileSaveAs", "/ui/MenuBar/FileMenu/FilePrint", "/ui/MenuBar/FileMenu/FileClose", + "/ui/MenuBar/EditMenu/EditUndo", + "/ui/MenuBar/EditMenu/EditRedo", "/ui/MenuBar/EditMenu/EditCut", "/ui/MenuBar/EditMenu/EditCopy", "/ui/MenuBar/EditMenu/EditDelete", @@ -650,26 +669,31 @@ static gchar* doc_verbs [] = { "/ui/MenuBar/ViewMenu/ViewGrid", "/ui/MenuBar/ViewMenu/ViewMarkup", "/ui/MenuBar/ObjectsMenu/ObjectsArrowMode", + "/ui/MenuBar/ObjectsMenu/ObjectsCreateMenu", "/ui/MenuBar/ObjectsMenu/ObjectsCreateMenu/ObjectsCreateText", "/ui/MenuBar/ObjectsMenu/ObjectsCreateMenu/ObjectsCreateLine", "/ui/MenuBar/ObjectsMenu/ObjectsCreateMenu/ObjectsCreateBox", "/ui/MenuBar/ObjectsMenu/ObjectsCreateMenu/ObjectsCreateEllipse", "/ui/MenuBar/ObjectsMenu/ObjectsCreateMenu/ObjectsCreateImage", "/ui/MenuBar/ObjectsMenu/ObjectsCreateMenu/ObjectsCreateBarcode", + "/ui/MenuBar/ObjectsMenu/ObjectsOrderMenu", "/ui/MenuBar/ObjectsMenu/ObjectsOrderMenu/ObjectsRaise", "/ui/MenuBar/ObjectsMenu/ObjectsOrderMenu/ObjectsLower", + "/ui/MenuBar/ObjectsMenu/ObjectsRotateFlipMenu", "/ui/MenuBar/ObjectsMenu/ObjectsRotateFlipMenu/ObjectsRotateLeft", "/ui/MenuBar/ObjectsMenu/ObjectsRotateFlipMenu/ObjectsRotateRight", "/ui/MenuBar/ObjectsMenu/ObjectsRotateFlipMenu/ObjectsFlipHorizontal", "/ui/MenuBar/ObjectsMenu/ObjectsRotateFlipMenu/ObjectsFlipVertical", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignHorizMenu/ObjectsAlignLeft", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignHorizMenu/ObjectsAlignRight", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignHorizMenu/ObjectsAlignHCenter", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignHorizMenu/ObjectsCenterHorizontal", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignVertMenu/ObjectsAlignTop", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignVertMenu/ObjectsAlignBottom", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignVertMenu/ObjectsAlignVCenter", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignVertMenu/ObjectsCenterVertical", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignLeft", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignRight", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignHCenter", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignTop", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignBottom", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignVCenter", + "/ui/MenuBar/ObjectsMenu/ObjectsCenterMenu", + "/ui/MenuBar/ObjectsMenu/ObjectsCenterMenu/ObjectsCenterHorizontal", + "/ui/MenuBar/ObjectsMenu/ObjectsCenterMenu/ObjectsCenterVertical", "/ui/MenuBar/ObjectsMenu/ObjectsMergeProperties", NULL @@ -692,14 +716,17 @@ static gchar* selection_verbs [] = { "/ui/MenuBar/EditMenu/EditCopy", "/ui/MenuBar/EditMenu/EditDelete", "/ui/MenuBar/EditMenu/EditUnSelectAll", + "/ui/MenuBar/ObjectsMenu/ObjectsOrderMenu", "/ui/MenuBar/ObjectsMenu/ObjectsOrderMenu/ObjectsRaise", "/ui/MenuBar/ObjectsMenu/ObjectsOrderMenu/ObjectsLower", + "/ui/MenuBar/ObjectsMenu/ObjectsRotateFlipMenu", "/ui/MenuBar/ObjectsMenu/ObjectsRotateFlipMenu/ObjectsRotateLeft", "/ui/MenuBar/ObjectsMenu/ObjectsRotateFlipMenu/ObjectsRotateRight", "/ui/MenuBar/ObjectsMenu/ObjectsRotateFlipMenu/ObjectsFlipHorizontal", "/ui/MenuBar/ObjectsMenu/ObjectsRotateFlipMenu/ObjectsFlipVertical", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignHorizMenu/ObjectsCenterHorizontal", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignVertMenu/ObjectsCenterVertical", + "/ui/MenuBar/ObjectsMenu/ObjectsCenterMenu", + "/ui/MenuBar/ObjectsMenu/ObjectsCenterMenu/ObjectsCenterHorizontal", + "/ui/MenuBar/ObjectsMenu/ObjectsCenterMenu/ObjectsCenterVertical", NULL }; @@ -710,12 +737,13 @@ static gchar* atomic_selection_verbs [] = { }; static gchar* multi_selection_verbs [] = { - "/ui/MenuBar/ObjectsMenu/ObjectsAlignHorizMenu/ObjectsAlignLeft", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignHorizMenu/ObjectsAlignRight", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignHorizMenu/ObjectsAlignHCenter", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignVertMenu/ObjectsAlignTop", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignVertMenu/ObjectsAlignBottom", - "/ui/MenuBar/ObjectsMenu/ObjectsAlignVertMenu/ObjectsAlignVCenter", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignLeft", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignRight", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignHCenter", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignTop", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignBottom", + "/ui/MenuBar/ObjectsMenu/ObjectsAlignMenu/ObjectsAlignVCenter", NULL }; @@ -937,8 +965,26 @@ void gl_ui_update_undo_redo_verbs (GtkUIManager *ui, glLabel *label) { + GtkWidget *menu_item; + gchar *description; + gchar *menu_label; + gl_debug (DEBUG_UI, "START"); + menu_item = gtk_ui_manager_get_widget (ui, "/MenuBar/EditMenu/EditUndo"); + description = gl_label_get_undo_description (label); + menu_label = g_strdup_printf ("%s: %s", _("Undo"), description); + gtk_menu_item_set_label (GTK_MENU_ITEM (menu_item), menu_label); + g_free (menu_label); + g_free (description); + + menu_item = gtk_ui_manager_get_widget (ui, "/MenuBar/EditMenu/EditRedo"); + description = gl_label_get_redo_description (label); + menu_label = g_strdup_printf ("%s: %s", _("Redo"), description); + gtk_menu_item_set_label (GTK_MENU_ITEM (menu_item), menu_label); + g_free (menu_label); + g_free (description); + gl_ui_util_set_verb_sensitive (ui, "/ui/MenuBar/EditMenu/EditUndo", gl_label_can_undo (label)); @@ -1120,11 +1166,11 @@ set_additional_properties (GtkUIManager *ui) menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (menu_item)); descend_menu_set_always_show_image (GTK_MENU (menu)); - menu_item = gtk_ui_manager_get_widget (ui, "/ContextMenu/ObjectsAlignHorizMenu/"); + menu_item = gtk_ui_manager_get_widget (ui, "/ContextMenu/ObjectsAlignMenu/"); menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (menu_item)); descend_menu_set_always_show_image (GTK_MENU (menu)); - menu_item = gtk_ui_manager_get_widget (ui, "/ContextMenu/ObjectsAlignVertMenu/"); + menu_item = gtk_ui_manager_get_widget (ui, "/ContextMenu/ObjectsCenterMenu/"); menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (menu_item)); descend_menu_set_always_show_image (GTK_MENU (menu)); }