Merge branch 'master' into sdl2.0
This commit is contained in:
commit
63e060afa3
30 changed files with 6000 additions and 4329 deletions
20
src/install-dlls.sh
Normal file
20
src/install-dlls.sh
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
find_depends(){
|
||||
for dllpath in `ntldd $@ | grep mingw | awk '{print $3}' | sort | uniq`
|
||||
do
|
||||
dllname=`basename $dllpath`
|
||||
if ! grep -q $dllname dlllist; then
|
||||
echo $dllpath >> dlllist
|
||||
echo -n .
|
||||
cp $dllpath $DESTDIR/
|
||||
find_depends $dllpath
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
DESTDIR=$3
|
||||
echo > dlllist
|
||||
|
||||
find_depends $1 $2
|
||||
echo
|
||||
|
|
@ -83,15 +83,27 @@ static void mtw(wchar_t * wtok, char *tok)
|
|||
#define mbstowcs(wtok, tok, size) mtw(wtok, tok)
|
||||
#endif
|
||||
|
||||
struct osk_keyboard *osk_create(char *layout_name, SDL_Surface * canvas, SDL_Surface * button_up,
|
||||
SDL_Surface * button_down, SDL_Surface * button_off, SDL_Surface * button_nav,
|
||||
SDL_Surface * button_hold, SDL_Surface * oskdel, SDL_Surface * osktab,
|
||||
SDL_Surface * oskenter, SDL_Surface * oskcapslock, SDL_Surface * oskshift,
|
||||
struct osk_keyboard *osk_create(char * layout_name, SDL_Surface * canvas,
|
||||
SDL_Surface * LG_button_up, SDL_Surface * LG_button_down,
|
||||
SDL_Surface * LG_button_off, SDL_Surface * LG_button_nav,
|
||||
SDL_Surface * LG_button_hold,
|
||||
SDL_Surface * LG_oskdel, SDL_Surface * LG_osktab, SDL_Surface * LG_oskenter,
|
||||
SDL_Surface * LG_oskcapslock, SDL_Surface * LG_oskshift,
|
||||
SDL_Surface * SM_button_up, SDL_Surface * SM_button_down,
|
||||
SDL_Surface * SM_button_off, SDL_Surface * SM_button_nav,
|
||||
SDL_Surface * SM_button_hold,
|
||||
SDL_Surface * SM_oskdel, SDL_Surface * SM_osktab, SDL_Surface * SM_oskenter,
|
||||
SDL_Surface * SM_oskcapslock, SDL_Surface * SM_oskshift,
|
||||
int disable_change)
|
||||
{
|
||||
SDL_Surface *surface;
|
||||
osk_layout *layout;
|
||||
on_screen_keyboard *keyboard;
|
||||
SDL_Surface * surface;
|
||||
SDL_Surface * button_up, * button_down;
|
||||
SDL_Surface * button_off, * button_nav;
|
||||
SDL_Surface * button_hold;
|
||||
SDL_Surface * oskdel, * osktab, * oskenter;
|
||||
SDL_Surface * oskcapslock, * oskshift;
|
||||
osk_layout * layout;
|
||||
on_screen_keyboard * keyboard;
|
||||
|
||||
keyboard = malloc(sizeof(on_screen_keyboard));
|
||||
|
||||
|
|
@ -115,6 +127,32 @@ struct osk_keyboard *osk_create(char *layout_name, SDL_Surface * canvas, SDL_Sur
|
|||
printf("w %i, h %i\n", layout->width, layout->height);
|
||||
#endif
|
||||
|
||||
if (layout->width * LG_button_up->w >= (canvas->w - 48 * 4) * 0.9 ||
|
||||
layout->height * LG_button_up->h >= canvas->h * 0.5) {
|
||||
/* Full-size buttons too large, use small buttons */
|
||||
button_up = SM_button_up;
|
||||
button_down = SM_button_down;
|
||||
button_off = SM_button_off;
|
||||
button_nav = SM_button_nav;
|
||||
button_hold = SM_button_hold;
|
||||
oskdel = SM_oskdel;
|
||||
osktab = SM_osktab;
|
||||
oskenter = SM_oskenter;
|
||||
oskcapslock = SM_oskcapslock;
|
||||
oskshift = SM_oskshift;
|
||||
} else {
|
||||
button_up = LG_button_up;
|
||||
button_down = LG_button_down;
|
||||
button_off = LG_button_off;
|
||||
button_nav = LG_button_nav;
|
||||
button_hold = LG_button_hold;
|
||||
oskdel = LG_oskdel;
|
||||
osktab = LG_osktab;
|
||||
oskenter = LG_oskenter;
|
||||
oskcapslock = LG_oskcapslock;
|
||||
oskshift = LG_oskshift;
|
||||
}
|
||||
|
||||
surface = SDL_CreateRGBSurface(canvas->flags,
|
||||
layout->width * button_up->w,
|
||||
layout->height * button_up->h,
|
||||
|
|
@ -126,6 +164,7 @@ struct osk_keyboard *osk_create(char *layout_name, SDL_Surface * canvas, SDL_Sur
|
|||
return NULL;
|
||||
}
|
||||
// keyboard->name = layout_name;
|
||||
keyboard->canvas_ptr = canvas;
|
||||
keyboard->layout = layout;
|
||||
keyboard->surface = surface;
|
||||
keyboard->rect.x = 0;
|
||||
|
|
@ -159,6 +198,27 @@ struct osk_keyboard *osk_create(char *layout_name, SDL_Surface * canvas, SDL_Sur
|
|||
keyboard->kmdf.dead3 = NULL;
|
||||
keyboard->kmdf.dead4 = NULL;
|
||||
|
||||
keyboard->LG_button_up = LG_button_up;
|
||||
keyboard->LG_button_down = LG_button_down;
|
||||
keyboard->LG_button_off = LG_button_off;
|
||||
keyboard->LG_button_nav = LG_button_nav;
|
||||
keyboard->LG_button_hold = LG_button_hold;
|
||||
keyboard->LG_oskdel = LG_oskdel;
|
||||
keyboard->LG_osktab = LG_osktab;
|
||||
keyboard->LG_oskenter = LG_oskenter;
|
||||
keyboard->LG_oskcapslock = LG_oskcapslock;
|
||||
keyboard->LG_oskshift = LG_oskshift;
|
||||
keyboard->SM_button_up = SM_button_up;
|
||||
keyboard->SM_button_down = SM_button_down;
|
||||
keyboard->SM_button_off = SM_button_off;
|
||||
keyboard->SM_button_nav = SM_button_nav;
|
||||
keyboard->SM_button_hold = SM_button_hold;
|
||||
keyboard->SM_oskdel = SM_oskdel;
|
||||
keyboard->SM_osktab = SM_osktab;
|
||||
keyboard->SM_oskenter = SM_oskenter;
|
||||
keyboard->SM_oskcapslock = SM_oskcapslock;
|
||||
keyboard->SM_oskshift = SM_oskshift;
|
||||
|
||||
SDL_FillRect(surface, NULL,
|
||||
SDL_MapRGB(surface->format, keyboard->layout->bgcolor.r, keyboard->layout->bgcolor.g,
|
||||
keyboard->layout->bgcolor.b));
|
||||
|
|
@ -1005,36 +1065,40 @@ static int is_blank_or_comment(char *line)
|
|||
/* } */
|
||||
|
||||
|
||||
/* Fixme: Is it safe to supose that if a font is loaded at one size, it will be loaded at any size? */
|
||||
/* Fixme: sizes should be dynamically adapted to the button size */
|
||||
/* Fixme: starting a layout with one font causes all other layouts be in that font */
|
||||
/* FIXME: Is it safe to supose that if a font is loaded at one size, it will be loaded at any size? */
|
||||
/* FIXME: starting a layout with one font causes all other layouts be in that font */
|
||||
static void keybd_prepare(on_screen_keyboard * keyboard)
|
||||
{
|
||||
char *fontname;
|
||||
|
||||
int font_height;
|
||||
|
||||
/* Pick a height (e.g., 16pt for small (24x24), 32pt for large (48x48) buttons) */
|
||||
font_height = ((keyboard->button_up->h * 2) / 3);
|
||||
|
||||
fontname = malloc(sizeof(char) * 255);
|
||||
if (keyboard->osk_fonty == NULL)
|
||||
{
|
||||
|
||||
if (keyboard->layout->fontpath)
|
||||
{
|
||||
/* First try if it is an absolute path */
|
||||
keyboard->osk_fonty = TTF_OpenFont(keyboard->layout->fontpath, 12);
|
||||
keyboard->osk_fonty = TTF_OpenFont(keyboard->layout->fontpath, font_height);
|
||||
if (keyboard->osk_fonty == NULL)
|
||||
{
|
||||
/* Now trying if it is relative to DATA_PREFIX/fonts/ */
|
||||
snprintf(fontname, 255, "%s/fonts/%s", DATA_PREFIX, keyboard->layout->fontpath);
|
||||
|
||||
keyboard->osk_fonty = TTF_OpenFont(fontname, 12);
|
||||
keyboard->osk_fonty = TTF_OpenFont(fontname, font_height);
|
||||
if (keyboard->osk_fonty == NULL)
|
||||
{
|
||||
/* Perhaps it is relative to DATA_PREFIX only? */
|
||||
snprintf(fontname, 255, "%s/%s", DATA_PREFIX, keyboard->layout->fontpath);
|
||||
keyboard->osk_fonty = TTF_OpenFont(fontname, 12);
|
||||
keyboard->osk_fonty = TTF_OpenFont(fontname, font_height);
|
||||
if (keyboard->osk_fonty == NULL)
|
||||
{
|
||||
/* Or to DATA_PREFIX/fonts/locale/ ? */
|
||||
snprintf(fontname, 255, "%s/fonts/locale/%s", DATA_PREFIX, keyboard->layout->fontpath);
|
||||
keyboard->osk_fonty = TTF_OpenFont(fontname, 12);
|
||||
keyboard->osk_fonty = TTF_OpenFont(fontname, font_height);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1044,7 +1108,7 @@ static void keybd_prepare(on_screen_keyboard * keyboard)
|
|||
{
|
||||
/* Going with the default */
|
||||
sprintf(fontname, "%s/fonts/FreeSansBold.ttf", DATA_PREFIX);
|
||||
keyboard->osk_fonty = TTF_OpenFont(fontname, 12);
|
||||
keyboard->osk_fonty = TTF_OpenFont(fontname, font_height);
|
||||
}
|
||||
|
||||
if (keyboard->osk_fonty == NULL)
|
||||
|
|
@ -1687,9 +1751,20 @@ struct osk_keyboard *osk_clicked(on_screen_keyboard * keyboard, int x, int y)
|
|||
|
||||
|
||||
new_keyboard =
|
||||
osk_create(name, keyboard->surface, keyboard->button_up, keyboard->button_down, keyboard->button_off,
|
||||
keyboard->button_nav, keyboard->button_hold, keyboard->oskdel, keyboard->osktab,
|
||||
keyboard->oskenter, keyboard->oskcapslock, keyboard->oskshift, keyboard->disable_change);
|
||||
osk_create(name, keyboard->canvas_ptr,
|
||||
keyboard->LG_button_up, keyboard->LG_button_down,
|
||||
keyboard->LG_button_off, keyboard->LG_button_nav,
|
||||
keyboard->LG_button_hold,
|
||||
keyboard->LG_oskdel, keyboard->LG_osktab,
|
||||
keyboard->LG_oskenter, keyboard->LG_oskcapslock,
|
||||
keyboard->LG_oskshift,
|
||||
keyboard->SM_button_up, keyboard->SM_button_down,
|
||||
keyboard->SM_button_off, keyboard->SM_button_nav,
|
||||
keyboard->SM_button_hold,
|
||||
keyboard->SM_oskdel, keyboard->SM_osktab,
|
||||
keyboard->SM_oskenter, keyboard->SM_oskcapslock,
|
||||
keyboard->SM_oskshift,
|
||||
keyboard->disable_change);
|
||||
|
||||
free(aux_list_ptr);
|
||||
|
||||
|
|
@ -1774,7 +1849,7 @@ struct osk_keyboard *osk_clicked(on_screen_keyboard * keyboard, int x, int y)
|
|||
//event.text.text = keysym2unicode(mnemo2keysym(mnemo, keyboard), keyboard);
|
||||
|
||||
clear_dead_sticks(keyboard);
|
||||
event.type = SDL_KEYDOWN;
|
||||
event.type = SDL_TEXTINPUT;
|
||||
SDL_PushEvent(&event);
|
||||
free(mnemo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,13 +104,15 @@ typedef struct osk_keyboard
|
|||
{
|
||||
char *name; /* The name of the keyboard */
|
||||
char *keyboard_list; /* The names of the keyboards allowed from this one */
|
||||
SDL_Surface *surface; /* The surface containing the keyboard */
|
||||
SDL_Surface *button_up; /* The surfaces containing the buttons */
|
||||
SDL_Surface *surface; /* The surface containing the current layout's keyboard */
|
||||
/* The surfaces containing the current layout's button backgrounds*/
|
||||
SDL_Surface *button_up;
|
||||
SDL_Surface *button_down;
|
||||
SDL_Surface *button_off;
|
||||
SDL_Surface *button_nav;
|
||||
SDL_Surface *button_hold;
|
||||
SDL_Surface *oskdel; /* The surfaces containing some symbols for the buttons, delete arrow */
|
||||
/* The surfaces containing some symbols for the current layout's buttons */
|
||||
SDL_Surface *oskdel; /* delete arrow */
|
||||
SDL_Surface *osktab; /* Tab arrows */
|
||||
SDL_Surface *oskenter; /* Return hook/arrow */
|
||||
SDL_Surface *oskcapslock; /* CapsLock */
|
||||
|
|
@ -131,12 +133,41 @@ typedef struct osk_keyboard
|
|||
int composed_type; /* 1 if the value stored in composed is yet the unicode value */
|
||||
osk_composenode *composing; /* The node in the middle of a compose sequence */
|
||||
osk_key *last_key_pressed; /* The last key pressed */
|
||||
SDL_Surface * canvas_ptr; /* Canvas drawing surface, for bpp and sizing needs when cycling through keyboard layouts */
|
||||
/* Large and small buttons, to pass back to osk_create() when cycling through keyboard layouts */
|
||||
SDL_Surface *LG_button_up;
|
||||
SDL_Surface *LG_button_down;
|
||||
SDL_Surface *LG_button_off;
|
||||
SDL_Surface *LG_button_nav;
|
||||
SDL_Surface *LG_button_hold;
|
||||
SDL_Surface *LG_oskdel;
|
||||
SDL_Surface *LG_osktab;
|
||||
SDL_Surface *LG_oskenter;
|
||||
SDL_Surface *LG_oskcapslock;
|
||||
SDL_Surface *LG_oskshift;
|
||||
SDL_Surface *SM_button_up;
|
||||
SDL_Surface *SM_button_down;
|
||||
SDL_Surface *SM_button_off;
|
||||
SDL_Surface *SM_button_nav;
|
||||
SDL_Surface *SM_button_hold;
|
||||
SDL_Surface *SM_oskdel;
|
||||
SDL_Surface *SM_osktab;
|
||||
SDL_Surface *SM_oskenter;
|
||||
SDL_Surface *SM_oskcapslock;
|
||||
SDL_Surface *SM_oskshift;
|
||||
} on_screen_keyboard;
|
||||
|
||||
struct osk_keyboard *osk_create(char *layout_name, SDL_Surface * canvas, SDL_Surface * button_up,
|
||||
SDL_Surface * button_down, SDL_Surface * button_off, SDL_Surface * button_nav,
|
||||
SDL_Surface * button_hold, SDL_Surface * oskdel, SDL_Surface * osktab,
|
||||
SDL_Surface * oskenter, SDL_Surface * oskcapslock, SDL_Surface * oskshift,
|
||||
struct osk_keyboard *osk_create(char * layout_name, SDL_Surface * canvas,
|
||||
SDL_Surface * LG_button_up, SDL_Surface * LG_button_down,
|
||||
SDL_Surface * LG_button_off, SDL_Surface * LG_button_nav,
|
||||
SDL_Surface * LG_button_hold,
|
||||
SDL_Surface * LG_oskdel, SDL_Surface * LG_osktab, SDL_Surface * LG_oskenter,
|
||||
SDL_Surface * LG_oskcapslock, SDL_Surface * LG_oskshift,
|
||||
SDL_Surface * SM_button_up, SDL_Surface * SM_button_down,
|
||||
SDL_Surface * SM_button_off, SDL_Surface * SM_button_nav,
|
||||
SDL_Surface * SM_button_hold,
|
||||
SDL_Surface * SM_oskdel, SDL_Surface * SM_osktab, SDL_Surface * SM_oskenter,
|
||||
SDL_Surface * SM_oskcapslock, SDL_Surface * SM_oskshift,
|
||||
int disable_change);
|
||||
|
||||
struct osk_layout *osk_load_layout(char *layout_name);
|
||||
|
|
|
|||
44
src/po/gl.po
44
src/po/gl.po
|
|
@ -1,16 +1,18 @@
|
|||
# Galician translation Tux Paint.
|
||||
# Copyright (C) 2015 Tux Paint.
|
||||
# This file is distributed under the same license as the Tux Paint package.
|
||||
#
|
||||
# Translators:
|
||||
# Leandro Regueiro <leandro.regueiro@gmail.com>, 2005-2006
|
||||
# Miguel Anxo Bouzada <mbouzada@gmail.com>, 2015
|
||||
# Miguel A. Bouzada <mbouzada@gmail.com>, 2017.
|
||||
# Miguel Anxo Bouzada <mbouzada@gmail.com>, 2017
|
||||
# Miguel Anxo Bouzada <mbouzada@gmail.com>, 2020.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Tux Paint\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-08-15 16:42-0700\n"
|
||||
"PO-Revision-Date: 2020-08-16 09:19+0200\n"
|
||||
"PO-Revision-Date: 2020-09-03 18:31+0200\n"
|
||||
"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n"
|
||||
"Language-Team: Proxecto Trasno <proxecto@trasno.net>\n"
|
||||
"Language: gl\n"
|
||||
|
|
@ -18,7 +20,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-Generator: Poedit 2.4.1\n"
|
||||
|
||||
#. Response to Black (0, 0, 0) color selected
|
||||
#: ../colors.h:86
|
||||
|
|
@ -533,7 +535,7 @@ msgstr "Escolle unha cor ou unha imaxe coa que iniciar un novo debuxo."
|
|||
#. Response to 'open' action (while file dialog is being constructed)
|
||||
#: ../tools.h:154
|
||||
msgid "Open…"
|
||||
msgstr "Abrir..."
|
||||
msgstr "Abrir…"
|
||||
|
||||
#. Response to 'save' action
|
||||
#: ../tools.h:157
|
||||
|
|
@ -543,7 +545,7 @@ msgstr "Gardouse a túa imaxe!"
|
|||
#. Response to 'print' action (while printing, or print dialog is being used)
|
||||
#: ../tools.h:160
|
||||
msgid "Printing…"
|
||||
msgstr "Imprimindo..."
|
||||
msgstr "Imprimindo…"
|
||||
|
||||
#. Response to 'quit' (exit) action
|
||||
#: ../tools.h:163
|
||||
|
|
@ -697,7 +699,7 @@ msgstr "Son sen silenciar."
|
|||
#. Wait while Text tool finishes loading fonts
|
||||
#: ../tuxpaint.c:3167
|
||||
msgid "Please wait…"
|
||||
msgstr "Agarda un chisco..."
|
||||
msgstr "Agarda un chisco…"
|
||||
|
||||
#. Open dialog: 'Erase' button, to erase/deleted the selected picture
|
||||
#: ../tuxpaint.c:7923
|
||||
|
|
@ -822,7 +824,7 @@ msgid ""
|
|||
"perpendicularly to open or close the blinds."
|
||||
msgstr ""
|
||||
"Preme preto do bordo do debuxo para poñer unha persiana sobre el. Move o "
|
||||
"rato perpendicularmente para abrir ou pechas as persianas. "
|
||||
"rato perpendicularmente para abrir ou pechas as persianas."
|
||||
|
||||
#: ../../magic/src/blocks_chalk_drip.c:129
|
||||
msgid "Blocks"
|
||||
|
|
@ -900,7 +902,7 @@ msgstr "Confeti"
|
|||
|
||||
#: ../../magic/src/confetti.c:88
|
||||
msgid "Click to throw confetti!"
|
||||
msgstr "Preme para lanzar confeti"
|
||||
msgstr "Preme para lanzar confeti."
|
||||
|
||||
#: ../../magic/src/distortion.c:134
|
||||
msgid "Distortion"
|
||||
|
|
@ -932,7 +934,7 @@ msgstr "Preme e arrastra o rato para clarexar algunhas partes do debuxo."
|
|||
|
||||
#: ../../magic/src/fade_darken.c:129
|
||||
msgid "Click to lighten your entire picture."
|
||||
msgstr "Preme para clarexar todo o debuxo"
|
||||
msgstr "Preme para clarexar todo o debuxo."
|
||||
|
||||
#: ../../magic/src/fade_darken.c:134
|
||||
msgid "Click and drag the mouse to darken parts of your picture."
|
||||
|
|
@ -1042,7 +1044,7 @@ msgid ""
|
|||
"Click and drag the mouse to draw with two brushes that are symmetric across "
|
||||
"the left and right of your picture."
|
||||
msgstr ""
|
||||
"Preme e arrastra o rato para debuxar con dous pinceis simétricos da dereita "
|
||||
"Preme e arrastra o rato para debuxar con dous pinceis simétricos á dereita e "
|
||||
"á esquerda do debuxo."
|
||||
|
||||
#: ../../magic/src/kalidescope.c:152
|
||||
|
|
@ -1050,7 +1052,7 @@ msgid ""
|
|||
"Click and drag the mouse to draw with two brushes that are symmetric across "
|
||||
"the top and bottom of your picture."
|
||||
msgstr ""
|
||||
"Preme e arrastra o rato para debuxar con dous pinceis simétricos de arriba a "
|
||||
"Preme e arrastra o rato para debuxar con dous pinceis simétricos arriba e "
|
||||
"abaixo do debuxo."
|
||||
|
||||
#: ../../magic/src/kalidescope.c:156
|
||||
|
|
@ -1089,7 +1091,7 @@ msgstr "Preme e arrastra o rato para pintar cunha cor metalizada."
|
|||
|
||||
#: ../../magic/src/mirror_flip.c:110
|
||||
msgid "Mirror"
|
||||
msgstr "Reflectir"
|
||||
msgstr "Espello"
|
||||
|
||||
#: ../../magic/src/mirror_flip.c:112
|
||||
msgid "Flip"
|
||||
|
|
@ -1179,7 +1181,7 @@ msgstr "Preme para converter a negativo o debuxo."
|
|||
|
||||
#: ../../magic/src/noise.c:66
|
||||
msgid "Noise"
|
||||
msgstr "Noise"
|
||||
msgstr "Ruído"
|
||||
|
||||
#: ../../magic/src/noise.c:70
|
||||
msgid "Click and drag the mouse to add noise to parts of your picture."
|
||||
|
|
@ -1188,7 +1190,7 @@ msgstr ""
|
|||
|
||||
#: ../../magic/src/noise.c:71
|
||||
msgid "Click to add noise to your entire picture."
|
||||
msgstr "Preme para engadirlle ruído a todo o debuxo"
|
||||
msgstr "Preme para engadirlle ruído a todo o debuxo."
|
||||
|
||||
#: ../../magic/src/perspective.c:147
|
||||
msgid "Perspective"
|
||||
|
|
@ -1266,11 +1268,11 @@ msgstr ""
|
|||
|
||||
#: ../../magic/src/ripples.c:102
|
||||
msgid "Ripples"
|
||||
msgstr "Ondulacións"
|
||||
msgstr "Rizos"
|
||||
|
||||
#: ../../magic/src/ripples.c:108
|
||||
msgid "Click to make ripples appear over your picture."
|
||||
msgstr "Preme para facer que aparezan unhas ondas no debuxo."
|
||||
msgstr "Preme para facer que aparezan unhas ondas rizadas no debuxo."
|
||||
|
||||
#: ../../magic/src/rosette.c:115
|
||||
msgid "Rosette"
|
||||
|
|
@ -1354,7 +1356,7 @@ msgstr ""
|
|||
|
||||
#: ../../magic/src/snow.c:71
|
||||
msgid "Snow Ball"
|
||||
msgstr "Cerellos"
|
||||
msgstr "Bolas de neve"
|
||||
|
||||
#: ../../magic/src/snow.c:72
|
||||
msgid "Snow Flake"
|
||||
|
|
@ -1362,11 +1364,11 @@ msgstr "Folerpas"
|
|||
|
||||
#: ../../magic/src/snow.c:76
|
||||
msgid "Click to add snow balls to your picture."
|
||||
msgstr "Preme para engadirlle cerellos ao debuxo"
|
||||
msgstr "Preme para engadirlle cerellos ao debuxo."
|
||||
|
||||
#: ../../magic/src/snow.c:77
|
||||
msgid "Click to add snow flakes to your picture."
|
||||
msgstr "Preme para engadirlle folerpas ao debuxo"
|
||||
msgstr "Preme para engadirlle folerpas ao debuxo."
|
||||
|
||||
#: ../../magic/src/string.c:129
|
||||
msgid "String edges"
|
||||
|
|
@ -1395,7 +1397,7 @@ msgstr "Preme e arrastra o rato para debuxar frechas feitas con cadenetas."
|
|||
|
||||
#: ../../magic/src/string.c:153
|
||||
msgid "Draw string art arrows with free angles."
|
||||
msgstr "Debuxa cadenetas con forma de frecha de varios ángulos. "
|
||||
msgstr "Debuxa cadenetas con forma de frecha de varios ángulos."
|
||||
|
||||
#: ../../magic/src/tint.c:74
|
||||
msgid "Tint"
|
||||
|
|
@ -1496,7 +1498,7 @@ msgstr "Preme e arrastra o rato para obter un efecto excluínte (XOR)"
|
|||
|
||||
#: ../../magic/src/xor.c:101
|
||||
msgid "Click to draw a XOR effect on the whole picture"
|
||||
msgstr "Preme para obter un efecto excluínte (XOR) en todo o debuxo."
|
||||
msgstr "Preme para obter un efecto excluínte (XOR) en todo o debuxo"
|
||||
|
||||
#~ msgid "`\\%_@$~#{<(^&*"
|
||||
#~ msgstr "`\\%_@$~#{<(^&*"
|
||||
|
|
|
|||
22
src/po/is.po
22
src/po/is.po
|
|
@ -2,7 +2,7 @@
|
|||
# Íslensk þýðing á TuxPaint
|
||||
# Copyright (C) 2002-2017.
|
||||
# This file is distributed under the same license as the tuxpaint package.
|
||||
#
|
||||
#
|
||||
# Pjetur G. Hjaltason <pjetur@pjetur.net>, 2002, 2003, 2004, 2014.
|
||||
# Sveinn í Felli <sv1@fellsnet.is>, 2015, 2017, 2020.
|
||||
msgid ""
|
||||
|
|
@ -110,19 +110,19 @@ msgstr "Fölbrúnt!"
|
|||
#. they have both uppercase and lowercase letters. Note that we do not
|
||||
#. test for "Aa", because it is OK if uppercase and lowercase are the
|
||||
#. same (but not nice -- such fonts get a low score later).
|
||||
#.
|
||||
#.
|
||||
#. Most locales leave the blacklist strings alone: "QX" and "qx"
|
||||
#. (it is less destructive to use the scoring strings instead)
|
||||
#.
|
||||
#.
|
||||
#. Locales that absolutely require all fonts to have some
|
||||
#. extra characters should use "QX..." and "qx...", where "..."
|
||||
#. are some characters you absolutely require in all fonts.
|
||||
#.
|
||||
#.
|
||||
#. Locales with absolutely NO use for ASCII may use "..." and "...",
|
||||
#. where "..." are some characters you absolutely require in
|
||||
#. all fonts. This would be the case for a locale in which it is
|
||||
#. impossible for a user to type ASCII letters.
|
||||
#.
|
||||
#.
|
||||
#. Most translators should use scoring instead.
|
||||
#: ../dirwalk.c:177
|
||||
msgid "qx"
|
||||
|
|
@ -474,17 +474,13 @@ msgid "Click to start drawing a line. Let go to complete it."
|
|||
msgstr "Smelltu til að byrja línu. Slepptu til að enda línuna."
|
||||
|
||||
#: ../tools.h:125
|
||||
#| 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."
|
||||
msgid ""
|
||||
"Pick a shape. Click to start drawing, drag, and let go when it is the size "
|
||||
"you want. Move around to rotate it, and click to draw it."
|
||||
msgstr ""
|
||||
"Veldu form. Smelltu til að byrja að teikna, dragðu músina til, slepptu þegar"
|
||||
" það "
|
||||
"er af réttri stærð. Hreyfðu til að snúa forminu, og smelltu til að teikna "
|
||||
"það."
|
||||
"Veldu form. Smelltu til að byrja að teikna, dragðu músina til, slepptu þegar "
|
||||
"það er af réttri stærð. Hreyfðu til að snúa forminu, og smelltu til að "
|
||||
"teikna það."
|
||||
|
||||
#: ../tools.h:129
|
||||
msgid ""
|
||||
|
|
@ -780,7 +776,7 @@ msgstr "Veldu teikningu, og smelltu svo á 'Opna'."
|
|||
|
||||
#. None selected? Too dangerous to automatically select all (like we do for slideshow playback).
|
||||
#. Only 1 selected? No point in saving as GIF.
|
||||
#.
|
||||
#.
|
||||
#: ../tuxpaint.c:15880
|
||||
msgid "Select 2 or more drawings to turn into an animated GIF."
|
||||
msgstr "Veldu 2 eða fleiri teikningar sem á að breyta í GIF-hreyfimynd."
|
||||
|
|
|
|||
942
src/po/it.po
942
src/po/it.po
File diff suppressed because it is too large
Load diff
16
src/po/ja.po
16
src/po/ja.po
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: tuxpaint 0.9.23\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-08-15 16:42-0700\n"
|
||||
"PO-Revision-Date: 2020-08-17 20:27+0900\n"
|
||||
"PO-Revision-Date: 2020-08-19 20:56+0900\n"
|
||||
"Last-Translator: Shin-ichi TOYAMA <shin1@wmail.plala.or.jp>\n"
|
||||
"Language-Team: japanese <shin1@wmail.plala.or.jp>\n"
|
||||
"Language: ja\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-Generator: Poedit 2.4.1\n"
|
||||
|
||||
#. Response to Black (0, 0, 0) color selected
|
||||
#: ../colors.h:86
|
||||
|
|
@ -338,11 +338,11 @@ msgstr "とんがりが 5つの ほし。"
|
|||
|
||||
#: ../shapes.h:372
|
||||
msgid "Draw shapes from the center."
|
||||
msgstr ""
|
||||
msgstr "ずけいを まんなかから ひろげます。"
|
||||
|
||||
#: ../shapes.h:373
|
||||
msgid "Draw shapes from a corner."
|
||||
msgstr ""
|
||||
msgstr "ずけいを ひだりうえの かどから ひろげます。"
|
||||
|
||||
#. Title of tool selector (buttons down the left)
|
||||
#: ../titles.h:56
|
||||
|
|
@ -680,7 +680,7 @@ msgstr "えを かきだしたよ!"
|
|||
|
||||
#: ../tuxpaint.c:2191
|
||||
msgid "Your slideshow GIF has been exported!"
|
||||
msgstr "スライドショーを GIF けいしきで かきだしたよ!"
|
||||
msgstr "スライドショーを GIF アニメに かきだしたよ!"
|
||||
|
||||
#. We got an error exporting
|
||||
#: ../tuxpaint.c:2195
|
||||
|
|
@ -724,7 +724,7 @@ msgstr "スライド"
|
|||
#. Open dialog: 'Export' button, to copy an image to an easily-accessible location
|
||||
#: ../tuxpaint.c:7929
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
msgstr "かきだす"
|
||||
|
||||
#. Open dialog: 'Back' button, to dismiss Open dialog without opening a picture
|
||||
#: ../tuxpaint.c:7932
|
||||
|
|
@ -739,7 +739,7 @@ msgstr "かいし"
|
|||
#. Slideshow: 'GIF Export' button, to create an animated GIF
|
||||
#: ../tuxpaint.c:7938
|
||||
msgid "GIF Export"
|
||||
msgstr ""
|
||||
msgstr "かきだす"
|
||||
|
||||
#. Slideshow: 'Next' button, to load next slide (image)
|
||||
#: ../tuxpaint.c:7941
|
||||
|
|
@ -790,7 +790,7 @@ msgstr "えを えらんでから 「ひらく」をクリックしてね。"
|
|||
#.
|
||||
#: ../tuxpaint.c:15880
|
||||
msgid "Select 2 or more drawings to turn into an animated GIF."
|
||||
msgstr ""
|
||||
msgstr "2ついじょうのえをえらんで GIFアニメをかきだします。"
|
||||
|
||||
#: ../tuxpaint.c:23539
|
||||
msgid "Select a color from your drawing."
|
||||
|
|
|
|||
942
src/po/ru.po
942
src/po/ru.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
942
src/po/si.po
942
src/po/si.po
File diff suppressed because it is too large
Load diff
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -107,19 +107,19 @@ msgstr ""
|
|||
#. they have both uppercase and lowercase letters. Note that we do not
|
||||
#. test for "Aa", because it is OK if uppercase and lowercase are the
|
||||
#. same (but not nice -- such fonts get a low score later).
|
||||
#.
|
||||
#.
|
||||
#. Most locales leave the blacklist strings alone: "QX" and "qx"
|
||||
#. (it is less destructive to use the scoring strings instead)
|
||||
#.
|
||||
#.
|
||||
#. Locales that absolutely require all fonts to have some
|
||||
#. extra characters should use "QX..." and "qx...", where "..."
|
||||
#. are some characters you absolutely require in all fonts.
|
||||
#.
|
||||
#.
|
||||
#. Locales with absolutely NO use for ASCII may use "..." and "...",
|
||||
#. where "..." are some characters you absolutely require in
|
||||
#. all fonts. This would be the case for a locale in which it is
|
||||
#. impossible for a user to type ASCII letters.
|
||||
#.
|
||||
#.
|
||||
#. Most translators should use scoring instead.
|
||||
#: ../dirwalk.c:177
|
||||
msgid "qx"
|
||||
|
|
@ -762,7 +762,7 @@ msgstr ""
|
|||
|
||||
#. None selected? Too dangerous to automatically select all (like we do for slideshow playback).
|
||||
#. Only 1 selected? No point in saving as GIF.
|
||||
#.
|
||||
#.
|
||||
#: ../tuxpaint.c:15880
|
||||
msgid "Select 2 or more drawings to turn into an animated GIF."
|
||||
msgstr ""
|
||||
|
|
|
|||
110
src/tuxpaint.c
110
src/tuxpaint.c
|
|
@ -22,7 +22,7 @@
|
|||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
(See COPYING.txt)
|
||||
|
||||
June 14, 2002 - August 16, 2020
|
||||
June 14, 2002 - October 15, 2020
|
||||
*/
|
||||
|
||||
|
||||
|
|
@ -1526,7 +1526,7 @@ static int text_undo[NUM_UNDO_BUFS];
|
|||
static int have_to_rec_label_node;
|
||||
static int have_to_rec_label_node_back;
|
||||
static SDL_Surface *img_title, *img_title_credits, *img_title_tuxpaint;
|
||||
static SDL_Surface *img_btn_up, *img_btn_down, *img_btn_off;
|
||||
static SDL_Surface *img_btn_up, *img_btn_down, *img_btn_off, *img_btn_hold;
|
||||
static SDL_Surface *img_btnsm_up, *img_btnsm_off, *img_btnsm_down, *img_btnsm_hold;
|
||||
static SDL_Surface *img_btn_nav, *img_btnsm_nav;
|
||||
static SDL_Surface *img_prev, *img_next;
|
||||
|
|
@ -2315,6 +2315,8 @@ enum
|
|||
SHAPE_TOOL_MODE_DONE
|
||||
};
|
||||
|
||||
int shape_reverse;
|
||||
|
||||
|
||||
int brushflag, xnew, ynew, eraflag, lineflag, magicflag, keybd_flag, keybd_position, keyglobal, initial_y, gen_key_flag,
|
||||
ide, activeflag, old_x, old_y;
|
||||
|
|
@ -3328,6 +3330,40 @@ static void mainloop(void)
|
|||
{
|
||||
if (onscreen_keyboard && kbd)
|
||||
{
|
||||
if (kbd == NULL)
|
||||
{
|
||||
if (onscreen_keyboard_layout)
|
||||
kbd =
|
||||
osk_create(onscreen_keyboard_layout, screen,
|
||||
img_btn_up, img_btn_down, img_btn_off,
|
||||
img_btn_nav, img_btn_hold,
|
||||
img_oskdel, img_osktab, img_oskenter,
|
||||
img_oskcapslock, img_oskshift,
|
||||
img_btnsm_up, img_btnsm_down, img_btnsm_off,
|
||||
img_btnsm_nav, img_btnsm_hold,
|
||||
/* FIXME */
|
||||
img_oskdel, img_osktab, img_oskenter,
|
||||
img_oskcapslock, img_oskshift,
|
||||
onscreen_keyboard_disable_change);
|
||||
else
|
||||
kbd =
|
||||
osk_create(strdup("default.layout"), screen,
|
||||
img_btn_up, img_btn_down, img_btn_off,
|
||||
img_btn_nav, img_btn_hold,
|
||||
img_oskdel, img_osktab, img_oskenter,
|
||||
img_oskcapslock, img_oskshift,
|
||||
img_btnsm_up, img_btnsm_down, img_btnsm_off,
|
||||
img_btnsm_nav, img_btnsm_hold,
|
||||
/* FIXME */
|
||||
img_oskdel, img_osktab, img_oskenter,
|
||||
img_oskcapslock, img_oskshift,
|
||||
onscreen_keyboard_disable_change);
|
||||
}
|
||||
if (kbd == NULL)
|
||||
{
|
||||
fprintf(stderr, "kbd = NULL\n");
|
||||
}
|
||||
|
||||
kbd_rect.x = button_w * 2 + (canvas->w - kbd->surface->w) / 2;
|
||||
if (old_y > canvas->h / 2)
|
||||
kbd_rect.y = 0;
|
||||
|
|
@ -5298,6 +5334,10 @@ static void mainloop(void)
|
|||
|
||||
shape_tool_mode = SHAPE_TOOL_MODE_DONE;
|
||||
draw_tux_text(TUX_GREAT, tool_tips[TOOL_SHAPES], 1);
|
||||
|
||||
/* FIXME: Do something less intensive! */
|
||||
|
||||
SDL_Flip(screen);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5617,6 +5657,8 @@ static void mainloop(void)
|
|||
|
||||
do_shape(shape_start_x, shape_start_y, new_x, new_y, 0, 0);
|
||||
|
||||
shape_reverse = (new_x < shape_start_x);
|
||||
|
||||
|
||||
/* FIXME: Fix update shape function! */
|
||||
|
||||
|
|
@ -12384,7 +12426,7 @@ static void save_current(void)
|
|||
char *fname;
|
||||
FILE *fi;
|
||||
|
||||
if (!make_directory(DIR_SAVE, "", "Can't create user data directory"))
|
||||
if (!make_directory(DIR_SAVE, "", "Can't create user data directory (E001)"))
|
||||
{
|
||||
draw_tux_text(TUX_OOPS, strerror(errno), 0);
|
||||
return;
|
||||
|
|
@ -13010,6 +13052,7 @@ static void cleanup(void)
|
|||
free_surface(&img_btn_up);
|
||||
free_surface(&img_btn_down);
|
||||
free_surface(&img_btn_off);
|
||||
free_surface(&img_btn_hold);
|
||||
|
||||
free_surface(&img_btnsm_up);
|
||||
free_surface(&img_btnsm_off);
|
||||
|
|
@ -13610,9 +13653,12 @@ static int shape_rotation(int ctr_x, int ctr_y, int ox, int oy)
|
|||
{
|
||||
int deg;
|
||||
|
||||
|
||||
deg = (atan2(oy - ctr_y, ox - ctr_x) * 180 / M_PI);
|
||||
|
||||
if (shape_reverse) {
|
||||
deg = (deg + 180) % 360;
|
||||
}
|
||||
|
||||
if (shape_radius < 50)
|
||||
deg = ((deg - 15) / 30) * 30;
|
||||
else if (shape_radius < 100)
|
||||
|
|
@ -13731,7 +13777,7 @@ static int do_save(int tool, int dont_show_success_results, int autosave)
|
|||
do_setcursor(cursor_watch);
|
||||
}
|
||||
|
||||
if (!make_directory(DIR_SAVE, "", "Can't create user data directory"))
|
||||
if (!make_directory(DIR_SAVE, "", "Can't create user data directory (E002)"))
|
||||
{
|
||||
fprintf(stderr, "Cannot save the any pictures! SORRY!\n\n");
|
||||
draw_tux_text(TUX_OOPS, strerror(errno), 0);
|
||||
|
|
@ -13746,7 +13792,7 @@ static int do_save(int tool, int dont_show_success_results, int autosave)
|
|||
|
||||
/* Make sure we have a ~/.tuxpaint/saved directory: */
|
||||
|
||||
if (!make_directory(DIR_SAVE, "saved", "Can't create user data directory"))
|
||||
if (!make_directory(DIR_SAVE, "saved", "Can't create user data directory (for saved drawings) (E003)"))
|
||||
{
|
||||
fprintf(stderr, "Cannot save any pictures! SORRY!\n\n");
|
||||
draw_tux_text(TUX_OOPS, strerror(errno), 0);
|
||||
|
|
@ -13761,7 +13807,7 @@ static int do_save(int tool, int dont_show_success_results, int autosave)
|
|||
|
||||
/* Make sure we have a ~/.tuxpaint/saved/.thumbs/ directory: */
|
||||
|
||||
if (!make_directory(DIR_SAVE, "saved/.thumbs", "Can't create user data thumbnail directory"))
|
||||
if (!make_directory(DIR_SAVE, "saved/.thumbs", "Can't create user data thumbnail directory (for saved drawings' thumbnails) (E004)"))
|
||||
{
|
||||
fprintf(stderr, "Cannot save any pictures! SORRY!\n\n");
|
||||
draw_tux_text(TUX_OOPS, strerror(errno), 0);
|
||||
|
|
@ -13770,9 +13816,8 @@ static int do_save(int tool, int dont_show_success_results, int autosave)
|
|||
|
||||
|
||||
|
||||
/* Make sure we have a ~/.tuxpaint/saved/.label/ directory: */
|
||||
if (!make_directory(DIR_SAVE, "saved/.label", "Can't create label information directory"))
|
||||
{
|
||||
if (!make_directory(DIR_SAVE, "saved/.label", "Can't create label information directory (E005)"))
|
||||
{
|
||||
fprintf(stderr, "Cannot save label information! SORRY!\n\n");
|
||||
draw_tux_text(TUX_OOPS, strerror(errno), 0);
|
||||
return 0;
|
||||
|
|
@ -14833,10 +14878,10 @@ static int do_open(void)
|
|||
/* No thumbnail - load original: */
|
||||
|
||||
/* Make sure we have a ~/.tuxpaint/saved directory: */
|
||||
if (make_directory(DIR_SAVE, "saved", "Can't create user data directory"))
|
||||
if (make_directory(DIR_SAVE, "saved", "Can't create user data directory (for saved drawings) (E006)"))
|
||||
{
|
||||
/* (Make sure we have a .../saved/.thumbs/ directory:) */
|
||||
make_directory(DIR_SAVE, "saved/.thumbs", "Can't create user data thumbnail directory");
|
||||
make_directory(DIR_SAVE, "saved/.thumbs", "Can't create user data thumbnail directory (for saved drawings' thumbnails) (E007)");
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -15914,10 +15959,10 @@ static int do_slideshow(void)
|
|||
/* No thumbnail - load original: */
|
||||
|
||||
/* Make sure we have a ~/.tuxpaint/saved directory: */
|
||||
if (make_directory(DIR_SAVE, "saved", "Can't create user data directory"))
|
||||
if (make_directory(DIR_SAVE, "saved", "Can't create user data directory (for saved drawings) (E008)"))
|
||||
{
|
||||
/* (Make sure we have a .../saved/.thumbs/ directory:) */
|
||||
make_directory(DIR_SAVE, "saved/.thumbs", "Can't create user data thumbnail directory");
|
||||
make_directory(DIR_SAVE, "saved/.thumbs", "Can't create user data thumbnail directory (for saved drawings' thumbnails) (E009)");
|
||||
}
|
||||
|
||||
safe_snprintf(fname, sizeof(fname), "%s/%s", dirname, f->d_name);
|
||||
|
|
@ -19824,12 +19869,16 @@ static int do_new_dialog(void)
|
|||
{
|
||||
/* No thumbnail - load original: */
|
||||
|
||||
/* Make sure we have a ~/.tuxpaint/[starters|templates] directory: */
|
||||
if (make_directory(DIR_SAVE, dirname[d_places[num_files]], "Can't create user data directory"))
|
||||
if (d_places[num_files] == PLACE_PERSONAL_TEMPLATES_DIR ||
|
||||
d_places[num_files] == PLACE_PERSONAL_STARTERS_DIR)
|
||||
{
|
||||
/* (Make sure we have a .../[starters|templates]/.thumbs/ directory:) */
|
||||
safe_snprintf(fname, sizeof(fname), "%s/.thumbs", dirname[d_places[num_files]]);
|
||||
make_directory(DIR_SAVE, fname, "Can't create user data thumbnail directory");
|
||||
/* Make sure we have a ~/.tuxpaint/[starters|templates] directory: */
|
||||
if (make_directory(DIR_SAVE, dirname[d_places[num_files]], "Can't create user data directory (for starters/templates) (E010)"))
|
||||
{
|
||||
/* (Make sure we have a .../[starters|templates]/.thumbs/ directory:) */
|
||||
safe_snprintf(fname, sizeof(fname), "%s/.thumbs", dirname[d_places[num_files]]);
|
||||
make_directory(DIR_SAVE, fname, "Can't create user data thumbnail directory (for starters/templates) (E011)");
|
||||
}
|
||||
}
|
||||
|
||||
img = NULL;
|
||||
|
|
@ -19930,10 +19979,10 @@ static int do_new_dialog(void)
|
|||
safe_snprintf(fname, sizeof(fname), "%s/.thumbs/%s-t.png",
|
||||
dirname[d_places[num_files]], d_names[num_files]);
|
||||
|
||||
if (!make_directory(DIR_SAVE, "starters", "Can't create user data directory") ||
|
||||
!make_directory(DIR_SAVE, "templates", "Can't create user data directory") ||
|
||||
!make_directory(DIR_SAVE, "starters/.thumbs", "Can't create user data directory") ||
|
||||
!make_directory(DIR_SAVE, "templates/.thumbs", "Can't create user data directory"))
|
||||
if (!make_directory(DIR_SAVE, "starters", "Can't create user data directory (for starters) (E012)") ||
|
||||
!make_directory(DIR_SAVE, "templates", "Can't create user data directory (for templates) (E013)") ||
|
||||
!make_directory(DIR_SAVE, "starters/.thumbs", "Can't create user data directory (for starters) (E014)") ||
|
||||
!make_directory(DIR_SAVE, "templates/.thumbs", "Can't create user data directory (for templates) (E015)"))
|
||||
fprintf(stderr, "Cannot save any pictures! SORRY!\n\n");
|
||||
else
|
||||
{
|
||||
|
|
@ -25040,6 +25089,7 @@ static void setup(void)
|
|||
img_btn_up = loadimage(DATA_PREFIX "images/ui/btn_up.png");
|
||||
img_btn_down = loadimage(DATA_PREFIX "images/ui/btn_down.png");
|
||||
img_btn_off = loadimage(DATA_PREFIX "images/ui/btn_off.png");
|
||||
img_btn_hold = loadimage(DATA_PREFIX "images/ui/btn_hold.png");
|
||||
|
||||
img_btnsm_up = loadimage(DATA_PREFIX "images/ui/btnsm_up.png");
|
||||
img_btnsm_off = loadimage(DATA_PREFIX "images/ui/btnsm_off.png");
|
||||
|
|
@ -25158,14 +25208,22 @@ static void setup(void)
|
|||
kbd = NULL;
|
||||
else
|
||||
kbd =
|
||||
osk_create(onscreen_keyboard_layout, screen, img_btnsm_up, img_btnsm_down, img_btnsm_off, img_btnsm_nav,
|
||||
osk_create(onscreen_keyboard_layout, screen, img_btn_up, img_btn_down, img_btn_off,
|
||||
img_btn_nav, img_btn_hold,
|
||||
img_oskdel, img_osktab, img_oskenter,
|
||||
img_oskcapslock, img_oskshift,
|
||||
img_btnsm_up, img_btnsm_down, img_btnsm_off, img_btnsm_nav,
|
||||
img_btnsm_hold, img_oskdel, img_osktab, img_oskenter, img_oskcapslock, img_oskshift,
|
||||
onscreen_keyboard_disable_change);
|
||||
}
|
||||
else
|
||||
{
|
||||
kbd =
|
||||
osk_create(strdup("default.layout"), screen, img_btnsm_up, img_btnsm_down, img_btnsm_off, img_btnsm_nav,
|
||||
osk_create(strdup("default.layout"), screen, img_btn_up, img_btn_down, img_btn_off,
|
||||
img_btn_nav, img_btn_hold,
|
||||
img_oskdel, img_osktab, img_oskenter,
|
||||
img_oskcapslock, img_oskshift,
|
||||
img_btnsm_up, img_btnsm_down, img_btnsm_off, img_btnsm_nav,
|
||||
img_btnsm_hold, img_oskdel, img_osktab, img_oskenter, img_oskcapslock, img_oskshift,
|
||||
onscreen_keyboard_disable_change);
|
||||
}
|
||||
|
|
@ -26733,7 +26791,7 @@ static char * get_export_filepath(const char * ext) {
|
|||
|
||||
|
||||
/* Make sure the export dir exists */
|
||||
if (!make_directory(DIR_EXPORT, "", "Can't create export directory"))
|
||||
if (!make_directory(DIR_EXPORT, "", "Can't create export directory (E016)"))
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue