[vlc-devel] commit: dialog_ProgressSet: add an optional string parameter ( Rémi Denis-Courmont )

git version control git at videolan.org
Mon Mar 9 20:16:36 CET 2009


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Mon Mar  9 21:15:23 2009 +0200| [0715fa586d27382189b45e73820502ce861eaf72] | committer: Rémi Denis-Courmont 

dialog_ProgressSet: add an optional string parameter

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0715fa586d27382189b45e73820502ce861eaf72
---

 include/vlc_dialog.h                 |    4 ++--
 modules/access/dvb/scan.c            |    3 +--
 modules/demux/avi/avi.c              |    2 +-
 modules/gui/qt4/dialogs/external.cpp |    7 ++++++-
 modules/gui/qt4/dialogs/external.hpp |    3 ++-
 src/interface/dialog.c               |    5 +++--
 src/misc/update.c                    |    2 +-
 7 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/include/vlc_dialog.h b/include/vlc_dialog.h
index 6914ef5..0270cb8 100644
--- a/include/vlc_dialog.h
+++ b/include/vlc_dialog.h
@@ -103,7 +103,7 @@ typedef struct dialog_progress_bar_t
     const char *cancel;
     /* Permanent parameters */
     vlc_mutex_t lock;
-    void (*pf_update) (void *, float);
+    void (*pf_update) (void *, const char *, float);
     bool (*pf_check) (void *);
     void (*pf_destroy) (void *);
     void *p_sys;
@@ -113,7 +113,7 @@ VLC_EXPORT( dialog_progress_bar_t *, dialog_ProgressCreate, (vlc_object_t *, con
 #define dialog_ProgressCreate(o, t, m, c) \
         dialog_ProgressCreate(VLC_OBJECT(o), t, m, c)
 VLC_EXPORT( void, dialog_ProgressDestroy, (dialog_progress_bar_t *) );
-VLC_EXPORT( void, dialog_ProgressSet, (dialog_progress_bar_t *, float) );
+VLC_EXPORT( void, dialog_ProgressSet, (dialog_progress_bar_t *, const char *, float) );
 VLC_EXPORT( bool, dialog_ProgressCancelled, (dialog_progress_bar_t *) );
 
 VLC_EXPORT( int, dialog_Register, (vlc_object_t *) );
diff --git a/modules/access/dvb/scan.c b/modules/access/dvb/scan.c
index d256d03..ef23056 100644
--- a/modules/access/dvb/scan.c
+++ b/modules/access/dvb/scan.c
@@ -320,8 +320,7 @@ int scan_Next( scan_t *p_scan, scan_configuration_t *p_cfg )
         if( p_scan->p_dialog == NULL )
             p_scan->p_dialog = dialog_ProgressCreate( p_scan->p_obj, _("Scanning DVB-T"), psz_text, _("Cancel") );
         if( p_scan->p_dialog != NULL )
-            /* FIXME: update text, not just percentage */
-            dialog_ProgressSet( p_scan->p_dialog, /*psz_text, */100 * f_position );
+            dialog_ProgressSet( p_scan->p_dialog, psz_text, 100 * f_position );
         free( psz_text );
     }
 
diff --git a/modules/demux/avi/avi.c b/modules/demux/avi/avi.c
index 504dbe4..1eabbf7 100644
--- a/modules/demux/avi/avi.c
+++ b/modules/demux/avi/avi.c
@@ -2417,7 +2417,7 @@ static void AVI_IndexCreate( demux_t *p_demux )
 
             double f_pos = 100.0 * stream_Tell( p_demux->s ) /
                            stream_Size( p_demux->s );
-            dialog_ProgressSet( p_dialog, f_pos );
+            dialog_ProgressSet( p_dialog, NULL, f_pos );
 
             i_dialog_update = mdate();
         }
diff --git a/modules/gui/qt4/dialogs/external.cpp b/modules/gui/qt4/dialogs/external.cpp
index dba8cfd..e0096fe 100644
--- a/modules/gui/qt4/dialogs/external.cpp
+++ b/modules/gui/qt4/dialogs/external.cpp
@@ -191,6 +191,8 @@ QVLCProgressDialog::QVLCProgressDialog (DialogHandler *parent,
     setMinimumDuration (0);
 
     connect (this, SIGNAL(progressed(int)), SLOT(setValue(int)));
+    connect (this, SIGNAL(described(const QString&)),
+                   SLOT(setLabelText(const QString&)));
     connect (this, SIGNAL(canceled(void)), SLOT(saveCancel(void)));
 
     data->pf_update = update;
@@ -203,9 +205,12 @@ QVLCProgressDialog::~QVLCProgressDialog (void)
 {
 }
 
-void QVLCProgressDialog::update (void *priv, float value)
+void QVLCProgressDialog::update (void *priv, const char *text, float value)
 {
     QVLCProgressDialog *self = static_cast<QVLCProgressDialog *>(priv);
+
+    if (text != NULL)
+        emit self->described (qfu(text));
     emit self->progressed ((int)(value * 1000.));
 }
 
diff --git a/modules/gui/qt4/dialogs/external.hpp b/modules/gui/qt4/dialogs/external.hpp
index f50c54e..513ead7 100644
--- a/modules/gui/qt4/dialogs/external.hpp
+++ b/modules/gui/qt4/dialogs/external.hpp
@@ -86,7 +86,7 @@ private:
     DialogHandler *handler;
     bool cancelled;
 
-    static void update (void *, float);
+    static void update (void *, const char *, float);
     static bool check (void *);
     static void destroy (void *);
 private slots:
@@ -94,6 +94,7 @@ private slots:
 
 signals:
     void progressed (int);
+    void described (const QString&);
     void destroyed (void);
 };
 
diff --git a/src/interface/dialog.c b/src/interface/dialog.c
index 6aa87c7..22ac785 100644
--- a/src/interface/dialog.c
+++ b/src/interface/dialog.c
@@ -243,11 +243,12 @@ void dialog_ProgressDestroy (dialog_progress_bar_t *dialog)
     free (dialog);
 }
 
-void dialog_ProgressSet (dialog_progress_bar_t *dialog, float value)
+void dialog_ProgressSet (dialog_progress_bar_t *dialog, const char *text,
+                         float value)
 {
     assert (dialog);
 
-    dialog->pf_update (dialog->p_sys, value);
+    dialog->pf_update (dialog->p_sys, text, value);
 }
 
 bool dialog_ProgressCancelled (dialog_progress_bar_t *dialog)
diff --git a/src/misc/update.c b/src/misc/update.c
index 248eb2b..56038ef 100644
--- a/src/misc/update.c
+++ b/src/misc/update.c
@@ -1612,7 +1612,7 @@ static void* update_DownloadReal( vlc_object_t *p_this )
                       p_update->release.psz_url, psz_downloaded, psz_size,
                       f_progress ) != -1 )
         {
-            dialog_ProgressSet( p_progress, /*FIXME psz_status,*/ f_progress );
+            dialog_ProgressSet( p_progress, psz_status, f_progress );
             free( psz_status );
         }
         free( psz_downloaded );




More information about the vlc-devel mailing list