[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 89839] meta-info history for streams
From:       Mark Kretschmann <markey () web ! de>
Date:       2004-10-31 19:42:05
Message-ID: 20041031194205.10739.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
        
http://bugs.kde.org/show_bug.cgi?id=89839        
markey web de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From markey web de  2004-10-31 20:42 -------
CVS commit by markey: 

ADD: Metadata history for streams in Context-Browser. (BR 89839)

CCMAIL: 89839-done bugs kde org


  M +2 -0      ChangeLog   1.372
  M +40 -6     src/contextbrowser.cpp   1.221
  M +1 -0      src/contextbrowser.h   1.37


--- kdeextragear-1/amarok/ChangeLog  #1.371:1.372
 @ -5,4 +5,6  @
 
 VERSION 1.2:
+  ADD: Metadata history for streams in Context-Browser. (BR 89839)
+  ADD: Command line option --engine.
   ADD: OSD text is now configurable, and it displays the album cover.
   FIX: Remote folders are read recursively when dropped on the playlist.

--- kdeextragear-1/amarok/src/contextbrowser.cpp  #1.220:1.221
 @ -19,4 +19,6  @
 #include "sqlite/sqlite3.h"
 
+#include <qdatetime.h>
+
 #include <kapplication.h> //kapp
 #include <kdebug.h>
 @ -39,4 +41,8  @
 
 
+#define escapeHTML(s)     QString(s).replace( "<", "&lt;" ).replace( ">", "&gt;" )
+#define escapeHTMLAttr(s) QString(s).replace( "%", "%25" ).replace( "'", "%27" )
+
+
 using amaroK::QStringx;
 
 @ -201,7 +207,13  @ void ContextBrowser::metaDataEdited( con
 //////////////////////////////////////////////////////////////////////////////////////////
  
-void ContextBrowser::engineNewMetaData( const MetaBundle&, bool /*trackChanged*/ ) {
+void ContextBrowser::engineNewMetaData( const MetaBundle& bundle, bool \
/*trackChanged*/ ) {  m_relatedArtists.clear();
 
+    // Add stream metadata history item to list
+    if ( !m_metadataHistory.last().contains( bundle.prettyTitle() ) ) {
+        const QString timeString = QTime::currentTime().toString( "hh:mm" );
+        m_metadataHistory << QString( "<td valign='top'><i>" + timeString + \
"</i></td><td>" + escapeHTML( bundle.prettyTitle() ) + "</td>" ); +    }
+
     switch( m_db->isEmpty() || !m_db->isValid() ) {
         case true:  showIntroduction();
 @ -214,4 +226,5  @ void ContextBrowser::engineStateChanged(
     switch( state ) {
     case Engine::Empty:
+        m_metadataHistory.clear();
         m_toolbar->getButton( CurrentTrack )->setEnabled( false );
         m_toolbar->getButton( Lyrics )->setEnabled( false );
 @ -219,4 +232,5  @ void ContextBrowser::engineStateChanged(
         break;
     case Engine::Playing:
+        m_metadataHistory.clear();
         m_toolbar->getButton( CurrentTrack )->setEnabled( true );
         m_toolbar->getButton( Lyrics )->setEnabled( true );
 @ -431,7 +445,4  @ void ContextBrowser::showHome() //SLOT
 void ContextBrowser::showCurrentTrack() //SLOT
 {
-    #define escapeHTML(s)     QString(s).replace( "<", "&lt;" ).replace( ">", "&gt;" \
                )
-    #define escapeHTMLAttr(s) QString(s).replace( "%", "%25" ).replace( "'", "%27" )
-
     const MetaBundle &currentTrack = EngineController::instance()->bundle();
 
 @ -464,7 +475,30  @ void ContextBrowser::showCurrentTrack() 
         browser->write(
               "</table>"
-             "</div>"
-            "</html>" );
+             "</div>" );
+
+        if ( !m_metadataHistory.isEmpty() ) {
+            browser->write(
+                    "<br/>"
+                    "<div class='rbcontent'>"
+                    "<table width='100%' border='0' cellspacing='0' \
cellpadding='0'>" +                    "<tr><th>&nbsp;" + i18n( "Metadata History" ) \
+ "</th></tr>" +                    "</table>"
+                    "<table width='100%' border='0' cellspacing='1' \
cellpadding='1'>" );  
+            QStringList::const_iterator it;
+            for ( it = m_metadataHistory.begin(); it != m_metadataHistory.end(); \
++it ) { +                browser->write( QStringx(
+                    "<tr>"
+                        "%1"
+                    "</tr>" )
+                    .arg( *it ) );
+            }
+
+            browser->write(
+                "</table>"
+                "</div>" );
+        }
+
+        browser->write("</html>" );
         browser->end();
 

--- kdeextragear-1/amarok/src/contextbrowser.h  #1.36:1.37
 @ -68,4 +68,5  @ class ContextBrowser : public QVBox, pub
         QString       m_HTMLSource;
         KTempFile    *m_gradientImage;
+        QStringList   m_metadataHistory;
 };


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic