Zoom scale 1:1 tool and key 1.
authordanigm <dani@danigm.net>
Fri, 2 Apr 2010 23:37:33 +0000 (23:37 +0000)
committerdanigm <danigm@aa302d1f-72b1-406a-902b-8593ca2b2744>
Fri, 2 Apr 2010 23:37:33 +0000 (23:37 +0000)
Added zoom 1:1 tool. Also added a flag to disable key binding when you
are editing text.

From: danigm <dani@danigm.net>

git-svn-id: https://forja.rediris.es/svn/cusl4-tbo@110 aa302d1f-72b1-406a-902b-8593ca2b2744

HACKING
data/ui/tbo-toolbar-ui.xml
po/es.po
src/selector-tool.c
src/text-tool.c
src/ui-drawing.c
src/ui-drawing.h
src/ui-toolbar.c

diff --git a/HACKING b/HACKING
index 150c262..136ca24 100644 (file)
--- a/HACKING
+++ b/HACKING
@@ -25,7 +25,7 @@ Translations
 To generate translations file .po exec:
 
 $ cd po
-$ intool-update es
+$ intlool-update es
 
 'es' is the language code. Then you need to translate the .po file.
 
index cccf00d..9b015fe 100644 (file)
@@ -17,8 +17,9 @@
        <toolitem name="doodle" action="Doodle"/>
        <toolitem name="text" action="Text"/>
        <separator/>
-       <toolitem name="zoomin" action="Zoomin"/>
+       <toolitem name="zoom100" action="Zoom100"/>
        <toolitem name="zoomout" action="Zoomout"/>
+       <toolitem name="zoomin" action="Zoomin"/>
      </placeholder>
     </toolbar>
 </ui>
index bed4c5b..0ea7e20 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 0.1\n"
 "Report-Msgid-Bugs-To: dani@danigm.net\n"
-"POT-Creation-Date: 2010-03-20 11:05+0100\n"
+"POT-Creation-Date: 2010-04-03 00:45+0200\n"
 "PO-Revision-Date: 2010-01-24 20:48+0100\n"
 "Last-Translator: Daniel Garcia <dani@danigm.net>\n"
 "Language-Team: \n"
@@ -32,7 +32,7 @@ msgstr "No se ha podido cargar el fichero"
 msgid "Couldn't parse file"
 msgstr "No se ha podido parsear el fichero"
 
-#: ../src/comic-new-dialog.c:22 ../src/ui-toolbar.c:239
+#: ../src/comic-new-dialog.c:22 ../src/ui-toolbar.c:246
 msgid "New Comic"
 msgstr "Nuevo Comic"
 
@@ -70,8 +70,8 @@ msgid "Export as"
 msgstr "Exportar como"
 
 #: ../src/selector-tool.c:126
-msgid "Color: "
-msgstr "Color: "
+msgid "Background color: "
+msgstr "Color de fondo: "
 
 #: ../src/selector-tool.c:139
 msgid "border"
@@ -91,14 +91,14 @@ msgstr "Sintitulo"
 msgid "page: %d of %d [ %5d,%5d ] | frames: %d"
 msgstr "página: %d de %d [ %5d,%5d ] | viñetas: %d"
 
-#: ../src/text-tool.c:55
-msgid "Font:"
-msgstr "Fuente:"
-
-#: ../src/text-tool.c:56
+#: ../src/text-tool.c:68
 msgid "Text color:"
 msgstr "Color del texto:"
 
+#: ../src/text-tool.c:69
+msgid "Font:"
+msgstr "Fuente:"
+
 #: ../src/ui-menu.c:30
 msgid "TBO comic editor"
 msgstr "Editor de comic TBO"
@@ -113,7 +113,7 @@ msgid "Help"
 msgstr "Ayuda"
 
 #. File menu
-#: ../src/ui-menu.c:68 ../src/ui-toolbar.c:238
+#: ../src/ui-menu.c:68 ../src/ui-toolbar.c:245
 msgid "_New"
 msgstr "_Nuevo"
 
@@ -121,7 +121,7 @@ msgstr "_Nuevo"
 msgid "Create a new file"
 msgstr "Crear un nuevo fichero"
 
-#: ../src/ui-menu.c:72 ../src/ui-toolbar.c:242
+#: ../src/ui-menu.c:72 ../src/ui-toolbar.c:249
 msgid "_Open"
 msgstr "_Abrir"
 
@@ -129,11 +129,11 @@ msgstr "_Abrir"
 msgid "Open a new file"
 msgstr "Abrir un fichero"
 
-#: ../src/ui-menu.c:76 ../src/ui-toolbar.c:246
+#: ../src/ui-menu.c:76 ../src/ui-toolbar.c:253
 msgid "_Save"
 msgstr "_Guardar"
 
-#: ../src/ui-menu.c:77 ../src/ui-toolbar.c:247
+#: ../src/ui-menu.c:77 ../src/ui-toolbar.c:254
 msgid "Save current document"
 msgstr "Guardar el documento actual"
 
@@ -187,73 +187,80 @@ msgstr "Acerca de"
 msgid "Could not merge tbo-menu-ui.xml: %s"
 msgstr "No se ha podido utilizar tbo-menu-ui.xml: %s"
 
-#: ../src/ui-toolbar.c:243
+#: ../src/ui-toolbar.c:250
 msgid "Open comic"
 msgstr "Abrir comic"
 
 #. Page tools
-#: ../src/ui-toolbar.c:251
+#: ../src/ui-toolbar.c:258
 msgid "New Page"
 msgstr "Nueva Página"
 
-#: ../src/ui-toolbar.c:252
+#: ../src/ui-toolbar.c:259
 msgid "New page"
 msgstr "Nueva página"
 
-#: ../src/ui-toolbar.c:255
+#: ../src/ui-toolbar.c:262
 msgid "Delete Page"
 msgstr "Borrar Página"
 
-#: ../src/ui-toolbar.c:256
+#: ../src/ui-toolbar.c:263
 msgid "Delete current page"
 msgstr "Borrar la página actual"
 
-#: ../src/ui-toolbar.c:259
+#: ../src/ui-toolbar.c:266
 msgid "Prev Page"
 msgstr "Página anterior"
 
-#: ../src/ui-toolbar.c:260
+#: ../src/ui-toolbar.c:267
 msgid "Prev page"
 msgstr "Página anterior"
 
-#: ../src/ui-toolbar.c:263
+#: ../src/ui-toolbar.c:270
 msgid "Next Page"
 msgstr "Página siguiente"
 
-#: ../src/ui-toolbar.c:264
+#: ../src/ui-toolbar.c:271
 msgid "Next page"
 msgstr "Página siguiente"
 
 #. Zoom tools
-#: ../src/ui-toolbar.c:268 ../src/ui-toolbar.c:269
+#: ../src/ui-toolbar.c:275 ../src/ui-toolbar.c:276
 msgid "Zoom in"
 msgstr "Acercar"
 
-#: ../src/ui-toolbar.c:271 ../src/ui-toolbar.c:272
+#: ../src/ui-toolbar.c:278 ../src/ui-toolbar.c:279
+msgid "Zoom 1:1"
+msgstr "Escala 1:1"
+
+#: ../src/ui-toolbar.c:281 ../src/ui-toolbar.c:282
 msgid "Zoom out"
 msgstr "Alejar"
 
 #. Page view tools
-#: ../src/ui-toolbar.c:278
+#: ../src/ui-toolbar.c:288
 msgid "New _Frame"
 msgstr "Nueva _Vieta"
 
-#: ../src/ui-toolbar.c:279
+#: ../src/ui-toolbar.c:289
 msgid "New Frame"
 msgstr "Nueva Vieta"
 
-#: ../src/ui-toolbar.c:282 ../src/ui-toolbar.c:283
+#: ../src/ui-toolbar.c:292 ../src/ui-toolbar.c:293
 msgid "Selector"
 msgstr "Selector"
 
 #. Frame view tools
-#: ../src/ui-toolbar.c:287 ../src/ui-toolbar.c:288
+#: ../src/ui-toolbar.c:297 ../src/ui-toolbar.c:298
 msgid "Doodle"
 msgstr "Monigote"
 
-#: ../src/ui-toolbar.c:290 ../src/ui-toolbar.c:291
+#: ../src/ui-toolbar.c:300 ../src/ui-toolbar.c:301
 msgid "Text"
 msgstr "Texto"
 
+#~ msgid "Color: "
+#~ msgstr "Color: "
+
 #~ msgid "toolbar: %s\n"
 #~ msgstr "barra de herramientas: %s\n"
index 97cafd6..b4d8f6d 100644 (file)
@@ -123,7 +123,7 @@ update_tool_area (TboWindow *tbo)
         g_signal_connect (SPIN_H, "value-changed", G_CALLBACK (update_selected_cb), tbo);
 
         hpanel = gtk_hbox_new (FALSE, 0);
-        label = gtk_label_new (_("Color: "));
+        label = gtk_label_new (_("Background color: "));
         gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
         color = gtk_color_button_new ();
         gdk_color.red = SELECTED->color->r * 65535;
index 09dad3b..eca0878 100644 (file)
@@ -13,6 +13,19 @@ static TextObj *TEXT_SELECTED = NULL;
 static GtkTextBuffer *TEXT_BUFFER = NULL;
 
 void
+on_tview_focus_in (GtkWidget *view, GdkEventFocus *event, gpointer data)
+{
+    set_key_binder (FALSE);
+}
+
+void
+on_tview_focus_out (GtkWidget *view, GdkEventFocus *event, gpointer data)
+{
+    set_key_binder (TRUE);
+}
+
+
+void
 on_text_change (GtkTextBuffer *buf, gpointer data)
 {
     GtkTextIter start, end;
@@ -52,8 +65,8 @@ setup_toolarea (TboWindow *tbo)
 {
     GtkWidget *vbox;
     GtkWidget *hbox;
-    GtkWidget *font_color_label = gtk_label_new (_("Font:"));
-    GtkWidget *font_label = gtk_label_new (_("Text color:"));
+    GtkWidget *font_color_label = gtk_label_new (_("Text color:"));
+    GtkWidget *font_label = gtk_label_new (_("Font:"));
     GtkWidget *scroll;
     GtkWidget *view;
 
@@ -80,6 +93,10 @@ setup_toolarea (TboWindow *tbo)
     scroll = gtk_scrolled_window_new (NULL, NULL);
     gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
     view = gtk_text_view_new ();
+    gtk_widget_add_events (view, GDK_FOCUS_CHANGE_MASK);
+    g_signal_connect (view, "focus-in-event", G_CALLBACK (on_tview_focus_in), tbo);
+    g_signal_connect (view, "focus-out-event", G_CALLBACK (on_tview_focus_out), tbo);
+
     gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (view), GTK_WRAP_WORD);
     TEXT_BUFFER = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
     gtk_text_buffer_set_text (TEXT_BUFFER, "", -1);
@@ -107,6 +124,7 @@ void text_tool_on_unselect (TboWindow *tbo)
         gtk_widget_destroy (GTK_WIDGET (FONT_COLOR));
     */
     tbo_empty_tool_area (tbo);
+    set_key_binder (TRUE);
 }
 
 void text_tool_on_move (GtkWidget *widget, GdkEventMotion *event, TboWindow *tbo)
index ab55cb6..2545ace 100644 (file)
@@ -25,6 +25,7 @@ float ZOOM_STEP = 0.05;
 float ZOOM = 1;
 int DRAWING_W = 0;
 int DRAWING_H = 0;
+gboolean KEY_BINDER = TRUE;
 
 void
 tbo_drawing_draw_page (cairo_t *cr, Page *page, int w, int h)
@@ -98,16 +99,22 @@ on_key_cb (GtkWidget    *widget,
     update_drawing (tbo);
     tbo_window_update_status (tbo, 0, 0);
 
-    switch (event->keyval)
+    if (KEY_BINDER)
     {
-        case GDK_plus:
-            tbo_drawing_zoom_in (tbo);
-            break;
-        case GDK_minus:
-            tbo_drawing_zoom_out (tbo);
-            break;
-        default:
-            break;
+        switch (event->keyval)
+        {
+            case GDK_plus:
+                tbo_drawing_zoom_in (tbo);
+                break;
+            case GDK_minus:
+                tbo_drawing_zoom_out (tbo);
+                break;
+            case GDK_1:
+                tbo_drawing_zoom_100 (tbo);
+                break;
+            default:
+                break;
+        }
     }
     return FALSE;
 }
@@ -289,8 +296,21 @@ void tbo_drawing_zoom_out (TboWindow *tbo)
     update_drawing (tbo);
 }
 
+void tbo_drawing_zoom_100 (TboWindow *tbo)
+{
+    ZOOM = 1;
+    gtk_layout_set_size (GTK_LAYOUT (tbo->drawing), tbo->comic->width*ZOOM, tbo->comic->height*ZOOM);
+    update_drawing (tbo);
+}
+
 float
 tbo_drawing_get_zoom ()
 {
     return ZOOM;
 }
+
+void
+set_key_binder (gboolean binder)
+{
+    KEY_BINDER = binder;
+}
index c162f17..4020f60 100644 (file)
@@ -21,6 +21,8 @@ void tbo_drawing_draw (cairo_t *cr, TboWindow *tbo);
 void tbo_drawing_draw_page (cairo_t *cr, Page *page, int w, int h);
 void tbo_drawing_zoom_in (TboWindow *tbo);
 void tbo_drawing_zoom_out (TboWindow *tbo);
+void tbo_drawing_zoom_100 (TboWindow *tbo);
 float tbo_drawing_get_zoom ();
+void set_key_binder (gboolean binder);
 
 #endif
index 2ac7539..d755841 100644 (file)
@@ -221,6 +221,13 @@ prev_page (GtkAction *action, TboWindow *tbo)
 }
 
 gboolean
+zoom_100 (GtkAction *action, TboWindow *tbo)
+{
+    tbo_drawing_zoom_100 (tbo);
+    return FALSE;
+}
+
+gboolean
 zoom_in (GtkAction *action, TboWindow *tbo)
 {
     tbo_drawing_zoom_in (tbo);
@@ -268,6 +275,9 @@ static const GtkActionEntry tbo_tools_entries [] = {
     { "Zoomin", GTK_STOCK_ZOOM_IN, N_("Zoom in"), "",
       N_("Zoom in"),
       G_CALLBACK (zoom_in) },
+    { "Zoom100", GTK_STOCK_ZOOM_100, N_("Zoom 1:1"), "",
+      N_("Zoom 1:1"),
+      G_CALLBACK (zoom_100) },
     { "Zoomout", GTK_STOCK_ZOOM_OUT, N_("Zoom out"), "",
       N_("Zoom out"),
       G_CALLBACK (zoom_out) },