summaryrefslogtreecommitdiff
path: root/riscos/save.c
diff options
context:
space:
mode:
Diffstat (limited to 'riscos/save.c')
-rw-r--r--riscos/save.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/riscos/save.c b/riscos/save.c
index c6bc06f..acf6ba9 100644
--- a/riscos/save.c
+++ b/riscos/save.c
@@ -311,7 +311,7 @@ bool ro_gui_load_theme(char *path) {
/* Check the header is OK
*/
if ((file_header->magic_value != 0x4d54534e) ||
- (file_header->parser_version > 1)) return false;
+ (file_header->parser_version > 2)) return false;
/* Try to load the sprite file
*/
@@ -413,8 +413,17 @@ bool ro_gui_load_theme(char *path) {
file_header->status_bg);
ro_gui_set_icon_background_colour(dialog_main, ICON_MAIN_STATUSFG_COLOUR,
file_header->status_fg);
- ro_gui_set_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_LEFT,
- file_header->throbber_left);
+ if (file_header->parser_version >= 2) {
+ ro_gui_set_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_LEFT,
+ file_header->theme_flags & (1 << 0));
+ ro_gui_set_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_REDRAW,
+ file_header->theme_flags & (1 << 1));
+ } else {
+ ro_gui_set_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_LEFT,
+ file_header->theme_flags);
+ ro_gui_set_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_REDRAW,
+ true);
+ }
/* Remember the filename for saving later on
*/
@@ -450,7 +459,7 @@ bool ro_gui_save_theme(char *path) {
/* Complete the header
*/
file_header->magic_value = 0x4d54534e;
- file_header->parser_version = 1;
+ file_header->parser_version = 2;
strcpy(file_header->name, ro_gui_get_icon_string(dialog_main, ICON_MAIN_NAME));
strcpy(file_header->author, ro_gui_get_icon_string(dialog_main, ICON_MAIN_AUTHOR));
file_header->browser_bg = ro_gui_get_icon_background_colour(dialog_main,
@@ -461,10 +470,12 @@ bool ro_gui_save_theme(char *path) {
ICON_MAIN_STATUSBG_COLOUR);
file_header->status_fg = ro_gui_get_icon_background_colour(dialog_main,
ICON_MAIN_STATUSFG_COLOUR);
- if (ro_gui_get_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_LEFT)) {
- file_header->throbber_left = 0xff;
- }
-
+ if (ro_gui_get_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_LEFT))
+ file_header->theme_flags = (1 << 0);
+ if (ro_gui_get_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_REDRAW))
+ file_header->theme_flags = (1 << 1);
+
+
/* Append the compressed sprites
*/
if (theme_sprites) {