From 7e78353621f530cdfa0c5280386512aa40a36048 Mon Sep 17 00:00:00 2001
From: mathieui <mathieui@mathieui.net>
Date: Mon, 7 Nov 2011 19:56:59 +0100
Subject: Add a warning in case of theme not found, and now unsetting 'theme',
 setting it to 'default' or a number of spaces has the same effect

---
 src/core.py    |  4 +++-
 src/theming.py | 11 ++++++-----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/core.py b/src/core.py
index 9a36b370..481fb1c2 100644
--- a/src/core.py
+++ b/src/core.py
@@ -1172,7 +1172,9 @@ class Core(object):
         self.xmpp.plugin['xep_0030'].get_items(jid=server, block=False, callback=list_tab.on_muc_list_item_received)
 
     def command_theme(self, arg):
-        theming.reload_theme()
+        warning = theming.reload_theme()
+        if warning:
+            self.information(warning, 'Warning')
         self.refresh_window()
 
     def command_win(self, arg):
diff --git a/src/theming.py b/src/theming.py
index 4bfdad42..0a7ab22d 100644
--- a/src/theming.py
+++ b/src/theming.py
@@ -240,16 +240,17 @@ def reload_theme():
         os.makedirs(themes_dir)
     except OSError:
         pass
-    theme_name = config.get('theme', '')
-    if not theme_name:
+    theme_name = config.get('theme', 'default')
+    global theme
+    if theme_name == 'default' or not theme_name.strip():
+        theme = Theme()
         return
     try:
         file_path  = os.path.join(themes_dir, theme_name)+'.py'
         log.debug('Theme file to load: %s' %(file_path,))
         new_theme = imp.load_source('theme', os.path.join(themes_dir, theme_name)+'.py')
-    except:                     # TODO warning: theme not found
-        return
-    global theme
+    except:
+        return 'Theme not found'
     theme = new_theme.theme
 
 if __name__ == '__main__':
-- 
cgit v1.2.3