From: Olivier Teulière Date: Sun, 22 Aug 2004 14:39:16 +0000 (+0000) Subject: * skins2/src/window_manager.cpp: Added the vlc.isOnTop boolean variable X-Git-Tag: 0.8.0~615 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=78b01836c41bce925edf53abb05f8a59125d5776;p=vlc * skins2/src/window_manager.cpp: Added the vlc.isOnTop boolean variable * skins2/parser/interpreter.cpp: Renamed vlc.ontop() into vlc.onTop() * doc/skins/skins2-howto.xml: doc updated --- diff --git a/doc/skins/skins2-howto.xml b/doc/skins/skins2-howto.xml index 0c4d78863e..bf3bdc0afb 100644 --- a/doc/skins/skins2-howto.xml +++ b/doc/skins/skins2-howto.xml @@ -714,7 +714,7 @@ difficulty to understand how VLC skins work. playlist.isRandom: True when the playlist items are played in a random order, false otherwise. diff --git a/modules/gui/skins2/parser/interpreter.cpp b/modules/gui/skins2/parser/interpreter.cpp index a3a9163726..ddf65f77a5 100644 --- a/modules/gui/skins2/parser/interpreter.cpp +++ b/modules/gui/skins2/parser/interpreter.cpp @@ -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 diff --git a/modules/gui/skins2/src/vlcproc.hpp b/modules/gui/skins2/src/vlcproc.hpp index 44057a46d0..4dca168a00 100755 --- a/modules/gui/skins2/src/vlcproc.hpp +++ b/modules/gui/skins2/src/vlcproc.hpp @@ -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 ); diff --git a/modules/gui/skins2/src/window_manager.cpp b/modules/gui/skins2/src/window_manager.cpp index 598af1d446..040f1ff2ff 100755 --- a/modules/gui/skins2/src/window_manager.cpp +++ b/modules/gui/skins2/src/window_manager.cpp @@ -29,11 +29,16 @@ #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() ); } } diff --git a/modules/gui/skins2/src/window_manager.hpp b/modules/gui/skins2/src/window_manager.hpp index ca5c8c5919..25d692eadd 100644 --- a/modules/gui/skins2/src/window_manager.hpp +++ b/modules/gui/skins2/src/window_manager.hpp @@ -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