X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fqt4%2Frecents.cpp;h=99fb82749607a237ad16cc7bc6b6abb8fcd8a7b5;hb=0e3e62f3582ab6ee45462dc7b39fabab935a5e68;hp=bb6768e69bca90992b31ad943e7ea8fc70490311;hpb=55c960749e8f91763e720ac610d5dd56f90fcde1;p=vlc diff --git a/modules/gui/qt4/recents.cpp b/modules/gui/qt4/recents.cpp index bb6768e69b..99fb827496 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 -#include +#include #include #include #include @@ -41,15 +40,16 @@ RecentsMRL* RecentsMRL::instance = NULL; RecentsMRL::RecentsMRL( intf_thread_t *_p_intf ) : p_intf( _p_intf ) { - stack = new QList; - 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" ); - char* psz_tmp = config_GetPsz( p_intf, "qt-recentplay-filter" ); + /* Load the filter psz */ + char* psz_tmp = var_InheritString( p_intf, "qt-recentplay-filter" ); if( psz_tmp && *psz_tmp ) filter = new QRegExp( psz_tmp, Qt::CaseInsensitive ); else @@ -57,6 +57,7 @@ RecentsMRL::RecentsMRL( intf_thread_t *_p_intf ) : p_intf( _p_intf ) free( psz_tmp ); load(); + isActive = var_InheritBool( p_intf, "qt-recentplay" ); if( !isActive ) clear(); } @@ -70,10 +71,14 @@ void RecentsMRL::addRecent( const QString &mrl ) { if ( !isActive || ( filter && filter->indexIn( mrl ) >= 0 ) ) return; + + msg_Dbg( p_intf, "Adding a new MRL to recent ones: %s", qtu( mrl ) ); + #ifdef WIN32 + /* Add to the Windows 7 default list in taskbar */ SHAddToRecentDocs( 0x00000002 , qtu( mrl ) ); #endif - msg_Dbg( p_intf, "Adding a new MRL to recent ones: %s", qtu( mrl ) ); + int i_index = stack->indexOf( mrl ); if( 0 <= i_index ) { @@ -88,27 +93,29 @@ void RecentsMRL::addRecent( const QString &mrl ) } QVLCMenu::updateRecents( p_intf ); save(); - } void RecentsMRL::clear() { if ( stack->isEmpty() ) return; + stack->clear(); if( isActive ) QVLCMenu::updateRecents( p_intf ); save(); } -QList RecentsMRL::recents() +QStringList RecentsMRL::recents() { - return QList(*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 ) @@ -118,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 ); }