Pressing Ctrl-P will now bring up the print dialog.
This commit is contained in:
parent
3f4e377542
commit
ed3e365bf0
1 changed files with 59 additions and 46 deletions
105
src/tuxpaint.c
105
src/tuxpaint.c
|
|
@ -1246,7 +1246,8 @@ static void hsvtorgb(float h, float s, float v, Uint8 * r8, Uint8 * g8,
|
||||||
SDL_Surface *flip_surface(SDL_Surface * s);
|
SDL_Surface *flip_surface(SDL_Surface * s);
|
||||||
SDL_Surface *mirror_surface(SDL_Surface * s);
|
SDL_Surface *mirror_surface(SDL_Surface * s);
|
||||||
|
|
||||||
void do_print(void);
|
static void print_image(void);
|
||||||
|
static void do_print(void);
|
||||||
static void strip_trailing_whitespace(char *buf);
|
static void strip_trailing_whitespace(char *buf);
|
||||||
static void do_render_cur_text(int do_blit);
|
static void do_render_cur_text(int do_blit);
|
||||||
static char *uppercase(char *str);
|
static char *uppercase(char *str);
|
||||||
|
|
@ -1619,7 +1620,7 @@ static void mainloop(void)
|
||||||
int num_things;
|
int num_things;
|
||||||
int *thing_scroll;
|
int *thing_scroll;
|
||||||
int cur_thing, do_draw, old_tool, tmp_int, max;
|
int cur_thing, do_draw, old_tool, tmp_int, max;
|
||||||
int cur_time, last_print_time, ignoring_motion;
|
int ignoring_motion;
|
||||||
SDL_TimerID scrolltimer = NULL;
|
SDL_TimerID scrolltimer = NULL;
|
||||||
SDL_Event event;
|
SDL_Event event;
|
||||||
SDLKey key, key_down;
|
SDLKey key, key_down;
|
||||||
|
|
@ -1645,7 +1646,6 @@ static void mainloop(void)
|
||||||
shape_outer_y = 0;
|
shape_outer_y = 0;
|
||||||
shape_tool_mode = SHAPE_TOOL_MODE_DONE;
|
shape_tool_mode = SHAPE_TOOL_MODE_DONE;
|
||||||
button_down = 0;
|
button_down = 0;
|
||||||
last_print_time = -print_delay;
|
|
||||||
last_cursor_blink = cur_toggle_count = 0;
|
last_cursor_blink = cur_toggle_count = 0;
|
||||||
texttool_len = 0;
|
texttool_len = 0;
|
||||||
scrolling = 0;
|
scrolling = 0;
|
||||||
|
|
@ -1848,6 +1848,14 @@ static void mainloop(void)
|
||||||
draw_toolbar();
|
draw_toolbar();
|
||||||
update_screen_rect(&r_tools);
|
update_screen_rect(&r_tools);
|
||||||
}
|
}
|
||||||
|
else if (key == SDLK_p && (mod & KMOD_CTRL) && !noshortcuts)
|
||||||
|
{
|
||||||
|
/* Ctrl-P - Print */
|
||||||
|
print_image();
|
||||||
|
draw_toolbar();
|
||||||
|
draw_tux_text(TUX_BORED, "", 0);
|
||||||
|
update_screen_rect(&r_tools);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Handle key in text tool: */
|
/* Handle key in text tool: */
|
||||||
|
|
@ -2285,48 +2293,15 @@ static void mainloop(void)
|
||||||
}
|
}
|
||||||
else if (cur_tool == TOOL_PRINT)
|
else if (cur_tool == TOOL_PRINT)
|
||||||
{
|
{
|
||||||
cur_time = SDL_GetTicks() / 1000;
|
// original print code was here
|
||||||
|
print_image();
|
||||||
#ifdef DEBUG
|
|
||||||
printf("Current time = %d\n", cur_time);
|
if (old_tool == TOOL_TEXT)
|
||||||
#endif
|
do_render_cur_text(0);
|
||||||
|
cur_tool = old_tool;
|
||||||
if (cur_time >= last_print_time + print_delay)
|
draw_toolbar();
|
||||||
{
|
draw_tux_text(TUX_BORED, "", 0);
|
||||||
if (alt_print_command_default == ALTPRINT_ALWAYS)
|
update_screen_rect(&r_tools);
|
||||||
want_alt_printcommand = 1;
|
|
||||||
else if (alt_print_command_default == ALTPRINT_NEVER)
|
|
||||||
want_alt_printcommand = 0;
|
|
||||||
else /* ALTPRINT_MOD */
|
|
||||||
want_alt_printcommand = (SDL_GetModState() & KMOD_ALT);
|
|
||||||
|
|
||||||
if (do_prompt_image_snd(PROMPT_PRINT_NOW_TXT,
|
|
||||||
PROMPT_PRINT_NOW_YES,
|
|
||||||
PROMPT_PRINT_NOW_NO,
|
|
||||||
img_printer, NULL, NULL, SND_AREYOUSURE))
|
|
||||||
{
|
|
||||||
do_print();
|
|
||||||
|
|
||||||
last_print_time = cur_time;
|
|
||||||
}
|
|
||||||
if (old_tool == TOOL_TEXT)
|
|
||||||
do_render_cur_text(0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
do_prompt_image_snd(PROMPT_PRINT_TOO_SOON_TXT,
|
|
||||||
PROMPT_PRINT_TOO_SOON_YES,
|
|
||||||
"",
|
|
||||||
img_printer_wait, NULL, NULL,
|
|
||||||
SND_NEGATIVE);
|
|
||||||
if (old_tool == TOOL_TEXT)
|
|
||||||
do_render_cur_text(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
cur_tool = old_tool;
|
|
||||||
draw_toolbar();
|
|
||||||
draw_tux_text(TUX_BORED, "", 0);
|
|
||||||
update_screen_rect(&r_tools);
|
|
||||||
}
|
}
|
||||||
else if (cur_tool == TOOL_QUIT)
|
else if (cur_tool == TOOL_QUIT)
|
||||||
{
|
{
|
||||||
|
|
@ -15087,6 +15062,45 @@ static void hsvtorgb(float h, float s, float v, Uint8 * r8, Uint8 * g8,
|
||||||
*b8 = (Uint8) (b * 255);
|
*b8 = (Uint8) (b * 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void print_image(void)
|
||||||
|
{
|
||||||
|
static int last_print_time = 0;
|
||||||
|
int cur_time;
|
||||||
|
|
||||||
|
cur_time = SDL_GetTicks() / 1000;
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
printf("Current time = %d\n", cur_time);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (cur_time >= last_print_time + print_delay)
|
||||||
|
{
|
||||||
|
if (alt_print_command_default == ALTPRINT_ALWAYS)
|
||||||
|
want_alt_printcommand = 1;
|
||||||
|
else if (alt_print_command_default == ALTPRINT_NEVER)
|
||||||
|
want_alt_printcommand = 0;
|
||||||
|
else /* ALTPRINT_MOD */
|
||||||
|
want_alt_printcommand = (SDL_GetModState() & KMOD_ALT);
|
||||||
|
|
||||||
|
if (do_prompt_image_snd(PROMPT_PRINT_NOW_TXT,
|
||||||
|
PROMPT_PRINT_NOW_YES,
|
||||||
|
PROMPT_PRINT_NOW_NO,
|
||||||
|
img_printer, NULL, NULL, SND_AREYOUSURE))
|
||||||
|
{
|
||||||
|
do_print();
|
||||||
|
|
||||||
|
last_print_time = cur_time;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
do_prompt_image_snd(PROMPT_PRINT_TOO_SOON_TXT,
|
||||||
|
PROMPT_PRINT_TOO_SOON_YES,
|
||||||
|
"",
|
||||||
|
img_printer_wait, NULL, NULL,
|
||||||
|
SND_NEGATIVE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void do_print(void)
|
void do_print(void)
|
||||||
{
|
{
|
||||||
|
|
@ -15157,7 +15171,6 @@ void do_print(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void do_render_cur_text(int do_blit)
|
static void do_render_cur_text(int do_blit)
|
||||||
{
|
{
|
||||||
int w, h;
|
int w, h;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue