summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Wilson <rjw@netsurf-browser.org>2005-03-21 17:11:07 +0000
committerRichard Wilson <rjw@netsurf-browser.org>2005-03-21 17:11:07 +0000
commit6e5913f873d8fb76d6561e86fecabed2a4cfb653 (patch)
tree70fa31574bb3ddb216097bf810435120dc637bda
parent803f5179ab828aacec5776f2bcda888770fcee5d (diff)
downloadnstheme-6e5913f873d8fb76d6561e86fecabed2a4cfb653.tar.gz
nstheme-6e5913f873d8fb76d6561e86fecabed2a4cfb653.tar.bz2
[project @ 2005-03-21 17:11:07 by rjw]
Support version 2 themes (load/save) svn path=/import/nstheme/; revision=2440
-rw-r--r--!NSTheme/Resources/en/Templates,fecbin2365 -> 2388 bytes
-rw-r--r--riscos/gui.h23
-rw-r--r--riscos/save.c27
3 files changed, 31 insertions, 19 deletions
diff --git a/!NSTheme/Resources/en/Templates,fec b/!NSTheme/Resources/en/Templates,fec
index 24e34a5..bef3a15 100644
--- a/!NSTheme/Resources/en/Templates,fec
+++ b/!NSTheme/Resources/en/Templates,fec
Binary files differ
diff --git a/riscos/gui.h b/riscos/gui.h
index 78ac3cb..aac383b 100644
--- a/riscos/gui.h
+++ b/riscos/gui.h
@@ -37,7 +37,7 @@ struct theme_file_header {
char hotlist_bg;
char status_bg;
char status_fg;
- char throbber_left;
+ char theme_flags;
char future_expansion_1;
char future_expansion_2;
char future_expansion_3;
@@ -77,16 +77,17 @@ bool ro_gui_load_theme(char *path);
#define ICON_MAIN_NAME 3
#define ICON_MAIN_AUTHOR 5
#define ICON_MAIN_THROBBER_LEFT 8
-#define ICON_MAIN_REPORT 11
-#define ICON_MAIN_REMOVE 12
-#define ICON_MAIN_BROWSER_COLOUR 16
-#define ICON_MAIN_BROWSER_MENU 17
-#define ICON_MAIN_HOTLIST_COLOUR 19
-#define ICON_MAIN_HOTLIST_MENU 20
-#define ICON_MAIN_STATUSBG_COLOUR 22
-#define ICON_MAIN_STATUSBG_MENU 23
-#define ICON_MAIN_STATUSFG_COLOUR 25
-#define ICON_MAIN_STATUSFG_MENU 26
+#define ICON_MAIN_THROBBER_REDRAW 9
+#define ICON_MAIN_REPORT 10
+#define ICON_MAIN_REMOVE 11
+#define ICON_MAIN_BROWSER_COLOUR 15
+#define ICON_MAIN_BROWSER_MENU 16
+#define ICON_MAIN_HOTLIST_COLOUR 18
+#define ICON_MAIN_HOTLIST_MENU 19
+#define ICON_MAIN_STATUSBG_COLOUR 21
+#define ICON_MAIN_STATUSBG_MENU 22
+#define ICON_MAIN_STATUSFG_COLOUR 24
+#define ICON_MAIN_STATUSFG_MENU 25
#define ICON_SAVE_ICON 0
#define ICON_SAVE_PATH 1
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) {