Skip to content

StyleMiiU and some UI improvements - #16

Merged
Fangal-Airbag merged 21 commits into
ThemeCafe:mainfrom
dkosmari:stylemiiu-improvements
Jul 24, 2026
Merged

StyleMiiU and some UI improvements#16
Fangal-Airbag merged 21 commits into
ThemeCafe:mainfrom
dkosmari:stylemiiu-improvements

Conversation

@dkosmari

@dkosmari dkosmari commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

General:

  • Better support for shuffling themes.
  • QR codes now start a download directly, instead of searching on Themezer.
  • Added a popup to confirm exiting the app.
  • Fixed URLs to point to the new ThemeCafe org.
  • Confirmation buttons were moved to the right.

Themezer screen:

  • Added buttons to enable/disable all themes, when shuffling.
  • Installed and updateable themes are now marked with an icon.
  • Added a quick id search field, the regular search field does not magically switch to quick id mode.

Settings screen:

  • StyleMiiU configuration is now directly accessible.
  • Settings are saved on exit, and not every time an option changes.
  • Added some indentation for settings.
  • Unknown configuration keys are ignored; this allows downgrading Themiify without throwing errors due to unknown keys being found in the settings JSON.

Manage themes screen:

  • Added a QR button for downloading .utheme files directly.

Internal code changes

Installer module became ThemeManager and PluginManager. Some functions from utils were moved to ThemeManager. Both theme and utheme lists are cached inside the module, so UI code doesn't need to be launching threads anymore.

Filename sanitization now replaces all discarded characters by _; before, all non-ASCII characters were just being deleted.

Daniel K. O. (dkosmari) added 21 commits July 13, 2026 19:30
- StyleMiiU handling moved to its own module, PluginManager.
- Theme install is now responsible for launching worker thread; callbacks are always
called on the main thread, from ThemeManager::process().
- Zip file handlign is done now with the Zip module, using RAII to remove explicit error handling.
- Refactored utils functions into ThemeManager.
- Filename sanitization replaces all discarded characters by "_", not just the ASCII ones.
…ng to a theme search.

- Themezer screen: fixed layout sizing.
- Removed some duplicated code.
- Reorganized SettingsScreen code.
- Fixed a crash when refreshing themes/uthemes while rendering.
- Added UI::Title() to unify all "title" rendering in popup windows.
- Added UI::ButtonHBox class to create horizontal button boxes.
- Moved all confirmation buttons to the right.
- Some code reorganization.
- Added debug macros to inject error states, to make testing the error popups easier.
@Fangal-Airbag
Fangal-Airbag merged commit 7e7bc8c into ThemeCafe:main Jul 24, 2026
1 check passed
@dkosmari
dkosmari deleted the stylemiiu-improvements branch July 24, 2026 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants