[vlc-devel] commit: Qt: recents factorization. (Jean-Baptiste Kempf )

git version control git at videolan.org
Tue Nov 24 23:00:14 CET 2009


vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Wed Nov  4 01:15:53 2009 +0100| [7c446cb7acb6c575f8396fbaa909e6bacc541898] | committer: Jean-Baptiste Kempf 

Qt: recents factorization.

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

 modules/gui/qt4/menus.cpp   |    4 ++--
 modules/gui/qt4/recents.cpp |   25 ++++++++++++-------------
 modules/gui/qt4/recents.hpp |   20 ++++++++++----------
 3 files changed, 24 insertions(+), 25 deletions(-)

diff --git a/modules/gui/qt4/menus.cpp b/modules/gui/qt4/menus.cpp
index 3503e29..2c9f3f8 100644
--- a/modules/gui/qt4/menus.cpp
+++ b/modules/gui/qt4/menus.cpp
@@ -1416,11 +1416,11 @@ void QVLCMenu::DoAction( QObject *data )
 
 void QVLCMenu::updateRecents( intf_thread_t *p_intf )
 {
-    if (recentsMenu)
+    if( recentsMenu )
     {
         QAction* action;
         RecentsMRL* rmrl = RecentsMRL::getInstance( p_intf );
-        QList<QString> l = rmrl->recents();
+        QStringList l = rmrl->recents();
 
         recentsMenu->clear();
 
diff --git a/modules/gui/qt4/recents.cpp b/modules/gui/qt4/recents.cpp
index 83317af..7a210f0 100644
--- a/modules/gui/qt4/recents.cpp
+++ b/modules/gui/qt4/recents.cpp
@@ -26,8 +26,7 @@
 #include "dialogs_provider.hpp"
 #include "menus.hpp"
 
-#include <QList>
-#include <QString>
+#include <QStringList>
 #include <QAction>
 #include <QSettings>
 #include <QRegExp>
@@ -41,14 +40,15 @@ RecentsMRL* RecentsMRL::instance = NULL;
 
 RecentsMRL::RecentsMRL( intf_thread_t *_p_intf ) : p_intf( _p_intf )
 {
-    stack = new QList<QString>;
-    signalMapper = new QSignalMapper(this);
+    stack = new QStringList;
+
+    signalMapper = new QSignalMapper( this );
     CONNECT( signalMapper,
             mapped(const QString & ),
             DialogsProvider::getInstance( p_intf ),
             playMRL( const QString & ) );
 
-    isActive = config_GetInt( p_intf, "qt-recentplay" );
+    /* Load the filter psz */
     char* psz_tmp = config_GetPsz( p_intf, "qt-recentplay-filter" );
     if( psz_tmp && *psz_tmp )
         filter = new QRegExp( psz_tmp, Qt::CaseInsensitive );
@@ -57,6 +57,7 @@ RecentsMRL::RecentsMRL( intf_thread_t *_p_intf ) : p_intf( _p_intf )
     free( psz_tmp );
 
     load();
+    isActive = config_GetInt( p_intf, "qt-recentplay" );
     if( !isActive ) clear();
 }
 
@@ -98,20 +99,23 @@ void RecentsMRL::clear()
 {
     if ( stack->isEmpty() )
         return;
+
     stack->clear();
     if( isActive ) QVLCMenu::updateRecents( p_intf );
     save();
 }
 
-QList<QString> RecentsMRL::recents()
+QStringList RecentsMRL::recents()
 {
-    return QList<QString>(*stack);
+    return *stack;
 }
 
 void RecentsMRL::load()
 {
+    /* Load from the settings */
     QStringList list = getSettings()->value( "RecentsMRL/list" ).toStringList();
 
+    /* And filter the regexp on the list */
     for( int i = 0; i < list.size(); ++i )
     {
         if ( !filter || filter->indexIn( list.at(i) ) == -1 )
@@ -121,11 +125,6 @@ void RecentsMRL::load()
 
 void RecentsMRL::save()
 {
-    QStringList list;
-
-    for( int i = 0; i < stack->size(); ++i )
-        list << stack->at(i);
-
-    getSettings()->setValue( "RecentsMRL/list", list );
+    getSettings()->setValue( "RecentsMRL/list", *stack );
 }
 
diff --git a/modules/gui/qt4/recents.hpp b/modules/gui/qt4/recents.hpp
index 4817178..88531ff 100644
--- a/modules/gui/qt4/recents.hpp
+++ b/modules/gui/qt4/recents.hpp
@@ -27,10 +27,9 @@
 #include "qt4.hpp"
 
 #include <QObject>
-#include <QList>
-#include <QString>
-#include <QRegExp>
-#include <QSignalMapper>
+class QStringList;
+class QRegExp;
+class QSignalMapper;
 
 #define RECENTS_LIST_SIZE 10
 
@@ -52,7 +51,8 @@ public:
     }
 
     void addRecent( const QString & );
-    QList<QString> recents();
+    QStringList recents();
+
     QSignalMapper *signalMapper;
 
 private:
@@ -61,13 +61,13 @@ private:
 
     static RecentsMRL *instance;
 
+    intf_thread_t *p_intf;
+    QStringList   *stack;
+    QRegExp       *filter;
+    bool          isActive;
+
     void load();
     void save();
-    intf_thread_t* p_intf;
-    QList<QString> *stack;
-    bool isActive;
-    QRegExp *filter;
-
 public slots:
     void clear();
 };




More information about the vlc-devel mailing list