X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fqt4%2Frecents.cpp;h=5112c99f7f0d09efb9d7c36a8067b4707bfbaad7;hb=36eff3f63a815dc59a4401ddece17cf2fc6dc7b6;hp=83317afd9532bbc4f86e293bce4454fe6deed013;hpb=4c4aae84c4b516592ab42c8c08242c400a107e90;p=vlc diff --git a/modules/gui/qt4/recents.cpp b/modules/gui/qt4/recents.cpp index 83317afd95..5112c99f7f 100644 --- a/modules/gui/qt4/recents.cpp +++ b/modules/gui/qt4/recents.cpp @@ -26,30 +26,42 @@ #include "dialogs_provider.hpp" #include "menus.hpp" -#include -#include +#include #include #include #include #include #ifdef WIN32 -#include + #include + /* typedef enum { + SHARD_PIDL = 0x00000001, + SHARD_PATHA = 0x00000002, + SHARD_PATHW = 0x00000003, + SHARD_APPIDINFO = 0x00000004, + SHARD_APPIDINFOIDLIST = 0x00000005, + SHARD_LINK = 0x00000006, + SHARD_APPIDINFOLINK = 0x00000007, + SHARD_SHELLITEM = 0x00000008 + } SHARD; */ + #define SHARD_PATHW 0x00000003 #endif + 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 +69,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(); } @@ -75,7 +88,7 @@ void RecentsMRL::addRecent( const QString &mrl ) #ifdef WIN32 /* Add to the Windows 7 default list in taskbar */ - SHAddToRecentDocs( 0x00000002 , qtu( mrl ) ); + SHAddToRecentDocs( SHARD_PATHW, qtu( mrl ) ); #endif int i_index = stack->indexOf( mrl ); @@ -98,20 +111,23 @@ 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 ) @@ -121,11 +137,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 ); }