diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2006-06-03 14:46:36 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2006-06-03 14:46:36 +0200 |
commit | 0d4cf40b79951b8301ee2b9a3bc359c9f9c85c82 (patch) | |
tree | 4cf021d807ea68a461757018ea393a7c7afd4ec9 | |
parent | 56744b1f4e4da2bdcf64a44be11cc05c0e0c5c00 (diff) | |
download | vdr-0d4cf40b79951b8301ee2b9a3bc359c9f9c85c82.tar.gz vdr-0d4cf40b79951b8301ee2b9a3bc359c9f9c85c82.tar.bz2 |
When the 'skincurses' plugin is loaded, it automatically sets the 'curses' skin as the current one
-rw-r--r-- | HISTORY | 7 | ||||
-rw-r--r-- | PLUGINS/src/skincurses/HISTORY | 2 | ||||
-rw-r--r-- | PLUGINS/src/skincurses/skincurses.c | 6 | ||||
-rw-r--r-- | skins.c | 8 | ||||
-rw-r--r-- | vdr.c | 10 |
5 files changed, 26 insertions, 7 deletions
@@ -4766,3 +4766,10 @@ Video Disk Recorder Revision History - Fixed handling tabbed item display in 'skincurses'. - Increased the column spacing in the "Recordings" menu (was too small for the 'skincurses' plugin). +- When the 'skincurses' plugin is loaded, it automatically sets the 'curses' + skin as the current one. This doesn't modify the Setup.OSDSkin parameter, so + that after using 'skincurses' (for instance for debugging) the previously + selected skin will be used again. +- Added some log messages when setting the current skin. +- Only making a second attempt to set the current skin at startup if the first + attempt has failed. diff --git a/PLUGINS/src/skincurses/HISTORY b/PLUGINS/src/skincurses/HISTORY index 6c870957..c58423df 100644 --- a/PLUGINS/src/skincurses/HISTORY +++ b/PLUGINS/src/skincurses/HISTORY @@ -33,3 +33,5 @@ VDR Plugin 'skincurses' Revision History 2006-06-03: Version 0.0.7 - Fixed handling tabbed item display. +- When the 'skincurses' plugin is loaded, it automatically sets the 'curses' + skin as the current one. diff --git a/PLUGINS/src/skincurses/skincurses.c b/PLUGINS/src/skincurses/skincurses.c index f9e15dd2..a75375b5 100644 --- a/PLUGINS/src/skincurses/skincurses.c +++ b/PLUGINS/src/skincurses/skincurses.c @@ -3,7 +3,7 @@ * * See the README file for copyright information and how to reach the author. * - * $Id: skincurses.c 1.9 2006/06/03 13:21:33 kls Exp $ + * $Id: skincurses.c 1.10 2006/06/03 14:20:39 kls Exp $ */ #include <ncurses.h> @@ -787,7 +787,9 @@ bool cPluginSkinCurses::Initialize(void) bool cPluginSkinCurses::Start(void) { // Start any background activities the plugin shall perform. - new cSkinCurses; + cSkin *Skin = new cSkinCurses; + // This skin is normally used for debugging, so let's make it the current one: + Skins.SetCurrent(Skin->Name()); return true; } @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: skins.c 1.10 2006/06/03 10:18:07 kls Exp $ + * $Id: skins.c 1.11 2006/06/03 14:39:14 kls Exp $ */ #include "skins.h" @@ -176,7 +176,6 @@ cSkin::cSkin(const char *Name, cTheme *Theme) if (theme) cThemes::Save(name, theme); Skins.Add(this); - Skins.SetCurrent(Name); } cSkin::~cSkin() @@ -203,12 +202,17 @@ bool cSkins::SetCurrent(const char *Name) if (Name) { for (cSkin *Skin = First(); Skin; Skin = Next(Skin)) { if (strcmp(Skin->Name(), Name) == 0) { + isyslog("setting current skin to \"%s\"", Name); current = Skin; return true; } } } current = First(); + if (current) + isyslog("skin \"%s\" not available - using \"%s\" instead", Name, current->Name()); + else + esyslog("ERROR: no skin available"); return current != NULL; } @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.272 2006/05/14 09:23:46 kls Exp $ + * $Id: vdr.c 1.273 2006/06/03 14:46:36 kls Exp $ */ #include <getopt.h> @@ -504,6 +504,7 @@ int main(int argc, char *argv[]) bool UserShutdown = false; bool TimerInVpsMargin = false; bool IsInfoMenu = false; + cSkin *CurrentSkin = NULL; // Load plugins: @@ -605,6 +606,7 @@ int main(int argc, char *argv[]) new cSkinSTTNG; Skins.SetCurrent(Setup.OSDSkin); cThemes::Load(Skins.Current()->Name(), Setup.OSDTheme, Skins.Current()->Theme()); + CurrentSkin = Skins.Current(); // Start plugins: @@ -613,8 +615,10 @@ int main(int argc, char *argv[]) // Set skin and theme in case they're implemented by a plugin: - Skins.SetCurrent(Setup.OSDSkin); - cThemes::Load(Skins.Current()->Name(), Setup.OSDTheme, Skins.Current()->Theme()); + if (!CurrentSkin || CurrentSkin == Skins.Current() && strcmp(Skins.Current()->Name(), Setup.OSDSkin) != 0) { + Skins.SetCurrent(Setup.OSDSkin); + cThemes::Load(Skins.Current()->Name(), Setup.OSDTheme, Skins.Current()->Theme()); + } // Remote Controls: if (RcuDevice) |