]> git.sesse.net Git - vlc/commitdiff
Qt4 - Meta Information, again. Add URI/URL support. Fix a bug.
authorJean-Baptiste Kempf <jb@videolan.org>
Sun, 3 Jun 2007 01:10:43 +0000 (01:10 +0000)
committerJean-Baptiste Kempf <jb@videolan.org>
Sun, 3 Jun 2007 01:10:43 +0000 (01:10 +0000)
modules/gui/qt4/components/infopanels.cpp
modules/gui/qt4/components/infopanels.hpp
modules/gui/qt4/dialogs/mediainfo.cpp
modules/gui/qt4/dialogs/mediainfo.hpp
modules/gui/qt4/dialogs_provider.cpp

index 783336d23c08d8e1b1390a60864a826ec74435b2..27e74e74386542967e1521a5352561d8e993e51f 100644 (file)
@@ -100,10 +100,10 @@ MetaPanel::MetaPanel( QWidget *parent, intf_thread_t *_p_intf ) :
     ADD_META( VLC_META_DESCRIPTION, description_text ); // Comment Two lines?
 
     /*  ADD_META( TRACKID)  DO NOT SHOW it */
+    /*  ADD_URI - DO not show it, done outside */
 
-    // ADD_META( _( "URI" ), uri_text ); // FIXME URI outside
-    //    ADD_META( VLC_META_URL, setting_text );
     /* ART_URL */
+    //    ADD_META( VLC_META_URL, setting_text );
 }
 
 MetaPanel::~MetaPanel()
@@ -123,7 +123,7 @@ void MetaPanel::update( input_item_t *p_item )
 #define UPDATE_META_INT( meta, widget ) {           \
     psz_meta = p_item->p_meta->psz_##meta;          \
     if( !EMPTY_STR( psz_meta ) )                    \
-        widget->setValue( atoi( psz_meta ) ); }/*FIXME Atoi ?*/
+        widget->setValue( atoi( psz_meta ) ); }
 
     /* Name / Title */
     psz_meta = p_item->p_meta->psz_title;
@@ -133,10 +133,14 @@ void MetaPanel::update( input_item_t *p_item )
         title_text->setText( qfu( p_item->psz_name ) );
     else title_text->setText( "" );
 
-  /*  if( !EMPTY_STR( p_item->psz_uri ) )
-        uri_text->setText( qfu( p_item->psz_uri ) );*/
-///    else uri_text->setText( "" );
+    /* URL / URI */
+    psz_meta = p_item->p_meta->psz_url;
+    if( !EMPTY_STR( psz_meta ) )
+        emit uriSet( QString( psz_meta ) );
+    else if( !EMPTY_STR( p_item->psz_uri ) )
+        emit uriSet( QString( p_item->psz_uri ) );
 
+    /* Other classic though */
     UPDATE_META( artist, artist_text );
     UPDATE_META( genre, genre_text );
     UPDATE_META( copyright, copyright_text );
index 5d44a879e35423e6c72b440e1c631cb23a6e88e6..9fd7c3fd2a95bc7be1f8a81f895920d67984906f 100644 (file)
@@ -72,6 +72,8 @@ private:
 public slots:
     void update( input_item_t * );
     void clear();
+signals:
+    void uriSet( QString );
 };
 
 class ExtraMetaPanel: public QWidget
index d41f46eeb02b1eb795e890f523ecce056b9bffae..56d8d2b4dfef122c27575e8e97d3b3d92c12aa0f 100644 (file)
@@ -22,9 +22,6 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  ******************************************************************************/
 
-#include <QTabWidget>
-#include <QGridLayout>
-
 #include "dialogs/mediainfo.hpp"
 #include "input_manager.hpp"
 #include "dialogs_provider.hpp"
 #include "components/infopanels.hpp"
 #include "qt4.hpp"
 
+#include <QTabWidget>
+#include <QGridLayout>
+#include <QLineEdit>
+#include <QLabel>
 
 static int ItemChanged( vlc_object_t *p_this, const char *psz_var,
                         vlc_value_t oldval, vlc_value_t newval, void *param );
@@ -66,10 +67,16 @@ MediaInfoDialog::MediaInfoDialog( intf_thread_t *_p_intf, bool _mainInput,
     QPushButton *closeButton = new QPushButton( qtr( "&Close" ) );
     closeButton->setDefault( true );
 
+    uriLine = new QLineEdit;
+    QLabel *uriLabel = new QLabel( qtr( "Location" ) );
+
     layout->addWidget( IT, 0, 0, 1, 3 );
-    layout->addWidget( closeButton, 1, 2 );
+    layout->addWidget( closeButton, 2, 2 );
+    layout->addWidget( uriLine, 1, 1, 1, 2 );
+    layout->addWidget( uriLabel, 1, 0, 1, 1 );
 
     BUTTONACT( closeButton, close() );
+    CONNECT( MP, uriSet( QString ), uriLine, setText( QString ) );
 
     if( mainInput ) {
         ON_TIMEOUT( update() );
@@ -109,7 +116,6 @@ void MediaInfoDialog::setInput(input_item_t *p_input)
 
 void MediaInfoDialog::update()
 {
-    msg_Dbg( p_intf, "updating MetaData Info" );
     /* Timer runs at 150 ms, dont' update more than 2 times per second */
     if( i_runs % 3 != 0 ) return;
     i_runs++;
index ff88625f55cd25fd9b7f7fa9dd5e4ab129afe6ce..1cafec13740f77351ecf277c5cde4ea5d1651393 100644 (file)
@@ -30,6 +30,7 @@
 
 class QTabWidget;
 class InfoTab;
+class QLineEdit;
 
 class MediaInfoDialog : public QVLCFrame
 {
@@ -53,6 +54,7 @@ public:
     void showTab( int );
     bool need_update;
     void setInput( input_item_t * );
+    QLineEdit *uriLine;
 private:
     input_thread_t *p_input;
     QTabWidget *IT;
index 5b762e1d6d99b48d452571d302738111c08bdc38..573cfc371a0ee2605807ad0ed1daa9fd6e668d36 100644 (file)
@@ -176,7 +176,7 @@ void DialogsProvider::mediaInfoDialog()
 
 void DialogsProvider::mediaCodecDialog()
 {
-    MediaInfoDialog::getInstance( p_intf )->showTab( 1 );
+    MediaInfoDialog::getInstance( p_intf )->showTab( 2 );
 }
 
 void DialogsProvider::bookmarksDialog()