]> git.sesse.net Git - vlc/blobdiff - modules/gui/skins2/utils/var_text.cpp
* all: new skin text variable "$B" to get the stream bitrate
[vlc] / modules / gui / skins2 / utils / var_text.cpp
index 4b0dda3403b67d3e93db47670aedd44fca95bc78..7ca12fd7bc231ea02ff70cdcf394557854753cfb 100644 (file)
@@ -48,6 +48,7 @@ VarText::~VarText()
         pVlcProc->getVolumeVar().delObserver( this );
         pVlcProc->getStreamURIVar().delObserver( this );
         pVlcProc->getStreamNameVar().delObserver( this );
+        pVlcProc->getStreamBitRateVar().delObserver( this );
         VarManager *pVarManager = VarManager::instance( getIntf() );
         pVarManager->getHelpText().delObserver( this );
     }
@@ -121,6 +122,10 @@ const UString VarText::get() const
     {
         temp.replace( pos, 2, pVlcProc->getStreamURIVar().get() );
     }
+    while( (pos = temp.find( "$B" )) != UString::npos )
+    {
+        temp.replace( pos, 2, pVlcProc->getStreamBitRateVar().get() );
+    }
 
     return temp;
 }
@@ -144,6 +149,7 @@ void VarText::set( const UString &rText )
         pVlcProc->getVolumeVar().delObserver( this );
         pVlcProc->getStreamNameVar().delObserver( this );
         pVlcProc->getStreamURIVar().delObserver( this );
+        pVlcProc->getStreamBitRateVar().delObserver( this );
         VarManager *pVarManager = VarManager::instance( getIntf() );
         pVarManager->getHelpText().delObserver( this );
 
@@ -179,6 +185,10 @@ void VarText::set( const UString &rText )
         {
             pVlcProc->getStreamURIVar().addObserver( this );
         }
+        if( m_text.find( "$B" ) != UString::npos )
+        {
+            pVlcProc->getStreamBitRateVar().addObserver( this );
+        }
     }
 
     notify();