filebrowser/ui/inc/searchview.h
author hgs
Thu, 13 May 2010 21:10:48 +0300
changeset 25 31fc1277642e
parent 17 4f2773374eff
child 19 4b22a598b890
permissions -rw-r--r--
201017_2

/*
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:
*
*/

#ifndef SEARCHVIEW_H
#define SEARCHVIEW_H

#include <hbview.h>
#include <hbmainwindow.h>

#include <qdatetime.h>

class QDir;
class EngineWrapper;
class QStringList;
class HbDataForm;
class HbDataFormModelItem;

/**
  * Settings class that is used for 
  */
class SearchAttributes
{
public:
    QString   mSearchDir;
    QString   mWildCards;
    QString   mTextInFile;
    int       mMinSize;
    int       mMaxSize;
    QDate     mMinDate;
    QDate     mMaxDate;
    bool      mRecurse;
};

/**
 * search results class.
 */
class SearchResults
{
public:
    int         mNumberOfFoundFiles;
    QStringList* mFoundFilesList;
};

class SearchView : public HbView
{
    Q_OBJECT

public:
    SearchView(HbView &mainView, HbMainWindow &mainWindow, EngineWrapper &engineWrapper);
    ~SearchView();
    void open(const QString &path);


private slots:
    void backButtonClicked();
    void startFileSearch();
    void loadAttributes();
    void readFormItems();
    
private:
    void fileSearchResults();

    /* Main Window of folderbrowser */
    HbMainWindow &mMainWindow;
    /* Main View of folderbrowser*/
    HbView &mMainView;
    /* EngineWrapper */
    EngineWrapper &mEngineWrapper;  

    /* Search attributes */
    SearchAttributes mAttributes;    
    /* Search results */
    SearchResults mResults;

    HbDataForm *mForm;
    HbDataFormModelItem *mSearchFileNameItem;
    HbDataFormModelItem *mWildCardItem;
    HbDataFormModelItem *mHasString;
    HbDataFormModelItem *mRecurse;
    HbDataFormModelItem *mMinSize;
    HbDataFormModelItem *mMaxSize;
    HbDataFormModelItem *mMinDate;
    HbDataFormModelItem *mMaxDate;

    QString mPath;
};

#endif // SEARCHVIEW_H