videocollection/videocollectionwrapper/inc/videosortfilterproxymodel.h
author hgs
Mon, 23 Aug 2010 14:27:29 +0300
changeset 55 4bfa887905cf
parent 50 21fe8338c6bf
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:   Videolist sort filter proxy implementation
hgs
parents:
diff changeset
    15
* 
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef VIDEOSORTFILTERPROXYMODEL_H
hgs
parents:
diff changeset
    19
#define VIDEOSORTFILTERPROXYMODEL_H
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#include <qsortfilterproxymodel.h>
hgs
parents:
diff changeset
    22
#include <e32const.h>
hgs
parents:
diff changeset
    23
#include <mpxitemid.h>
hgs
parents:
diff changeset
    24
#include "videocollectionexport.h"
36
hgs
parents: 35
diff changeset
    25
#include "videocollectioncommon.h"
30
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
class QTimer;
hgs
parents:
diff changeset
    28
class VideoListDataModel;
hgs
parents:
diff changeset
    29
class VideoCollectionClient;
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
class VIDEOCOLLECTION_DLL_EXPORT VideoSortFilterProxyModel : public QSortFilterProxyModel 
hgs
parents:
diff changeset
    32
{
hgs
parents:
diff changeset
    33
    Q_OBJECT
hgs
parents:
diff changeset
    34
    
hgs
parents:
diff changeset
    35
public: 
hgs
parents:
diff changeset
    36
    
hgs
parents:
diff changeset
    37
    /**
hgs
parents:
diff changeset
    38
     * Contructor.
hgs
parents:
diff changeset
    39
     *
hgs
parents:
diff changeset
    40
     * @param parent parent of this widget
hgs
parents:
diff changeset
    41
     * @param client Collection client pointer to use.
hgs
parents:
diff changeset
    42
     */
36
hgs
parents: 35
diff changeset
    43
    VideoSortFilterProxyModel(VideoCollectionCommon::TModelType type, QObject *parent=0);
30
hgs
parents:
diff changeset
    44
    
hgs
parents:
diff changeset
    45
    /**
hgs
parents:
diff changeset
    46
     * Destructor.
hgs
parents:
diff changeset
    47
     *
hgs
parents:
diff changeset
    48
     */
hgs
parents:
diff changeset
    49
    virtual ~VideoSortFilterProxyModel();
hgs
parents:
diff changeset
    50
    
hgs
parents:
diff changeset
    51
    /**
hgs
parents:
diff changeset
    52
     * Initializes model, calls initialize to source model, and sets
hgs
parents:
diff changeset
    53
     * the given sourceModel as source model for this proxy model.
hgs
parents:
diff changeset
    54
     * 
hgs
parents:
diff changeset
    55
     * @param collection mpx video collectionobject
hgs
parents:
diff changeset
    56
     * @param sourceModel the source model
hgs
parents:
diff changeset
    57
     * 
hgs
parents:
diff changeset
    58
     * @return int: 0 if everything ok
hgs
parents:
diff changeset
    59
     */
hgs
parents:
diff changeset
    60
    int initialize(VideoListDataModel *sourceModel);
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
public:
34
hgs
parents: 30
diff changeset
    63
           
30
hgs
parents:
diff changeset
    64
    /**
hgs
parents:
diff changeset
    65
     * First call opens the collection at the defined level. Subsequent calls only change the level.
hgs
parents:
diff changeset
    66
     * This starts populating the model data from the MyVideos collection plugin.
hgs
parents:
diff changeset
    67
     * 
hgs
parents:
diff changeset
    68
     * @param level The level where the collection is opened.
hgs
parents:
diff changeset
    69
     * @return 0 if opening was successful, negative if not.
hgs
parents:
diff changeset
    70
     */
36
hgs
parents: 35
diff changeset
    71
    int open(VideoCollectionCommon::TCollectionLevels level);
30
hgs
parents:
diff changeset
    72
    
hgs
parents:
diff changeset
    73
    /**
hgs
parents:
diff changeset
    74
     * Starts sorting. If async parameter is defined as true uses idle timer: 
hgs
parents:
diff changeset
    75
     * starts timer with zero interval. When system has time to run timer sort()
hgs
parents:
diff changeset
    76
     * -method is called. If async is false, then the sort() -method is called
hgs
parents:
diff changeset
    77
     * immediatelly.
hgs
parents:
diff changeset
    78
     * 
hgs
parents:
diff changeset
    79
     * @param sortingRole The role that sorting is done by.
hgs
parents:
diff changeset
    80
     * @param sortingOrder The sorting order, e.g. ascending or descending.
hgs
parents:
diff changeset
    81
     * @param async Defines if the sorting is done asyncronously or not. Default
hgs
parents:
diff changeset
    82
     *      is true.
hgs
parents:
diff changeset
    83
     */
hgs
parents:
diff changeset
    84
    void doSorting(int sortingRole, Qt::SortOrder order, bool async = true);
34
hgs
parents: 30
diff changeset
    85
hgs
parents: 30
diff changeset
    86
    /**
hgs
parents: 30
diff changeset
    87
     * To get current actice sorting parameters of the model
hgs
parents: 30
diff changeset
    88
     * 
hgs
parents: 30
diff changeset
    89
     * @param sortingRole The role that sorting is done by.
hgs
parents: 30
diff changeset
    90
     * @param sortingOrder The sorting order, e.g. ascending or descending.
hgs
parents: 30
diff changeset
    91
     */
hgs
parents: 30
diff changeset
    92
    void getSorting(int &sortingRole, Qt::SortOrder &order);
hgs
parents: 30
diff changeset
    93
30
hgs
parents:
diff changeset
    94
    
hgs
parents:
diff changeset
    95
    /**
hgs
parents:
diff changeset
    96
     * Method to delete items at provided indeces
hgs
parents:
diff changeset
    97
     *
hgs
parents:
diff changeset
    98
     * @param indexList list of indeces.
hgs
parents:
diff changeset
    99
     * @return int 0 succeeds, -1 does not succeed.
hgs
parents:
diff changeset
   100
     */
hgs
parents:
diff changeset
   101
    int deleteItems(const QModelIndexList &indexList);
hgs
parents:
diff changeset
   102
    
hgs
parents:
diff changeset
   103
    /**
hgs
parents:
diff changeset
   104
    * Opens the defined item. This is quite abstract as depending
hgs
parents:
diff changeset
   105
    * on the type of the item, the behaviour or result could be
hgs
parents:
diff changeset
   106
    * quite different.
hgs
parents:
diff changeset
   107
    * 
34
hgs
parents: 30
diff changeset
   108
    * @param item id id of the item to be opened
30
hgs
parents:
diff changeset
   109
    * @return int 0 succeeds, <0 if opening does not succeed.
hgs
parents:
diff changeset
   110
    */    
34
hgs
parents: 30
diff changeset
   111
    int openItem(TMPXItemId mediaId);
30
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
    /**
hgs
parents:
diff changeset
   114
    * Return to collection level
hgs
parents:
diff changeset
   115
    *
hgs
parents:
diff changeset
   116
    */    
hgs
parents:
diff changeset
   117
    int back();
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
    /**
hgs
parents:
diff changeset
   120
     * Starts fetching full details for the defined item.
hgs
parents:
diff changeset
   121
     * 
hgs
parents:
diff changeset
   122
     * @param index index of the item from where to get details from
hgs
parents:
diff changeset
   123
     * @return int 0 succeeds, < 0 if detail fetching startup does not succeed.
hgs
parents:
diff changeset
   124
     */   
hgs
parents:
diff changeset
   125
    int fetchItemDetails(const QModelIndex &index);
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
    /**
hgs
parents:
diff changeset
   128
     * Method checks that model exists and asks for mpx id from
hgs
parents:
diff changeset
   129
     * given object.
hgs
parents:
diff changeset
   130
     * 
hgs
parents:
diff changeset
   131
     * @param index index of the item in UI.
hgs
parents:
diff changeset
   132
     * @return TMPXItemId mpx id if succeeds TMPXItemId::InvalidId() in case of error
hgs
parents:
diff changeset
   133
     *  
hgs
parents:
diff changeset
   134
     */
50
hgs
parents: 36
diff changeset
   135
    const TMPXItemId& getMediaIdAtIndex(const QModelIndex &index) const;
34
hgs
parents: 30
diff changeset
   136
  
hgs
parents: 30
diff changeset
   137
    /**
hgs
parents: 30
diff changeset
   138
     * returns qmodelindex of item id provided.
hgs
parents: 30
diff changeset
   139
     * 
hgs
parents: 30
diff changeset
   140
     * @param item id
hgs
parents: 30
diff changeset
   141
     * @return QModelIndex;
hgs
parents: 30
diff changeset
   142
     */
50
hgs
parents: 36
diff changeset
   143
    QModelIndex indexOfId(const TMPXItemId &id);
34
hgs
parents: 30
diff changeset
   144
    
30
hgs
parents:
diff changeset
   145
    /**
hgs
parents:
diff changeset
   146
     * Method checks that model exists and asks for file path from
hgs
parents:
diff changeset
   147
     * given object.
hgs
parents:
diff changeset
   148
     * 
hgs
parents:
diff changeset
   149
     * @param mediaId id of the item.
hgs
parents:
diff changeset
   150
     * @return QString file path if succeeds, empty string in case of error.
hgs
parents:
diff changeset
   151
     *  
hgs
parents:
diff changeset
   152
     */
50
hgs
parents: 36
diff changeset
   153
    QString getMediaFilePathForId(const TMPXItemId &mediaId);
30
hgs
parents:
diff changeset
   154
        
hgs
parents:
diff changeset
   155
    /**
34
hgs
parents: 30
diff changeset
   156
     * Add a new album.
hgs
parents: 30
diff changeset
   157
     * 
hgs
parents: 30
diff changeset
   158
     * @param title, Album title.
hgs
parents: 30
diff changeset
   159
     * @param mediaIds, Media items to add in the album.
hgs
parents: 30
diff changeset
   160
     * @return TMPXItemId id of created album TMPXItemId:::InvalidId() in case of failure
hgs
parents: 30
diff changeset
   161
     */
hgs
parents: 30
diff changeset
   162
    TMPXItemId addNewAlbum(const QString &title);
hgs
parents: 30
diff changeset
   163
	
hgs
parents: 30
diff changeset
   164
    /**
hgs
parents: 30
diff changeset
   165
     * Remove an album.
30
hgs
parents:
diff changeset
   166
     * 
34
hgs
parents: 30
diff changeset
   167
     * @param indexList, list of album indexes to be removed.
hgs
parents: 30
diff changeset
   168
     * @return 0 if no errors.
30
hgs
parents:
diff changeset
   169
     */
34
hgs
parents: 30
diff changeset
   170
    int removeAlbums(const QModelIndexList &indexList);
30
hgs
parents:
diff changeset
   171
34
hgs
parents: 30
diff changeset
   172
	/**
hgs
parents: 30
diff changeset
   173
	 * Add items in an existing album.
hgs
parents: 30
diff changeset
   174
	 * 
hgs
parents: 30
diff changeset
   175
	 * @param albumId, Album where to add items.
hgs
parents: 30
diff changeset
   176
	 * @param mediaIds, list of item ids
hgs
parents: 30
diff changeset
   177
	 * @return 0 if no errors.
hgs
parents: 30
diff changeset
   178
	 */
35
hgs
parents: 34
diff changeset
   179
    int addItemsInAlbum(TMPXItemId &albumId, const QList<TMPXItemId> &mediaIds);    
hgs
parents: 34
diff changeset
   180
    
hgs
parents: 34
diff changeset
   181
    /**
hgs
parents: 34
diff changeset
   182
     * Removes items from existing album.
hgs
parents: 34
diff changeset
   183
     * 
hgs
parents: 34
diff changeset
   184
     * @param albumId, Album where to add items.
hgs
parents: 34
diff changeset
   185
     * @param mediaIds, list of item ids
hgs
parents: 34
diff changeset
   186
     * @return 0 if no errors.
hgs
parents: 34
diff changeset
   187
     */
hgs
parents: 34
diff changeset
   188
    int removeItemsFromAlbum(TMPXItemId &albumId, const QList<TMPXItemId> &mediaIds);    
34
hgs
parents: 30
diff changeset
   189
	
36
hgs
parents: 35
diff changeset
   190
    /**
50
hgs
parents: 36
diff changeset
   191
     * Renames a video or user defined colletion.
36
hgs
parents: 35
diff changeset
   192
     * 
50
hgs
parents: 36
diff changeset
   193
     * @param itemId, id of item  to be renamed.
hgs
parents: 36
diff changeset
   194
     * @param newTitle, New title for the item.
36
hgs
parents: 35
diff changeset
   195
     * @return 0 if no errors.
hgs
parents: 35
diff changeset
   196
     */
50
hgs
parents: 36
diff changeset
   197
    int renameItem(const TMPXItemId &itemId, const QString &newTitle);
36
hgs
parents: 35
diff changeset
   198
hgs
parents: 35
diff changeset
   199
    /**
34
hgs
parents: 30
diff changeset
   200
	 * Resolves duplicate album names and returns the resolved name.
hgs
parents: 30
diff changeset
   201
	 * 'New collection' -> 'New collection (1)' -> 'New collection (2)', etc.
hgs
parents: 30
diff changeset
   202
	 * 
hgs
parents: 30
diff changeset
   203
	 * @param albumName, Name specified by the user.
hgs
parents: 30
diff changeset
   204
	 * @return Resolved name given to the album.
hgs
parents: 30
diff changeset
   205
	 */
hgs
parents: 30
diff changeset
   206
    QString resolveAlbumName(const QString& albumName) const;
hgs
parents: 30
diff changeset
   207
	
hgs
parents: 30
diff changeset
   208
    /**
hgs
parents: 30
diff changeset
   209
     * sets item id filter used in generic proxy model
hgs
parents: 30
diff changeset
   210
     * while filtering rows. 
hgs
parents: 30
diff changeset
   211
     * 
hgs
parents: 30
diff changeset
   212
     * If provided filterValue -flag is true, we filter off items that 
hgs
parents: 30
diff changeset
   213
     * do not exist in container indicated as itemId. 
hgs
parents: 30
diff changeset
   214
     * If false, filtering works other way around. 
hgs
parents: 30
diff changeset
   215
     * 
hgs
parents: 30
diff changeset
   216
     * 
35
hgs
parents: 34
diff changeset
   217
     * @param filterValue item id used as filter
hgs
parents: 34
diff changeset
   218
     * @param filterValue
34
hgs
parents: 30
diff changeset
   219
     */
50
hgs
parents: 36
diff changeset
   220
    void setGenericIdFilter(const TMPXItemId &itemId, bool filterValue);
34
hgs
parents: 30
diff changeset
   221
    
35
hgs
parents: 34
diff changeset
   222
    /**
hgs
parents: 34
diff changeset
   223
     * Set album in use and invalidates filtering.
hgs
parents: 34
diff changeset
   224
     * 
hgs
parents: 34
diff changeset
   225
     * @param albumId album id
hgs
parents: 34
diff changeset
   226
     */
50
hgs
parents: 36
diff changeset
   227
    void setAlbumInUse(const TMPXItemId &albumId);
35
hgs
parents: 34
diff changeset
   228
    
34
hgs
parents: 30
diff changeset
   229
	/**
hgs
parents: 30
diff changeset
   230
	 * Gets the currently opened item.
hgs
parents: 30
diff changeset
   231
	 * 
hgs
parents: 30
diff changeset
   232
	 * @param None.
hgs
parents: 30
diff changeset
   233
	 * @return TMPXItemId.
hgs
parents: 30
diff changeset
   234
	 */
hgs
parents: 30
diff changeset
   235
    TMPXItemId getOpenItem() const;
hgs
parents: 30
diff changeset
   236
	
36
hgs
parents: 35
diff changeset
   237
	/**
hgs
parents: 35
diff changeset
   238
	 * Gets the type of model.
hgs
parents: 35
diff changeset
   239
	 * 
hgs
parents: 35
diff changeset
   240
	 * @param None.
hgs
parents: 35
diff changeset
   241
	 * @return TModelType.
hgs
parents: 35
diff changeset
   242
	 */
hgs
parents: 35
diff changeset
   243
    VideoCollectionCommon::TModelType getType();
hgs
parents: 35
diff changeset
   244
    
30
hgs
parents:
diff changeset
   245
signals:
hgs
parents:
diff changeset
   246
hgs
parents:
diff changeset
   247
    /**
hgs
parents:
diff changeset
   248
    * Signal to be emitted if detail fetching started ok
hgs
parents:
diff changeset
   249
    * 
hgs
parents:
diff changeset
   250
    * @param index, index of the item
hgs
parents:
diff changeset
   251
    */ 
34
hgs
parents: 30
diff changeset
   252
    void shortDetailsReady(TMPXItemId itemId);
30
hgs
parents:
diff changeset
   253
    
hgs
parents:
diff changeset
   254
    /**
hgs
parents:
diff changeset
   255
     * Signals that the model is ready, ie. that all data has been
hgs
parents:
diff changeset
   256
     * loaded from myvideoscollection.
hgs
parents:
diff changeset
   257
     */
hgs
parents:
diff changeset
   258
    void modelReady();
34
hgs
parents: 30
diff changeset
   259
    
hgs
parents: 30
diff changeset
   260
    /**
55
hgs
parents: 50
diff changeset
   261
     * Notifies that model's physical data structure has changed:
34
hgs
parents: 30
diff changeset
   262
     * - item inserted
hgs
parents: 30
diff changeset
   263
     * - item removed 
hgs
parents: 30
diff changeset
   264
     */
hgs
parents: 30
diff changeset
   265
    void modelChanged();
30
hgs
parents:
diff changeset
   266
 
55
hgs
parents: 50
diff changeset
   267
    /**
hgs
parents: 50
diff changeset
   268
     * Notifies that model has been sorted.
hgs
parents: 50
diff changeset
   269
     */
hgs
parents: 50
diff changeset
   270
    void modelSorted();
hgs
parents: 50
diff changeset
   271
30
hgs
parents:
diff changeset
   272
protected: // from QSortFilterProxyModel
hgs
parents:
diff changeset
   273
    
hgs
parents:
diff changeset
   274
    /**
hgs
parents:
diff changeset
   275
     * Compares items based in the role setted before sorting.
hgs
parents:
diff changeset
   276
     *  
hgs
parents:
diff changeset
   277
     */
hgs
parents:
diff changeset
   278
    bool lessThan ( const QModelIndex & left, const QModelIndex & right ) const;
hgs
parents:
diff changeset
   279
    
hgs
parents:
diff changeset
   280
    /**
hgs
parents:
diff changeset
   281
     * Filtering functionality. Called by the fw.
hgs
parents:
diff changeset
   282
     *  
hgs
parents:
diff changeset
   283
     * @param source_row row to chexk
hgs
parents:
diff changeset
   284
     * @param source_parent row's parent
hgs
parents:
diff changeset
   285
     * 
hgs
parents:
diff changeset
   286
     * @return bool row accepted(true) or not accepted(false)
hgs
parents:
diff changeset
   287
     */
hgs
parents:
diff changeset
   288
    bool filterAcceptsRow ( int source_row, const QModelIndex & source_parent ) const;
hgs
parents:
diff changeset
   289
hgs
parents:
diff changeset
   290
private slots:
hgs
parents:
diff changeset
   291
hgs
parents:
diff changeset
   292
    /**
hgs
parents:
diff changeset
   293
     * Timeout slot for zero timer. Stops timer and calls sort(). 
hgs
parents:
diff changeset
   294
     * After call is finished, emits sortingReady.
hgs
parents:
diff changeset
   295
     *  
hgs
parents:
diff changeset
   296
     */
hgs
parents:
diff changeset
   297
    void processSorting();
hgs
parents:
diff changeset
   298
    
34
hgs
parents: 30
diff changeset
   299
    /**
hgs
parents: 30
diff changeset
   300
     * signaled when particular album content has changed and 
hgs
parents: 30
diff changeset
   301
     * refiltering is required
hgs
parents: 30
diff changeset
   302
     */
hgs
parents: 30
diff changeset
   303
    void albumChangedSlot();
hgs
parents: 30
diff changeset
   304
    
hgs
parents: 30
diff changeset
   305
private:
hgs
parents: 30
diff changeset
   306
    
hgs
parents: 30
diff changeset
   307
    /**
hgs
parents: 30
diff changeset
   308
     * disabled contructor
hgs
parents: 30
diff changeset
   309
     */
hgs
parents: 30
diff changeset
   310
    VideoSortFilterProxyModel(QObject *parent=0);
hgs
parents: 30
diff changeset
   311
    
hgs
parents: 30
diff changeset
   312
    /**
hgs
parents: 30
diff changeset
   313
     * connects all signals emitted from or throught this object
hgs
parents: 30
diff changeset
   314
     * 
hgs
parents: 30
diff changeset
   315
     * @return bool
hgs
parents: 30
diff changeset
   316
     */
hgs
parents: 30
diff changeset
   317
    bool connectSignals();
hgs
parents: 30
diff changeset
   318
    
hgs
parents: 30
diff changeset
   319
    /**
hgs
parents: 30
diff changeset
   320
     * disconnects all signals
hgs
parents: 30
diff changeset
   321
     */
hgs
parents: 30
diff changeset
   322
    void disconnectSignals();
hgs
parents: 30
diff changeset
   323
    
30
hgs
parents:
diff changeset
   324
private:
hgs
parents:
diff changeset
   325
    
hgs
parents:
diff changeset
   326
    /**
hgs
parents:
diff changeset
   327
     * Pointer to the actual model.
hgs
parents:
diff changeset
   328
     * Not owned.
hgs
parents:
diff changeset
   329
     */
hgs
parents:
diff changeset
   330
    VideoListDataModel *mModel;
hgs
parents:
diff changeset
   331
    
hgs
parents:
diff changeset
   332
    /**
hgs
parents:
diff changeset
   333
     * Collection client.
hgs
parents:
diff changeset
   334
     * Not owned. 
hgs
parents:
diff changeset
   335
     */
hgs
parents:
diff changeset
   336
    VideoCollectionClient *mCollectionClient;
hgs
parents:
diff changeset
   337
    
hgs
parents:
diff changeset
   338
    /**
34
hgs
parents: 30
diff changeset
   339
     * type of data excepted
hgs
parents: 30
diff changeset
   340
     */
36
hgs
parents: 35
diff changeset
   341
    VideoCollectionCommon::TModelType mType;
34
hgs
parents: 30
diff changeset
   342
    
hgs
parents: 30
diff changeset
   343
    /**
30
hgs
parents:
diff changeset
   344
     * Currently open level.
hgs
parents:
diff changeset
   345
     */
36
hgs
parents: 35
diff changeset
   346
    VideoCollectionCommon::TCollectionLevels mLevel;
30
hgs
parents:
diff changeset
   347
    
hgs
parents:
diff changeset
   348
    /**
34
hgs
parents: 30
diff changeset
   349
     * item id used as filter if model type is generic model
hgs
parents: 30
diff changeset
   350
     */
hgs
parents: 30
diff changeset
   351
    TMPXItemId mGenericFilterId;
hgs
parents: 30
diff changeset
   352
    
hgs
parents: 30
diff changeset
   353
    /**
hgs
parents: 30
diff changeset
   354
     * flag used 
hgs
parents: 30
diff changeset
   355
     */
hgs
parents: 30
diff changeset
   356
    bool mGenericFilterValue;
hgs
parents: 30
diff changeset
   357
    
hgs
parents: 30
diff changeset
   358
    /**
30
hgs
parents:
diff changeset
   359
     * Timer object. Owned.
hgs
parents:
diff changeset
   360
     */
hgs
parents:
diff changeset
   361
    QTimer  *mIdleSortTimer;
hgs
parents:
diff changeset
   362
    
hgs
parents:
diff changeset
   363
    /**
hgs
parents:
diff changeset
   364
     * sort role to be setted after idle timer time outs for sorting to be able to be executed
hgs
parents:
diff changeset
   365
     */
hgs
parents:
diff changeset
   366
    int mWantedSortRole;
hgs
parents:
diff changeset
   367
    
hgs
parents:
diff changeset
   368
    /**
hgs
parents:
diff changeset
   369
     * sort order (ascending or descending).
hgs
parents:
diff changeset
   370
     */
hgs
parents:
diff changeset
   371
    Qt::SortOrder mWantedSortOrder;
hgs
parents:
diff changeset
   372
    
hgs
parents:
diff changeset
   373
};
hgs
parents:
diff changeset
   374
hgs
parents:
diff changeset
   375
#endif  //VIDEOSORTFILTERPROXYMODEL_H