]> git.sesse.net Git - vlc/commitdiff
* skins2/src/window_manager.cpp: Added the vlc.isOnTop boolean variable
authorOlivier Teulière <ipkiss@videolan.org>
Sun, 22 Aug 2004 14:39:16 +0000 (14:39 +0000)
committerOlivier Teulière <ipkiss@videolan.org>
Sun, 22 Aug 2004 14:39:16 +0000 (14:39 +0000)
 * skins2/parser/interpreter.cpp: Renamed vlc.ontop() into vlc.onTop()
 * doc/skins/skins2-howto.xml: doc updated

doc/skins/skins2-howto.xml
modules/gui/skins2/parser/interpreter.cpp
modules/gui/skins2/src/vlcproc.hpp
modules/gui/skins2/src/window_manager.cpp
modules/gui/skins2/src/window_manager.hpp

index 0c4d78863e63f095ca9076708baf14489b27bd34..bf3bdc0afb48b17799ffef6e709973c9c9fe930f 100644 (file)
@@ -714,7 +714,7 @@ difficulty to understand how VLC skins work.</para>
   </para></listitem>
 <!--  TODO: Enable it for 0.7.3
   <listitem><para>
-    <emphasis>vlc.ontop()</emphasis>: Toggle the "Always on top" status.
+    <emphasis>vlc.onTop()</emphasis>: Toggle the "Always on top" status.
   </para></listitem>
   <listitem><para>
     <emphasis>vlc.minimize()</emphasis>: Minimize VLC.
@@ -825,6 +825,11 @@ difficulty to understand how VLC skins work.</para>
   <listitem><para>
     <emphasis>vlc.isMute</emphasis>: True when the sound is mute (in VLC, not on your OS), false otherwise.
   </para></listitem>
+<!--  TODO: Enable it for 0.7.3
+  <listitem><para>
+    <emphasis>vlc.isOnTop</emphasis>: True when the windows have the "Always on top" status.
+  </para></listitem>
+-->
   <listitem><para>
     <emphasis>playlist.isRandom</emphasis>: True when the playlist items are played in a random order, false otherwise.
   </para></listitem>
index a3a916372606b4ab05c3a9e5a4a77342dda36759..ddf65f77a536c05f69fe75fce0551ff6f3a9e832 100644 (file)
@@ -82,7 +82,7 @@ Interpreter::Interpreter( intf_thread_t *pIntf ): SkinObject( pIntf )
     REGISTER_CMD( "vlc.slower()", CmdSlower )
     REGISTER_CMD( "vlc.mute()", CmdMute )
     REGISTER_CMD( "vlc.minimize()", CmdMinimize )
-    REGISTER_CMD( "vlc.ontop()", CmdOnTop )
+    REGISTER_CMD( "vlc.onTop()", CmdOnTop )
     REGISTER_CMD( "vlc.quit()", CmdQuit )
 
     // Register the constant bool variables in the var manager
index 44057a46d017f980fb287cf154a96d1f742f80cb..4dca168a0017c035c3d1c7ca4a5f9b1c03f01050 100755 (executable)
@@ -57,21 +57,6 @@ class VlcProc: public SkinObject
         /// Getter for the stream variable
         Stream &getStreamVar() { return *((Stream*)(m_cVarStream.get())); }
 
-        /// Getter for the mute variable
-        VarBool &getIsMuteVar() { return *((VarBool*)(m_cVarMute.get())); }
-
-        /// Getter for the playing variable
-        VarBool &getIsPlayingVar() { return *((VarBool*)(m_cVarPlaying.get())); }
-
-        /// Getter for the stopped variable
-        VarBool &getIsStoppedVar() { return *((VarBool*)(m_cVarStopped.get())); }
-
-        /// Getter for the paused variable
-        VarBool &getIsPausedVar() { return *((VarBool*)(m_cVarPaused.get())); }
-
-        /// Getter for the seekable variable
-        VarBool &getIsSeekableVar() { return *((VarBool*)(m_cVarSeekable.get())); }
-
         /// Set the vout window handle
         void setVoutWindow( void *pVoutWindow );
 
index 598af1d4469d6d4664670d9478c71bc00e744900..040f1ff2ff7098b28765022ec76ccaaa98abde0d 100755 (executable)
 #include "anchor.hpp"
 #include "tooltip.hpp"
 #include "../utils/position.hpp"
+#include "../src/var_manager.hpp"
 
 
 WindowManager::WindowManager( intf_thread_t *pIntf ):
-    SkinObject( pIntf ), m_isOnTop( false ), m_magnet( 0 ), m_pTooltip( NULL )
+    SkinObject( pIntf ), m_magnet( 0 ), m_pTooltip( NULL )
 {
+    // Create and register a variable for the "on top" status
+    VarManager *pVarManager = VarManager::instance( getIntf() );
+    m_cVarOnTop = VariablePtr( new VarBoolImpl( getIntf() ) );
+    pVarManager->registerVar( m_cVarOnTop, "vlc.isOnTop" );
 }
 
 
@@ -203,11 +208,15 @@ void WindowManager::hideAll() const
 
 void WindowManager::toggleOnTop()
 {
-    m_isOnTop = !m_isOnTop;
+    // Update the boolean variable
+    VarBoolImpl *pVarOnTop = (VarBoolImpl*)m_cVarOnTop.get();
+    pVarOnTop->set( !pVarOnTop->get() );
+
+    // Toggle the "on top" status
     WinSet_t::const_iterator it;
     for( it = m_allWindows.begin(); it != m_allWindows.end(); it++ )
     {
-        (*it)->toggleOnTop( m_isOnTop );
+        (*it)->toggleOnTop( pVarOnTop->get() );
     }
 }
 
index ca5c8c591949afe527795e2aa0924f8f7a92d7ea..25d692eaddb2d49a49ca4f57ae7429559077d56d 100644 (file)
@@ -130,7 +130,7 @@ class WindowManager: public SkinObject
         /// move.
         WinSet_t m_movingWindows;
         /// Indicate whether the windows are currently on top
-        bool m_isOnTop;
+        VariablePtr m_cVarOnTop;
         /// Magnetism of the screen edges (= scope of action)
         int m_magnet;
         /// Alpha value of the static windows