Open dialog scroll buttons auto-repeat now

Had an unwanted SDL_RemoveTimer call in a dumb place. :/
This commit is contained in:
Bill Kendrick 2022-04-18 22:19:24 -07:00
parent 0aab76291b
commit 8fac8476f4
4 changed files with 14 additions and 11 deletions

3
data/brushes/dog.dat Normal file
View file

@ -0,0 +1,3 @@
frames=2
directional
spacing=48

BIN
data/brushes/dog.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -128,12 +128,18 @@ http://www.tuxpaint.org/
you scale down (similar to "Panels", but with non-integer scaling).
Bill Kendrick <bill@newbreedsoftware.com>
* New Brushes:
------------
* "Dog" animated directional brush.
(Modified version of art from the "oneko" package by Tatsuya Kato.
https://github.com/tie/oneko)
Brushified by Bill Kendrick <bill@newbreedsoftware.com>
* Other Improvements:
-------------------
* The up & down scroll buttons now auto-repeat if you click/tap and
hold them in the "Tools" section, [WIP] the "Open" dialog,
the "New" dialog, and the "Slideshow" dialog.
For https://sourceforge.net/p/tuxpaint/feature-requests/173/
hold them in the "Tools" section, and "Open", "New", and "Slideshow"
dialogs. (For https://sourceforge.net/p/tuxpaint/feature-requests/173/)
Bill Kendrick <bill@newbreedsoftware.com>
* Localization Updates:

View file

@ -16140,13 +16140,13 @@ static int do_open(void)
scrolling_dialog = 1;
SDL_InitSubSystem(SDL_INIT_TIMER);
scrolltimer_dialog =
SDL_AddTimer(1/*REPEAT_SPEED*/, scrolltimer_dialog_callback, (void *)&scrolltimer_dialog_event);
SDL_AddTimer(REPEAT_SPEED, scrolltimer_dialog_callback, (void *)&scrolltimer_dialog_event);
}
else
{
DEBUG_PRINTF("Continuing scrolling\n");
scrolltimer_dialog =
SDL_AddTimer(1/*REPEAT_SPEED / 3*/, scrolltimer_dialog_callback, (void *)&scrolltimer_dialog_event);
SDL_AddTimer(REPEAT_SPEED / 3, scrolltimer_dialog_callback, (void *)&scrolltimer_dialog_event);
}
}
}
@ -16315,12 +16315,6 @@ static int do_open(void)
handle_joybuttonupdown(event, oldpos_x, oldpos_y);
} /* while (SDL_PollEvent(&event)) */
if (scrolltimer_dialog != NULL)
{
SDL_RemoveTimer(scrolltimer_dialog);
scrolltimer_dialog = NULL;
}
if (motioner | hatmotioner)
handle_motioners(oldpos_x, oldpos_y, motioner, hatmotioner, old_hat_ticks, val_x, val_y, valhat_x,
valhat_y);