]> git.sesse.net Git - vlc/blobdiff - modules/gui/skins2/src/theme.cpp
Remove bogus executable permissions
[vlc] / modules / gui / skins2 / src / theme.cpp
old mode 100755 (executable)
new mode 100644 (file)
index 90cbf6d..33051b3
 
 Theme::~Theme()
 {
-    saveConfig();
-
     // Be sure things are destroyed in the right order (XXX check)
-    m_vouts.clear();
     m_layouts.clear();
     m_controls.clear();
     m_windows.clear();
@@ -48,31 +45,44 @@ void Theme::loadConfig()
 
     // Get config from vlcrc file
     char *save = config_GetPsz( getIntf(), "skins2-config" );
-    if( save == NULL )
+    if( !save ) return;
+
+    // Is there an existing config?
+    if( !strcmp( save, "" ) )
+    {
+        // Show the windows
+        m_windowManager.showAll();
         return;
+    }
 
     // Initialization
-    map<string, GenericWindowPtr>::const_iterator it;
+    map<string, TopWindowPtr>::const_iterator it;
     int i = 0;
-    int x, y, v, scan;
+    int x, y, visible, scan;
 
     // Get config for each window
     for( it = m_windows.begin(); it != m_windows.end(); it++ )
     {
-        GenericWindow *pWin = (*it).second.get();
+        TopWindow *pWin = (*it).second.get();
         // Get config
-        scan = sscanf( &save[i * 13], "(%4d,%4d,%1d)", &x, &y, &v );
+        scan = sscanf( &save[i * 13], "(%4d,%4d,%1d)", &x, &y, &visible );
 
         // If config has the correct number of arguments
         if( scan > 2 )
         {
-            pWin->move( x, y );
-            if( v ) pWin->show();
+            m_windowManager.startMove( *pWin );
+            m_windowManager.move( *pWin, x, y );
+            m_windowManager.stopMove();
+            if( visible )
+            {
+                m_windowManager.show( *pWin );
+            }
         }
 
         // Next window
         i++;
     }
+    free( save );
 }
 
 
@@ -82,14 +92,14 @@ void Theme::saveConfig()
 
     // Initialize char where config is stored
     char *save  = new char[400];
-    map<string, GenericWindowPtr>::const_iterator it;
+    map<string, TopWindowPtr>::const_iterator it;
     int i = 0;
     int x, y;
 
     // Save config of every window
     for( it = m_windows.begin(); it != m_windows.end(); it++ )
     {
-        GenericWindow *pWin = (*it).second.get();
+        TopWindow *pWin = (*it).second.get();
         // Print config
         x = pWin->getLeft();
         y = pWin->getTop();
@@ -127,9 +137,9 @@ GenericFont *Theme::getFontById( const string &id )
     FIND_OBJECT( GenericFontPtr, m_fonts );
 }
 
-GenericWindow *Theme::getWindowById( const string &id )
+TopWindow *Theme::getWindowById( const string &id )
 {
-    FIND_OBJECT( GenericWindowPtr, m_windows );
+    FIND_OBJECT( TopWindowPtr, m_windows );
 }
 
 GenericLayout *Theme::getLayoutById( const string &id )