msgstr ""
"Project-Id-Version: PACKAGE 0.1\n"
"Report-Msgid-Bugs-To: dani@danigm.net\n"
-"POT-Creation-Date: 2010-05-11 22:36+0200\n"
+"POT-Creation-Date: 2010-07-08 01:29+0200\n"
"PO-Revision-Date: 2010-01-24 20:48+0100\n"
"Last-Translator: Daniel Garcia <dani@danigm.net>\n"
"Language-Team: \n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Couldn't parse file"
msgstr "No se ha podido parsear el fichero"
-#: ../src/comic-new-dialog.c:22 ../src/ui-toolbar.c:300
+#: ../src/comic-new-dialog.c:22 ../src/ui-toolbar.c:313
msgid "New Comic"
msgstr "Nuevo Comic"
-#: ../src/comic-new-dialog.c:34
+#: ../src/comic-new-dialog.c:34 ../src/export.c:126
msgid "width: "
msgstr "ancho: "
-#: ../src/comic-new-dialog.c:44
+#: ../src/comic-new-dialog.c:44 ../src/export.c:127
msgid "height: "
msgstr "alto: "
msgid "TBO files"
msgstr "Ficheros TBO"
-#: ../src/comic-open-dialog.c:32 ../src/ui-toolbar.c:280
+#: ../src/comic-open-dialog.c:32 ../src/ui-toolbar.c:293
msgid "All files"
msgstr "Todos los ficheros"
msgid "Save as"
msgstr "Guardar como"
-#: ../src/custom-stock.c:37
+#: ../src/custom-stock.c:38
#, c-format
msgid "error loading image %s\n"
msgstr "error cargando imagen %s\n"
-#: ../src/export.c:27
+#: ../src/export.c:51 ../src/export.c:102
msgid "Export as"
msgstr "Exportar como"
-#: ../src/selector-tool.c:127
+#: ../src/export.c:118
+msgid "Filename: "
+msgstr "Nombre de fichero: "
+
+#: ../src/export.c:142
+msgid "guess by extension"
+msgstr "Adivinar por extensión"
+
+#: ../src/selector-tool.c:109
msgid "Background color: "
msgstr "Color de fondo: "
-#: ../src/selector-tool.c:140
+#: ../src/selector-tool.c:122
msgid "border"
msgstr "borde"
-#: ../src/selector-tool.c:587
+#: ../src/selector-tool.c:569
msgid "double click here"
msgstr "haz doble click aquí"
#. TODO add tooltip_notify
-#: ../src/selector-tool.c:635
+#: ../src/selector-tool.c:617
msgid "press esc to go back"
msgstr "pulsa esc para volver atrás"
msgid "Couldn't load %s\n"
msgstr "No se puede cargar %s\n"
-#: ../src/tbo-window.c:126
+#: ../src/tbo-window.c:128
msgid "Untitled"
msgstr "Sintitulo"
-#: ../src/tbo-window.c:182
+#: ../src/tbo-window.c:184
#, c-format
msgid "page: %d of %d [ %5d,%5d ] | frames: %d"
msgstr "página: %d de %d [ %5d,%5d ] | viñetas: %d"
msgid "Font:"
msgstr "Fuente:"
-#: ../src/ui-menu.c:167
+#: ../src/ui-menu.c:191
msgid "TBO comic editor"
msgstr "Editor de comic TBO"
#. Toplevel
-#: ../src/ui-menu.c:200
+#: ../src/ui-menu.c:211
msgid "_File"
msgstr "_Archivo"
-#: ../src/ui-menu.c:201
+#: ../src/ui-menu.c:212
msgid "_Edit"
msgstr "_Editar"
-#: ../src/ui-menu.c:202
+#: ../src/ui-menu.c:213
msgid "Help"
msgstr "Ayuda"
#. File menu
-#: ../src/ui-menu.c:206 ../src/ui-toolbar.c:299
+#: ../src/ui-menu.c:217 ../src/ui-toolbar.c:312
msgid "_New"
msgstr "_Nuevo"
-#: ../src/ui-menu.c:207
+#: ../src/ui-menu.c:218
msgid "Create a new file"
msgstr "Crear un nuevo fichero"
-#: ../src/ui-menu.c:210 ../src/ui-toolbar.c:303
+#: ../src/ui-menu.c:221 ../src/ui-toolbar.c:316
msgid "_Open"
msgstr "_Abrir"
-#: ../src/ui-menu.c:211
+#: ../src/ui-menu.c:222
msgid "Open a new file"
msgstr "Abrir un fichero"
-#: ../src/ui-menu.c:214 ../src/ui-toolbar.c:307
+#: ../src/ui-menu.c:225 ../src/ui-toolbar.c:320
msgid "_Save"
msgstr "_Guardar"
-#: ../src/ui-menu.c:215 ../src/ui-toolbar.c:308
+#: ../src/ui-menu.c:226 ../src/ui-toolbar.c:321
msgid "Save current document"
msgstr "Guardar el documento actual"
-#: ../src/ui-menu.c:218
+#: ../src/ui-menu.c:229
msgid "_Save as"
msgstr "_Guardar como"
-#: ../src/ui-menu.c:219
+#: ../src/ui-menu.c:230
msgid "Save current document as ..."
msgstr "Guardar el documento actual como ..."
-#: ../src/ui-menu.c:222
-msgid "Export as png"
-msgstr "Exportar a png"
-
-#: ../src/ui-menu.c:223
-msgid "Save current document as png"
-msgstr "Guardar el documento actual como png"
-
-#: ../src/ui-menu.c:226
-msgid "Export as pdf"
-msgstr "Exportar a pdf"
-
-#: ../src/ui-menu.c:227
-msgid "Save current document as pdf"
-msgstr "Guardar el documento actual como pdf"
-
-#: ../src/ui-menu.c:230
-msgid "Export as svg"
-msgstr "Exportar a svg"
-
-#: ../src/ui-menu.c:231
-msgid "Save current document as svg"
-msgstr "Guardar el documento actual como svg"
+#: ../src/ui-menu.c:233
+msgid "Export as..."
+msgstr "Exportar como..."
#: ../src/ui-menu.c:234
+msgid "Save current document as..."
+msgstr "Guardar el documento actual como ..."
+
+#: ../src/ui-menu.c:237
msgid "_Quit"
msgstr "_Salir"
-#: ../src/ui-menu.c:235
+#: ../src/ui-menu.c:238
msgid "Quit"
msgstr "Salir"
#. edit menu
-#: ../src/ui-menu.c:240 ../src/ui-menu.c:241
+#: ../src/ui-menu.c:243 ../src/ui-menu.c:244
msgid "Clone"
msgstr "Clonar"
-#: ../src/ui-menu.c:243 ../src/ui-menu.c:244
+#: ../src/ui-menu.c:246 ../src/ui-menu.c:247
msgid "Delete"
msgstr "Eliminar"
-#: ../src/ui-menu.c:246 ../src/ui-menu.c:247
+#: ../src/ui-menu.c:249 ../src/ui-menu.c:250
msgid "Horizontal flip"
msgstr "Reflejo horizontal"
-#: ../src/ui-menu.c:249 ../src/ui-menu.c:250
+#: ../src/ui-menu.c:252 ../src/ui-menu.c:253
msgid "Vertical flip"
msgstr "Reflejo vertical"
-#: ../src/ui-menu.c:252 ../src/ui-menu.c:253
+#: ../src/ui-menu.c:255 ../src/ui-menu.c:256
msgid "Move to front"
msgstr "Mover al frente"
-#: ../src/ui-menu.c:255 ../src/ui-menu.c:256
+#: ../src/ui-menu.c:258 ../src/ui-menu.c:259
msgid "Move to back"
msgstr "Mober atrás"
#. Help menu
-#: ../src/ui-menu.c:261 ../src/ui-menu.c:262
+#: ../src/ui-menu.c:263 ../src/ui-menu.c:264
+msgid "Tutorial"
+msgstr ""
+
+#: ../src/ui-menu.c:267 ../src/ui-menu.c:268
msgid "About"
msgstr "Acerca de"
-#: ../src/ui-menu.c:275
+#: ../src/ui-menu.c:281
#, c-format
msgid "Could not merge tbo-menu-ui.xml: %s"
msgstr "No se ha podido utilizar tbo-menu-ui.xml: %s"
-#: ../src/ui-toolbar.c:267
+#: ../src/ui-toolbar.c:280
msgid "Add an Image"
msgstr "Añadir una imagen"
-#: ../src/ui-toolbar.c:275
+#: ../src/ui-toolbar.c:288
msgid "png"
msgstr "png"
-#: ../src/ui-toolbar.c:304
+#: ../src/ui-toolbar.c:317
msgid "Open comic"
msgstr "Abrir comic"
#. Page tools
-#: ../src/ui-toolbar.c:312
+#: ../src/ui-toolbar.c:325
msgid "New Page"
msgstr "Nueva Página"
-#: ../src/ui-toolbar.c:313
+#: ../src/ui-toolbar.c:326
msgid "New page"
msgstr "Nueva página"
-#: ../src/ui-toolbar.c:316
+#: ../src/ui-toolbar.c:329
msgid "Delete Page"
msgstr "Borrar Página"
-#: ../src/ui-toolbar.c:317
+#: ../src/ui-toolbar.c:330
msgid "Delete current page"
msgstr "Borrar la página actual"
-#: ../src/ui-toolbar.c:320
+#: ../src/ui-toolbar.c:333
msgid "Prev Page"
msgstr "Página anterior"
-#: ../src/ui-toolbar.c:321
+#: ../src/ui-toolbar.c:334
msgid "Prev page"
msgstr "Página anterior"
-#: ../src/ui-toolbar.c:324
+#: ../src/ui-toolbar.c:337
msgid "Next Page"
msgstr "Página siguiente"
-#: ../src/ui-toolbar.c:325
+#: ../src/ui-toolbar.c:338
msgid "Next page"
msgstr "Página siguiente"
#. Zoom tools
-#: ../src/ui-toolbar.c:329 ../src/ui-toolbar.c:330
+#: ../src/ui-toolbar.c:342 ../src/ui-toolbar.c:343
msgid "Zoom in"
msgstr "Acercar"
-#: ../src/ui-toolbar.c:332 ../src/ui-toolbar.c:333
+#: ../src/ui-toolbar.c:345 ../src/ui-toolbar.c:346
msgid "Zoom 1:1"
msgstr "Escala 1:1"
-#: ../src/ui-toolbar.c:335 ../src/ui-toolbar.c:336
+#: ../src/ui-toolbar.c:348 ../src/ui-toolbar.c:349
msgid "Zoom fit"
msgstr "Ajustar"
-#: ../src/ui-toolbar.c:338 ../src/ui-toolbar.c:339
+#: ../src/ui-toolbar.c:351 ../src/ui-toolbar.c:352
msgid "Zoom out"
msgstr "Alejar"
#. Png image tool
-#: ../src/ui-toolbar.c:343 ../src/ui-toolbar.c:344
+#: ../src/ui-toolbar.c:356 ../src/ui-toolbar.c:357
msgid "Image"
msgstr "Imagen"
#. Page view tools
-#: ../src/ui-toolbar.c:350
+#: ../src/ui-toolbar.c:363
msgid "New _Frame"
msgstr "Nueva _Vieta"
-#: ../src/ui-toolbar.c:351
+#: ../src/ui-toolbar.c:364
msgid "New Frame"
msgstr "Nueva Vieta"
-#: ../src/ui-toolbar.c:354 ../src/ui-toolbar.c:355
+#: ../src/ui-toolbar.c:367 ../src/ui-toolbar.c:368
msgid "Selector"
msgstr "Selector"
#. Frame view tools
-#: ../src/ui-toolbar.c:359 ../src/ui-toolbar.c:360
+#: ../src/ui-toolbar.c:372 ../src/ui-toolbar.c:373
msgid "Doodle"
msgstr "Monigote"
-#: ../src/ui-toolbar.c:362 ../src/ui-toolbar.c:363
+#: ../src/ui-toolbar.c:375
+msgid "Booble"
+msgstr "Bocadillo"
+
+#: ../src/ui-toolbar.c:376
+msgid "Bubble"
+msgstr "Bocadillo"
+
+#: ../src/ui-toolbar.c:378 ../src/ui-toolbar.c:379
msgid "Text"
msgstr "Texto"
+
+#~ msgid "Export as png"
+#~ msgstr "Exportar a png"
+
+#~ msgid "Save current document as png"
+#~ msgstr "Guardar el documento actual como png"
+
+#~ msgid "Export as pdf"
+#~ msgstr "Exportar a pdf"
+
+#~ msgid "Save current document as pdf"
+#~ msgstr "Guardar el documento actual como pdf"
+
+#~ msgid "Export as svg"
+#~ msgstr "Exportar a svg"
+
+#~ msgid "Save current document as svg"
+#~ msgstr "Guardar el documento actual como svg"
#include "export.h"
#include "ui-drawing.h"
#include "tbo-ui-utils.h"
+#include "tbo-types.h"
+
+static LOCK = 0;
+
+struct export_spin_args {
+ gint current_size;
+ gint current_size2;
+ GtkWidget *spin2;
+ gdouble *scale;
+};
+
+static gboolean
+export_size_cb (GtkWidget *widget, struct export_spin_args *args)
+{
+ if (!LOCK)
+ {
+ LOCK = 1;
+ gint current_size = args->current_size;
+ gint current_size2 = args->current_size2;
+ gint new_size = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (widget));
+ gint new_value;
+ if (new_size)
+ {
+ *(args->scale) = new_size / (gdouble) current_size;
+ new_value = (gint) (*(args->scale) * current_size2);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (args->spin2), new_value);
+ }
+ LOCK = 0;
+ }
+ return FALSE;
+}
gboolean
filedialog_cb (GtkWidget *widget, gpointer data)
}
gtk_widget_destroy (GTK_WIDGET (filechooserdialog));
+ return FALSE;
}
gboolean
-tbo_export (TboWindow *tbo, const gchar *export_to)
+tbo_export (TboWindow *tbo)
{
cairo_surface_t *surface = NULL;
cairo_t *cr;
GList *page_list;
gint i, n, n2;
gint response;
+ gdouble scale = 1.0;
+ gchar *export_to;
+ gint export_to_index;
+ struct export_spin_args spin_args;
+ struct export_spin_args spin_args2;
GtkWidget *dialog;
GtkWidget *vbox;
GtkWidget *filebutton;
GtkWidget *spinw;
GtkWidget *spinh;
+ GtkWidget *combobox;
+
+ GtkWidget *button;
dialog = gtk_dialog_new_with_buttons (_("Export as"),
GTK_WINDOW (tbo->window),
GTK_RESPONSE_ACCEPT,
NULL);
+ button = gtk_dialog_get_widget_for_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);
+ gtk_widget_grab_focus (GTK_WIDGET (button));
+
filebutton = gtk_button_new_from_stock (GTK_STOCK_OPEN);
vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
gtk_container_add (GTK_CONTAINER (vbox), hbox);
spinw = add_spin_with_label (vbox, _("width: "), tbo->comic->width);
- spinh = add_spin_with_label (vbox, _("height: "), tbo->comic->width);
+ spinh = add_spin_with_label (vbox, _("height: "), tbo->comic->height);
+
+ spin_args.current_size = tbo->comic->width;
+ spin_args.current_size2 = tbo->comic->height;
+ spin_args.spin2 = spinh;
+ spin_args.scale = &scale;
+ g_signal_connect (spinw, "value-changed", G_CALLBACK (export_size_cb), &spin_args);
+
+ spin_args2.current_size = tbo->comic->height;
+ spin_args2.current_size2 = tbo->comic->width;
+ spin_args2.spin2 = spinw;
+ spin_args2.scale = &scale;
+ g_signal_connect (spinh, "value-changed", G_CALLBACK (export_size_cb), &spin_args2);
+
+ combobox = gtk_combo_box_new_text ();
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), _("guess by extension"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), ".png");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), ".pdf");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), ".svg");
+ gtk_combo_box_set_active (GTK_COMBO_BOX (combobox), 0);
+ gtk_container_add (GTK_CONTAINER (vbox), combobox);
gtk_widget_show_all (GTK_WIDGET (vbox));
if (response == GTK_RESPONSE_ACCEPT)
{
+ width = (gint) (width * scale);
+ height = (gint) (height * scale);
+
filename = (gchar *)gtk_entry_get_text (GTK_ENTRY (fileinput));
+ /* 0 guess, 1 png, 2 pdf, 3 svg */
+ export_to_index = gtk_combo_box_get_active (GTK_COMBO_BOX (combobox));
+
+ switch (export_to_index)
+ {
+ case 0:
+ //guess
+ if (strlen (filename) > 4)
+ {
+ export_to = filename + strlen (filename) - 3;
+ filename = g_strndup (filename, strlen(filename) - 4);
+ }
+ else
+ {
+ filename = g_strdup (filename);
+ export_to = "png";
+ }
+ break;
+ case 1:
+ export_to = "png";
+ break;
+ case 2:
+ export_to = "pdf";
+ break;
+ case 3:
+ export_to = "svg";
+ break;
+ default:
+ export_to = "png";
+ break;
+ }
+
n = g_list_length (tbo->comic->pages);
n2 = n;
for (i=0; n; n=n/10, i++);
// SVG
else if (strcmp (export_to, "svg") == 0)
{
- surface = cairo_svg_surface_create (rpath, height, width);
+ surface = cairo_svg_surface_create (rpath, width, height);
cr = cairo_create (surface);
}
- // PNG
- else if (strcmp (export_to, "png") == 0)
+ // PNG or unknown format... default is png
+ else
{
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
cr = cairo_create (surface);
}
+ cairo_scale (cr, scale, scale);
+
// drawing the stuff
- tbo_drawing_draw_page (cr, (Page *)page_list->data, width, height);
+ tbo_drawing_draw_page (cr, (Page *)page_list->data, width/scale, height/scale);
if (strcmp (export_to, "pdf") == 0)
cairo_show_page (cr);
else if (strcmp (export_to, "png") == 0)
cairo_surface_write_to_png (surface, rpath);
+ cairo_scale (cr, 1/scale, 1/scale);
+
// Not destroying for multipage
if (strcmp (export_to, "pdf") != 0)
{
cairo_destroy (cr);
}
}
+ if (!export_to_index)
+ g_free (filename);
gtk_widget_destroy (GTK_WIDGET (dialog));
}
gboolean
-tbo_menu_to_png (GtkWidget *widget, TboWindow *tbo)
+tbo_menu_export (GtkWidget *widget, TboWindow *tbo)
{
- tbo_export (tbo, "png");
- return FALSE;
-}
-
-gboolean
-tbo_menu_to_pdf (GtkWidget *widget, TboWindow *tbo)
-{
- tbo_export (tbo, "pdf");
- return FALSE;
-}
-
-gboolean
-tbo_menu_to_svg (GtkWidget *widget, TboWindow *tbo)
-{
- tbo_export (tbo, "svg");
+ tbo_export (tbo);
return FALSE;
}
N_("Save current document as ..."),
G_CALLBACK (tbo_comic_saveas_dialog) },
- { "ToPNG", GTK_STOCK_FILE, N_("Export as png"), "",
- N_("Save current document as png"),
- G_CALLBACK (tbo_menu_to_png) },
-
- { "ToPDF", GTK_STOCK_FILE, N_("Export as pdf"), "",
- N_("Save current document as pdf"),
- G_CALLBACK (tbo_menu_to_pdf) },
-
- { "ToSVG", GTK_STOCK_FILE, N_("Export as svg"), "",
- N_("Save current document as svg"),
- G_CALLBACK (tbo_menu_to_svg) },
+ { "ToPNG", GTK_STOCK_FILE, N_("Export as..."), "",
+ N_("Save current document as..."),
+ G_CALLBACK (tbo_menu_export) },
{ "Quit", GTK_STOCK_QUIT, N_("_Quit"), "<control>Q",
N_("Quit"),