[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