From 51862ce25c1ce8b694103a9a9c6aa1e77098696d Mon Sep 17 00:00:00 2001 From: William Kendrick Date: Sun, 9 Jan 2005 12:07:37 +0000 Subject: [PATCH] Added thumbnail to "erase this picture?" prompt. Added "create_pot_file.sh" script for tuxpaint.pot regeneration. Regenerated tuxpaint.pot. --- docs/CHANGES.txt | 9 +++ src/po/create_pot_file.sh | 31 +++++++++ src/po/tuxpaint.pot | 143 ++++++++++++++++++++++++++++++++++++-- src/tuxpaint.c | 39 +++++++++-- 4 files changed, 211 insertions(+), 11 deletions(-) create mode 100755 src/po/create_pot_file.sh diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt index 29acfc0d1..446b9d4bc 100644 --- a/docs/CHANGES.txt +++ b/docs/CHANGES.txt @@ -100,6 +100,12 @@ http://www.newbreedsoftware.com/tuxpaint/ * Other improvements: ------------------- + * Thumbnail of selected image now shown on "Erase this image?" + confirmation pop-up. + + * Improved 'rubber band line' and stamp outline colors ("XOR" code) + to make such lines easier to see on certain colors. + * Added beige and tan colors. Changed "Lime" to "Neon Green." Renamed "Fuschia" to "Magenta." Tweaked some color values. Moved grey/silver next to black/white. @@ -200,6 +206,9 @@ http://www.newbreedsoftware.com/tuxpaint/ * Spanish documentation. Gabriel Gazzán + * Added "create_pot_file.sh" help script to "src/po/", for easier + regeneration of "tuxpaint.pot" (gettext catalog template) + 2004.September.28 (0.9.14) * New Features: diff --git a/src/po/create_pot_file.sh b/src/po/create_pot_file.sh new file mode 100755 index 000000000..021ed0da5 --- /dev/null +++ b/src/po/create_pot_file.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# script to create a correct *.pot file +# +# the problem is that the i18n() functions can be of +# one argument: i18n("translatable string") +# or of two arguments: i18n("context", "translatable string") +# this script rewrite the source files changing that second form +# into i18n("_: context\ntranslatable string") that xgettext can grok +# and produce the same kind of *.pot as expected by KDE + +rm -f POTFILES.new +(for i in `grep -v "encoding" POTFILES.in | sed 's:^:../:'` +do + j="${i}_" + cat ${i} | \ + sed 's|\(i18n[^(]*([^"]*"\)\([^"]*\)"[^")]*,[^")]*"|\1_: \2\\n|' > ${j} + echo ${j} | sed 's:^...::' >> POTFILES.new +done ) + +intltool-update --pot && mv -f tuxpaint.pot tuxpaint_tmp.pot +/usr/bin/xgettext --from-code=UTF-8 -o tuxpaint_tmp_C.pot --directory=.. \ + --add-comments --keyword=I_ --keyword=i18n \ + --keyword=I18N_NOOP \ + --language=C \ + --files-from=./POTFILES.new +msgcat --use-first tuxpaint_tmp.pot tuxpaint_tmp_C.pot > tuxpaint.pot + +( cd .. ; rm -f `cat po/POTFILES.new` ) +rm -f POTFILES.new tuxpaint_tmp*.pot + diff --git a/src/po/tuxpaint.pot b/src/po/tuxpaint.pot index 861577f36..4fc28abb2 100644 --- a/src/po/tuxpaint.pot +++ b/src/po/tuxpaint.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-01-06 12:31+0100\n" +"POT-Creation-Date: 2005-01-09 04:03-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,412 +16,545 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: tuxpaint.desktop.in.h:1 msgid "A drawing program for children." msgstr "" +#: tuxpaint.desktop.in.h:2 msgid "Drawing program" msgstr "" +#: tuxpaint.desktop.in.h:3 msgid "Tux Paint" msgstr "" +#: colors.h:66 msgid "Black!" msgstr "" +#: colors.h:67 msgid "Dark Gray!" msgstr "" #. using both valid spellings +#: colors.h:68 msgid "Light Grey!" msgstr "" #. using both valid spellings +#: colors.h:69 msgid "White!" msgstr "" +#: colors.h:70 msgid "Red!" msgstr "" +#: colors.h:71 msgid "Orange!" msgstr "" +#: colors.h:72 msgid "Yellow!" msgstr "" +#: colors.h:73 msgid "Neon green!" msgstr "" +#: colors.h:74 msgid "Green!" msgstr "" +#: colors.h:75 msgid "Sky blue!" msgstr "" +#: colors.h:76 msgid "Blue!" msgstr "" +#: colors.h:77 msgid "Purple!" msgstr "" +#: colors.h:78 msgid "Magenta!" msgstr "" +#: colors.h:79 msgid "Pink!" msgstr "" +#: colors.h:80 msgid "Brown!" msgstr "" +#: colors.h:81 msgid "Tan!" msgstr "" +#: colors.h:82 msgid "Beige!" msgstr "" +#: great.h:20 msgid "Great!" msgstr "" +#: great.h:21 msgid "Cool!" msgstr "" +#: great.h:22 msgid "Keep it up!" msgstr "" +#: great.h:23 msgid "Good job!" msgstr "" +#: magic.h:83 msgid "Fill" msgstr "" +#: magic.h:84 msgid "Grass" msgstr "" +#: magic.h:86 magic.h:87 msgid "Bricks" msgstr "" +#: magic.h:89 msgid "Rainbow" msgstr "" +#: magic.h:90 msgid "Sparkles" msgstr "" +#: magic.h:92 msgid "Blur" msgstr "" +#: magic.h:93 msgid "Smudge" msgstr "" +#: magic.h:95 msgid "Fade" msgstr "" +#: magic.h:96 msgid "Darken" msgstr "" +#: magic.h:98 msgid "Chalk" msgstr "" +#: magic.h:99 msgid "Blocks" msgstr "" +#: magic.h:101 msgid "Negative" msgstr "" +#: magic.h:102 msgid "Tint" msgstr "" +#: magic.h:104 msgid "Drip" msgstr "" +#: magic.h:105 msgid "Cartoon" msgstr "" +#: magic.h:107 msgid "Mirror" msgstr "" +#: magic.h:108 msgid "Flip" msgstr "" +#: magic.h:115 msgid "Click in the picture to fill that area with color." msgstr "" +#: magic.h:116 msgid "Click and move to draw grass. Don't forget the dirt!" msgstr "" +#: magic.h:118 msgid "Click and move to draw large bricks." msgstr "" +#: magic.h:119 msgid "Click and move to draw small bricks." msgstr "" +#: magic.h:121 msgid "You can draw in rainbow colors!" msgstr "" +#: magic.h:122 msgid "Click and move to draw sparkles." msgstr "" +#: magic.h:124 msgid "Click and move the mouse around to blur the picture." msgstr "" +#: magic.h:125 msgid "Click and move the mouse around to smudge the picture." msgstr "" +#: magic.h:127 msgid "Click and move to fade the colors." msgstr "" +#: magic.h:128 msgid "Click and move to darken the colors." msgstr "" +#: magic.h:130 msgid "" "Click and move the mouse around to turn the picture into a chalk drawing." msgstr "" +#: magic.h:131 msgid "Click and move the mouse around to make the picture blocky." msgstr "" +#: magic.h:133 msgid "Click and move the mouse around to draw a negative." msgstr "" +#: magic.h:134 msgid "Click and move the mouse around to change the picture's color." msgstr "" +#: magic.h:136 msgid "Click and move the mouse around to make the picture drip." msgstr "" +#: magic.h:137 msgid "Click and move the mouse around to turn the picture into a cartoon." msgstr "" +#: magic.h:139 msgid "Click to make a mirror image." msgstr "" +#: magic.h:140 msgid "Click to flip the picture upside-down." msgstr "" +#: shapes.h:141 shapes.h:142 msgid "Square" msgstr "" +#: shapes.h:143 shapes.h:144 msgid "Rectangle" msgstr "" +#: shapes.h:145 shapes.h:146 msgid "Circle" msgstr "" +#: shapes.h:147 shapes.h:148 shapes.h:167 shapes.h:168 msgid "Oval" msgstr "" +#: shapes.h:149 shapes.h:150 msgid "Triangle" msgstr "" +#: shapes.h:151 shapes.h:152 msgid "Pentagon" msgstr "" -msgid "Diamond" +#: shapes.h:153 shapes.h:154 +msgid "Rhombus" msgstr "" -msgid "A square has four sides, each the same length." +#: shapes.h:161 shapes.h:162 +msgid "A square has four equal sides and L-shaped corners." msgstr "" -msgid "A rectangle has four sides." +#: shapes.h:163 shapes.h:164 +msgid "A rectangle has four sides and L-shaped corners." msgstr "" +#: shapes.h:165 shapes.h:166 msgid "A circle is exactly round." msgstr "" +#: shapes.h:169 shapes.h:170 msgid "A triangle has three sides." msgstr "" +#: shapes.h:171 shapes.h:172 msgid "A pentagon has five sides." msgstr "" -msgid "A diamond is a square, turned around slightly." +#: shapes.h:173 shapes.h:174 +msgid "A rhombus has four equal sides." msgstr "" +#: titles.h:38 msgid "Tools" msgstr "" +#: titles.h:39 msgid "Colors" msgstr "" +#: titles.h:40 msgid "Brushes" msgstr "" +#: titles.h:41 msgid "Erasers" msgstr "" +#: titles.h:42 msgid "Stamps" msgstr "" +#: titles.h:43 tools.h:45 msgid "Shapes" msgstr "" +#: titles.h:44 msgid "Letters" msgstr "" +#: titles.h:45 tools.h:47 msgid "Magic" msgstr "" +#: tools.h:42 msgid "Paint" msgstr "" +#: tools.h:43 msgid "Stamp" msgstr "" +#: tools.h:44 msgid "Lines" msgstr "" +#: tools.h:46 msgid "Text" msgstr "" +#: tools.h:48 msgid "Undo" msgstr "" +#: tools.h:49 msgid "Redo" msgstr "" +#: tools.h:50 msgid "Eraser" msgstr "" +#: tools.h:51 msgid "New" msgstr "" #. buttons for the file open dialog +#: tools.h:52 tuxpaint.c:7514 msgid "Open" msgstr "" +#: tools.h:53 msgid "Save" msgstr "" +#: tools.h:54 msgid "Print" msgstr "" +#: tools.h:55 msgid "Quit" msgstr "" +#: tools.h:62 msgid "Pick a color and a brush shape to draw with." msgstr "" +#: tools.h:63 msgid "Pick a picture to stamp around your drawing." msgstr "" +#: tools.h:64 msgid "Click to start drawing a line. Let go to complete it." msgstr "" +#: tools.h:65 msgid "" "Pick a shape. Click to pick the center, drag, then let go when it is the " "size you want. Move around to rotate it, and click to draw it." msgstr "" +#: tools.h:66 msgid "Choose a style of text. Click on your drawing and you can start typing." msgstr "" +#: tools.h:67 msgid "Pick a magical effect to use on your drawing!" msgstr "" #. Undo +#: tools.h:68 msgid "Undo!" msgstr "" #. Redo +#: tools.h:69 msgid "Redo!" msgstr "" #. Eraser +#: tools.h:70 msgid "Eraser!" msgstr "" #. New +#: tools.h:71 msgid "You now have a blank sheet to draw on!" msgstr "" #. Open +#: tools.h:72 msgid "Open…" msgstr "" #. Save +#: tools.h:73 msgid "Your image has been saved!" msgstr "" #. Print +#: tools.h:74 msgid "Printing…" msgstr "" #. Quit +#: tools.h:75 msgid "Bye bye!" msgstr "" +#: tools.h:78 msgid "Let go of the button to complete the line." msgstr "" +#: tools.h:79 msgid "Hold the button to stretch the shape." msgstr "" +#: tools.h:80 msgid "Move the mouse to rotate the shape. Click to draw it." msgstr "" +#: tools.h:81 msgid "OK then… Let’s keep drawing this one!" msgstr "" #. FIXME: Move elsewhere!!! +#: tuxpaint.c:2337 msgid "Do you really want to quit?" msgstr "" #. FIXME: Move elsewhere! Or not?! +#: tuxpaint.c:2338 tuxpaint.c:2342 tuxpaint.c:2346 tuxpaint.c:2360 +#: tuxpaint.c:2370 tuxpaint.c:10901 tuxpaint.c:11689 msgid "Yes" msgstr "" +#: tuxpaint.c:2339 tuxpaint.c:2343 tuxpaint.c:2347 tuxpaint.c:2361 +#: tuxpaint.c:2371 tuxpaint.c:10905 msgid "No" msgstr "" +#: tuxpaint.c:2341 msgid "If you quit, you’ll lose your picture! Save it?" msgstr "" +#: tuxpaint.c:2345 msgid "Save your picture first?" msgstr "" +#: tuxpaint.c:2349 msgid "Can’t open that picture!" msgstr "" +#: tuxpaint.c:2350 tuxpaint.c:2357 tuxpaint.c:2364 tuxpaint.c:2367 msgid "OK" msgstr "" +#: tuxpaint.c:2352 msgid "Starting a new picture will erase the current one!" msgstr "" +#: tuxpaint.c:2353 msgid "That’s OK!" msgstr "" +#: tuxpaint.c:2354 msgid "Never mind!" msgstr "" +#: tuxpaint.c:2356 msgid "There are no saved files!" msgstr "" +#: tuxpaint.c:2359 msgid "Print your picture now?" msgstr "" +#: tuxpaint.c:2363 msgid "Your picture has been printed!" msgstr "" +#: tuxpaint.c:2366 msgid "You can’t print yet!" msgstr "" +#: tuxpaint.c:2369 msgid "Erase this picture?" msgstr "" +#: tuxpaint.c:7515 msgid "Erase" msgstr "" +#: tuxpaint.c:7516 msgid "Back" msgstr "" +#: tuxpaint.c:8112 msgid "Aa" msgstr "" #. FIXME: Move elsewhere!!! +#: tuxpaint.c:11688 msgid "Save over the older version of this picture?" msgstr "" +#: tuxpaint.c:11690 msgid "No, save a new file" msgstr "" +#: tuxpaint.c:12524 msgid "Choose the picture you want, then click “Open”." msgstr "" diff --git a/src/tuxpaint.c b/src/tuxpaint.c index 3befffcbe..3c7811988 100644 --- a/src/tuxpaint.c +++ b/src/tuxpaint.c @@ -22,12 +22,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA (See COPYING.txt) - June 14, 2002 - January 8, 2005 + June 14, 2002 - January 9, 2005 */ #define VER_VERSION "0.9.15" -#define VER_DATE "2005-01-08" +#define VER_DATE "2005-01-09" //#define VIDEO_BPP 15 // saves memory @@ -2143,6 +2143,7 @@ static void do_wait(void); static void load_current(void); static void save_current(void); static char * get_fname(const char * const name); +static int do_prompt_image(const char * const text, const char * const btn_yes, const char * const btn_no, SDL_Surface * img); static int do_prompt(const char * const text, const char * const btn_yes, const char * const btn_no); static void cleanup(void); static void free_cursor(SDL_Cursor ** cursor); @@ -10875,6 +10876,12 @@ static char * get_fname(const char * const name) /* Prompt the user with a yes/no question: */ static int do_prompt(const char * const text, const char * const btn_yes, const char * const btn_no) +{ + return(do_prompt_image(text, btn_yes, btn_no, NULL)); +} + + +static int do_prompt_image(const char * const text, const char * const btn_yes, const char * const btn_no, SDL_Surface * img) { SDL_Event event; SDL_Rect dest; @@ -10971,11 +10978,29 @@ static int do_prompt(const char * const text, const char * const btn_yes, const /* Draw the question: */ + int img_w; + if (img != NULL) + img_w = img->w + 8; + else + img_w = 0; + wordwrap_text(text, black, - 166 + PROMPTOFFSETX, 100 + PROMPTOFFSETY, 475 + PROMPTOFFSETX, + 166 + PROMPTOFFSETX, 100 + PROMPTOFFSETY, + 475 + PROMPTOFFSETX - img->w, 1); + /* Draw the image (if any): */ + + if (img != NULL) + { + dest.x = 457 + PROMPTOFFSETX - img->w - 4; + dest.y = 100 + PROMPTOFFSETY + 4; + + SDL_BlitSurface(img, NULL, screen, &dest); + } + + /* Draw yes button: */ dest.x = 166 + PROMPTOFFSETX; @@ -12906,8 +12931,9 @@ static int do_open(int want_new_tool) { want_erase = 0; - if (do_prompt(PROMPT_ERASE_TXT, - PROMPT_ERASE_YES, PROMPT_ERASE_NO)) + if (do_prompt_image(PROMPT_ERASE_TXT, + PROMPT_ERASE_YES, PROMPT_ERASE_NO, + thumbs[which])) { snprintf(fname, sizeof(fname), "saved/%s%s", d_names[which], d_exts[which]); @@ -12917,7 +12943,6 @@ static int do_open(int want_new_tool) if (unlink(rfname) == 0) { - thumbs[which] = NULL; update_list = 1; @@ -12965,6 +12990,8 @@ static int do_open(int want_new_tool) free(d_names[which]); free(d_exts[which]); free_surface(&thumbs[which]); + + thumbs[which] = NULL; for (i = which; i < num_files - 1; i++) {