summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2011-11-27 10:10:26 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2011-11-27 10:10:26 +0000
commit6cf7cb9822782295091fb083eab1f2862500b53b (patch)
tree22e08ce8165d541471a98bd705064f6cf9fa9b6d
parent47452dcd5c2fcb05b3db738b3a684d0ee713f928 (diff)
downloadrockbox-6cf7cb9822782295091fb083eab1f2862500b53b.zip
rockbox-6cf7cb9822782295091fb083eab1f2862500b53b.tar.gz
rockbox-6cf7cb9822782295091fb083eab1f2862500b53b.tar.bz2
rockbox-6cf7cb9822782295091fb083eab1f2862500b53b.tar.xz
Don't load the icons unless show_icons is actually enabled. And respect that setting in the shortcuts menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31069 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/gui/icon.c55
-rw-r--r--apps/menus/theme_menu.c21
-rw-r--r--apps/shortcuts.c3
3 files changed, 51 insertions, 28 deletions
diff --git a/apps/gui/icon.c b/apps/gui/icon.c
index a9075b1..e1f4ec3 100644
--- a/apps/gui/icon.c
+++ b/apps/gui/icon.c
@@ -236,36 +236,39 @@ void icons_init(void)
}
}
- load_icons(global_settings.icon_file, Iconset_user, SCREEN_MAIN);
-
- if (global_settings.viewers_icon_file[0] &&
- global_settings.viewers_icon_file[0] != '-')
- {
- load_icons(global_settings.viewers_icon_file,
- Iconset_viewers, SCREEN_MAIN);
- read_viewer_theme_file();
- }
- else
+ if (global_settings.show_icons)
{
- load_icons(DEFAULT_VIEWER_BMP, Iconset_viewers, SCREEN_MAIN);
- }
+ load_icons(global_settings.icon_file, Iconset_user, SCREEN_MAIN);
+
+ if (global_settings.viewers_icon_file[0] &&
+ global_settings.viewers_icon_file[0] != '-')
+ {
+ load_icons(global_settings.viewers_icon_file,
+ Iconset_viewers, SCREEN_MAIN);
+ read_viewer_theme_file();
+ }
+ else
+ {
+ load_icons(DEFAULT_VIEWER_BMP, Iconset_viewers, SCREEN_MAIN);
+ }
#if defined(HAVE_REMOTE_LCD) && (NB_SCREENS > 1)
- load_icons(global_settings.remote_icon_file,
- Iconset_user, SCREEN_REMOTE);
-
- if (global_settings.remote_viewers_icon_file[0] &&
- global_settings.remote_viewers_icon_file[0] != '-')
- {
- load_icons(global_settings.remote_viewers_icon_file,
- Iconset_viewers, SCREEN_REMOTE);
- }
- else
- {
- load_icons(DEFAULT_REMOTE_VIEWER_BMP,
- Iconset_viewers, SCREEN_REMOTE);
- }
+ load_icons(global_settings.remote_icon_file,
+ Iconset_user, SCREEN_REMOTE);
+
+ if (global_settings.remote_viewers_icon_file[0] &&
+ global_settings.remote_viewers_icon_file[0] != '-')
+ {
+ load_icons(global_settings.remote_viewers_icon_file,
+ Iconset_viewers, SCREEN_REMOTE);
+ }
+ else
+ {
+ load_icons(DEFAULT_REMOTE_VIEWER_BMP,
+ Iconset_viewers, SCREEN_REMOTE);
+ }
#endif
+ }
}
int get_icon_width(enum screen_type screen_type)
diff --git a/apps/menus/theme_menu.c b/apps/menus/theme_menu.c
index f5af1c7..e1077a5 100644
--- a/apps/menus/theme_menu.c
+++ b/apps/menus/theme_menu.c
@@ -39,6 +39,7 @@
#include "viewport.h"
#include "statusbar-skinned.h"
#include "skin_engine/skin_engine.h"
+#include "icons.h"
#ifdef HAVE_BACKDROP_IMAGE
/**
@@ -356,7 +357,25 @@ MENUITEM_FUNCTION(browse_rfms, MENU_FUNC_USEPARAM,
#endif
#endif
-MENUITEM_SETTING(show_icons, &global_settings.show_icons, NULL);
+
+static int showicons_callback(int action, const struct menu_item_ex *this_item)
+{
+ (void)this_item;
+ static bool old_icons;
+ switch (action)
+ {
+ case ACTION_ENTER_MENUITEM:
+ old_icons = global_settings.show_icons;
+ break;
+ case ACTION_EXIT_MENUITEM:
+ if (old_icons != global_settings.show_icons)
+ icons_init();
+ break;
+ }
+ return ACTION_REDRAW;
+}
+
+MENUITEM_SETTING(show_icons, &global_settings.show_icons, showicons_callback);
MENUITEM_FUNCTION(browse_themes, MENU_FUNC_USEPARAM,
ID2P(LANG_CUSTOM_THEME),
browse_folder, (void*)&themes, NULL, Icon_Config);
diff --git a/apps/shortcuts.c b/apps/shortcuts.c
index 3992068..8ded75c 100644
--- a/apps/shortcuts.c
+++ b/apps/shortcuts.c
@@ -357,7 +357,8 @@ int do_shortcut_menu(void *ignored)
simplelist_info_init(&list, P2STR(ID2P(LANG_SHORTCUTS)), shortcut_count, NULL);
list.get_name = shortcut_menu_get_name;
list.action_callback = shortcut_menu_get_action;
- list.get_icon = shortcut_menu_get_icon;
+ if (global_settings.show_icons)
+ list.get_icon = shortcut_menu_get_icon;
list.title_icon = Icon_Bookmark;
push_current_activity(ACTIVITY_SHORTCUTSMENU);