radiant-player / radiant-player-electron

:zap: The future Radiant Player 2.0
https://radiant-player.github.io
32 stars 8 forks source link

Settings page #3

Open chrismou opened 8 years ago

chrismou commented 8 years ago

Need a generic, tabbed (?) settings page.

Ideally accessible via the context menu, but I guess we're not tied that that if we have a better idea!

Note - if anyone fancies taking this on but doesn't fancy tackling the styling, feel free to add the functionality and ping me and I'll pretty it up.

jacobwgillespie commented 8 years ago

We should check out https://github.com/gabrielbull/react-desktop - prebuilt react components with a native look / feel for OSX and Win10.

jacobwgillespie commented 8 years ago

And we also need to implement a persistence layer with one of the existing solutions (there are several existing modules that coordinate a backing JSON file for app settings - we should pick one) and wire it up to the IPC framework.

chrismou commented 8 years ago

Ah jeez, don't be forgetting the linux lot. You'll get some serious grief if you do :wink:

matthewdias commented 8 years ago

They're just react components, so technically they would work with Linux. They're just not gonna integrate with gtk or anything so it would look out of place. An alternative could be to do one in a page in the app, similar to how GPMDP does it?

jacobwgillespie commented 8 years ago

One note on Win10 / Linux - thus far I have written the app to target only OSX since the immediate target is to replace Radiant 1.x. The keyboard shortcuts, menu items, and some window behaviors expect OSX, and most importantly, the custom title bar uses a native (C++) interface to the system mouse events so that it can performantly implement the drag regions, and that native module only works on OSX.

So, if / when we decide to go cross-platform, those elements will need to be conditionally modified to behave as expected on the other platforms, and the mouse module will need to be rewritten for Windows and Linux in addition to theming considerations like the settings dialog.

jacobwgillespie commented 8 years ago

That mouse stuff is issue #2