Commit graph

55 commits

Author SHA1 Message Date
Gered 984f42bd49 update README.md 2016-01-04 17:04:16 -05:00
Gered f1eb274ed8 fix some component sizing issues. resolves #1 2016-01-04 16:38:19 -05:00
Gered 464f4a400e default to splits directory if we have no existing open file dir to use 2016-01-04 01:41:41 -05:00
Gered 0fd299cf44 might help with #3, better check for if the window has focus or not
i'm not 100% sure if this will actually help though as i've not figured
out completely how to reproduce the issue
2016-01-04 01:40:48 -05:00
Gered fd84ef242f add support for multiline run titles. resolves #7 2016-01-03 16:23:41 -05:00
Gered 016ecd8acd add missing settings for various colors. resolves #9 2016-01-03 16:03:12 -05:00
Gered 05983ec78f add font/color customization support for the run sub title setting 2016-01-03 15:32:06 -05:00
Gered 1105a52a0a change "goal" to "sub title." resolves #8
the sub title can still be used to put a goal if the end user really
wants it. but it won't do the fancy automatic segment time text
if the user had goal showing enabled but no text set.
2016-01-03 15:16:19 -05:00
Gered e3b0e1be80 better behaviour for initial directory in file dialogs. fixes #4 2016-01-03 14:21:39 -05:00
Gered 5081c300cc show current timer value, even when stopped. resolves #6 2016-01-03 14:09:16 -05:00
Gered 234f899020 immediately close app if registration fails. resolves #10 2016-01-03 13:26:49 -05:00
Gered 1bd79efe32 update version for development of next release 2015-12-04 13:05:31 -05:00
Gered 993a01d93d version 1.5 2015-12-04 13:03:13 -05:00
Gered 4f213258a6 update README.md 2015-12-04 13:02:29 -05:00
Gered ea09a5c5f5 change the way we present errors on global key event hook reg error
the "Retry" button thing we had previously didn't really seem all that
good in practice, as there's no way (??) to determine if the OS actually
_did_ pop up some kind of prompt for the user (as OS X does).

since hotkeys won't work if hook registration fails, displaying an
error immediately seems to be the best option... and still much better
then what used to happen where the app would just silently fail to start
2015-12-04 12:39:56 -05:00
Gered 3ef68d88e3 fix auto filename extension adding on save 2015-12-04 12:31:00 -05:00
Gered 0faeabecef update about dialog 2015-12-04 12:22:38 -05:00
Gered 8c5fa13683 add new font settings to the settings > components tab 2015-12-04 12:16:31 -05:00
Gered 7b580553bd add internal support for more font settings 2015-12-04 11:45:41 -05:00
Gered a1fa2e763d add some preliminary support for additional time gain/lose colouring
the colours used should be made configurable by the user instead of
using Color's brighter/darker methods, but it works for now i guess
2015-12-04 10:53:18 -05:00
Gered 6db7171704 add attempt counter display and a setting to turn it on/off 2015-12-03 20:06:49 -05:00
Gered d5d82a9a5e fix bug with the way visibility for title and goal was determined 2015-12-03 19:01:55 -05:00
Gered 57e38a58b1 add internal run attempt/completion counters 2015-12-03 18:28:42 -05:00
Gered 621f7185bd add app icon for mac app bundle builds 2015-12-03 17:49:08 -05:00
Gered 58958b7219 organize language.properties entries 2015-12-03 17:26:52 -05:00
Gered 357cbe9026 remove some hardcoded strings, use the language file instead 2015-12-03 17:15:30 -05:00
Gered c85a1b974b disabling language selection for now. can re-enable at a later date
quite simply, i don't speak anything other then english. the source
code i originally got from Xunkar also had some english strings that
had not been translated either, so everything other then english was
somewhat out of date to begin with.

i very strongly feel that it's bad form to provide an option for
choosing an alternate language within the app when the alternate
language translations are out of date and are just plain missing some
strings in places.

if at some point in the future someone wants to finish one or more of
these translations so they are once again in sync, we can then
re-enable the language selection.

it's unfortunate, but i feel this is the best decision for now.
2015-12-03 17:00:00 -05:00
Gered 7f344da67c switch back to a JFileChooser, AWT FileDialog really is shit it seems
the AWT FileDialog provides laughably bad "support" for setting
file filters (the type which the user can select from a dropdown).

oh well, semi-non-native looking file open/save dialogs are here to stay
2015-12-03 16:47:34 -05:00
Gered e694da1235 add default ".lfs" extension to saved runs/splits 2015-12-03 16:32:12 -05:00
Gered 9e8d688ac8 add support for gradle macAppBundle plugin for generating mac .app's 2015-12-02 17:31:09 -05:00
Gered 90177997d2 just use a regular RuntimeException 2015-12-02 17:20:23 -05:00
Gered 309beabd95 also add some config serialization customizations 2015-12-02 16:12:56 -05:00
Gered 0b54228770 clean up some run serialization stuff (especially icons!)
previously icons got their raw pixel data serialized to a massive
int array type structure in xml. now we serialize the entire ImageIcon
object to a base64 string, which is still quite a long string, but
fits nicely on one line instead of making the resulting xml feel hugely
bloated.
2015-12-02 15:34:21 -05:00
Gered 69f2160a6e remove test code. oops 2015-12-02 14:28:12 -05:00
Gered f37b331f39 add support for delayed starts for runs 2015-12-02 14:27:26 -05:00
Gered 20bd866eba add toggle for global/non-global hotkeys. add hook registration retry
kind of a hacky implementation, but it works.

ideally i would like to not depend on JNativeHook at all if global
hotkeys are disabled and provide some sort of "dual" event processing
using both the built in Swing key press events and the native key press
events, using input from whichever is appropriate based on the user
settings.

however, JNativeHook and Swing use different key codes. it would be
possible to write some code to translate between the two, but i don't
have a bunch of different keyboards and OS installs to test this
properly and feel that the odds of me writing some key code translation
function that doesn't work 100% of the time is a bit too high.

so, we just use JNativeHook for global and non-global and test for
window focus depending on which is enabled. this has the unfortunate
consequence of requiring that the key event hook registration was
successful regardless of if the user wants to use global or non-global
hotkeys. kind of annoying, but can't be helped for now!
2015-12-02 12:52:49 -05:00
Gered 3e460f4a12 oops, forgot about how this is used when "Exit" is chosen 2015-12-01 16:30:12 -05:00
Gered a6b6110331 nitpicky spelling error fix. use a better name
"imprt" was obviously used because "import" is a keyword, but it bugs me
seeing a spelling mistake like that, even if it was intentional!
2015-12-01 16:08:49 -05:00
Gered 063e88be02 fix possible scenario that would leave hotkeys disabled unintentionally 2015-12-01 16:06:25 -05:00
Gered 23a413a98a use AWT's FileDialog so we get real native OS file dialogs
i need to test this more on Windows/Linux to ensure it works fine there
too, but i think it should be fine.

getting native OS file dialogs is _probably_ most important on OS X
as the Swing JFileChooser version lacks the favourites column which
a lot of users will end up feeling somewhat lost without.
2015-12-01 13:58:57 -05:00
Gered 0559de6b88 changing Icon references to what they actually always are, ImageIcons
this change is in prep for some serialization changes i will be doing
in the very near future. i will need access to the underlying Image
object and the Icon interface doesn't include that so i would need to
cast at some point to ImageIcon anyway.
2015-12-01 13:40:49 -05:00
Gered 3c9405e74b fix save dialog not working. change default save/open dir 2015-12-01 13:34:54 -05:00
Gered f1729b3e88 change to saving app config file to a location in the user's home dir
basically, save it under ~/.llanfair always.

the reason being is that under certain deployments it's entirely
possible the current directory where the JAR is located _might_ not be
writeable by the application. but the user's home directory should
always be writeable.
2015-12-01 13:12:41 -05:00
Gered 9e9628bacd rename Settings static Property fields to be less cryptic 2015-12-01 12:38:48 -05:00
Gered 222afc25b1 update version for development of next release 2015-11-30 15:23:38 -05:00
Gered dc43b04767 update README.md 2015-11-30 15:06:38 -05:00
Gered aaf31a93be update gradle configuration to something more recent (2.1+)
apparently i was unknowningly using a very old version of gradle. oops.
2015-11-30 14:59:47 -05:00
Gered 4a90913ff3 add README.md 2015-11-30 14:28:15 -05:00
Gered a66fcaf30f pretty nitpicky of me, but i prefer all resources having file extensions 2015-11-30 13:59:33 -05:00
Gered 09151fd92c add support for building uberjars via the "shadow" gradle plugin 2015-11-30 13:25:14 -05:00