diff -r b3cee849fa46 -r fad26422216a filebrowser/ui/src/searchview.cpp --- a/filebrowser/ui/src/searchview.cpp Tue Aug 31 15:15:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,204 +0,0 @@ -/* -* 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: -* -*/ - -#include "searchview.h" -#include "enginewrapper.h" -#include "notifications.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -const QStringList RECURSEMODES = (QStringList() << "Non-recursive" << "Recursive"); -const QString acceptActionText = "Search"; -const QString rejectActionText = "Cancel"; - - -SearchView::SearchView(EngineWrapper &engineWrapper) - : mEngineWrapper(engineWrapper), - mAttributes(), - mResults(), - mForm(0), - mSearchFileNameItem(0), - mWildCardItem(0), - mHasString(0), - mRecurse(0), - mMinSize(0), - mMaxSize(0), - mMinDate(0), - mMaxDate(0), - mPath(), - mProgressDialog(0) -{ - // Set title and add this view to main window - setTitle("Search"); - - // Override back navigation action - HbAction *leaveViewAction = new HbAction(Hb::BackNaviAction, this); - connect(leaveViewAction, SIGNAL(triggered()), this, SLOT(reject())); - setNavigationAction(leaveViewAction); - - initDataForm(); - createToolbar(); -} - -SearchView::~SearchView() -{ -} - -void SearchView::initDataForm() { - mForm = new HbDataForm(/*HbFormView::ModeEdit,*/ this); - HbDataFormModel *model = new HbDataFormModel(); - - mSearchFileNameItem = new HbDataFormModelItem(HbDataFormModelItem::TextItem); - mSearchFileNameItem->setLabel("Search dir: "); - - mWildCardItem = new HbDataFormModelItem(HbDataFormModelItem::TextItem); - mWildCardItem->setLabel("Wildcards: "); - - mHasString = new HbDataFormModelItem(HbDataFormModelItem::TextItem); - mHasString->setLabel("Has string: "); - - mRecurse = new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem); - mRecurse->setLabel("Recurse: "); - mRecurse->setContentWidgetData("items", RECURSEMODES); - - mMinSize = new HbDataFormModelItem(HbDataFormModelItem::TextItem); - mMinSize->setLabel("Min size: "); - - mMaxSize = new HbDataFormModelItem(HbDataFormModelItem::TextItem); - mMaxSize->setLabel("Max size: "); - - mMinDate = new HbDataFormModelItem(HbDataFormModelItem::TextItem); - mMinDate->setLabel("Min date: "); - mMinDate->setContentWidgetData("text", "01/01/1980"); - - mMaxDate = new HbDataFormModelItem(HbDataFormModelItem::TextItem); - mMaxDate->setLabel("Max date: "); - mMaxDate->setContentWidgetData("text", "31/12/2060"); - - model->appendDataFormItem(mSearchFileNameItem); - model->appendDataFormItem(mWildCardItem); - model->appendDataFormItem(mHasString); - model->appendDataFormItem(mRecurse); - model->appendDataFormItem(mMinSize); - model->appendDataFormItem(mMaxSize); - model->appendDataFormItem(mMinDate); - model->appendDataFormItem(mMaxDate); - mForm->setModel(model); - - QGraphicsLinearLayout* layout = new QGraphicsLinearLayout(Qt::Vertical,this); - layout->addItem(mForm); - setLayout(layout); -} - -void SearchView::createToolbar() -{ - HbToolBar *toolBar = new HbToolBar(this); - HbAction *acceptAction = new HbAction(acceptActionText); - connect(acceptAction, SIGNAL(triggered()), this, SLOT(accept())); - toolBar->addAction(acceptAction); - - HbAction *rejectAction = new HbAction(rejectActionText); - connect(rejectAction, SIGNAL(triggered()), this, SLOT(reject())); - toolBar->addAction(rejectAction); - - setToolBar(toolBar); -} - -void SearchView::loadAttributes() -{ - // get settings from engine; - mAttributes = mEngineWrapper.getFileSearchAttributes(); - - // set data: - mSearchFileNameItem->setContentWidgetData("text", mPath); -// mSearchFileNameItem->setContentWidgetData("text", mAttributes.mSearchDir); - mWildCardItem->setContentWidgetData("text",mAttributes.mWildCards); - mHasString->setContentWidgetData("text", mAttributes.mTextInFile); - - mRecurse->setContentWidgetData("selected",mAttributes.mRecurse); - - mMinSize->setContentWidgetData("text",mAttributes.mMinSize); - mMaxSize->setContentWidgetData("text", mAttributes.mMaxSize); - - mMinDate->setContentWidgetData("text", mAttributes.mMinDate); - mMaxDate->setContentWidgetData("text", mAttributes.mMaxDate); -} - -/** - * Reads form items and saves values of them into member variable mAttributes - */ -void SearchView::readFormItems() -{ - mAttributes.mSearchDir = mSearchFileNameItem->contentWidgetData("text").toString(); - mAttributes.mWildCards = mWildCardItem->contentWidgetData("text").toString(); - mAttributes.mTextInFile = mHasString->contentWidgetData("text").toString(); - mAttributes.mMinSize = mMinSize->contentWidgetData("text").toInt(); - mAttributes.mMaxSize = mMaxSize->contentWidgetData("text").toInt(); - mAttributes.mMinDate = mMinDate->contentWidgetData("text").toDate(); - mAttributes.mMaxDate = mMaxDate->contentWidgetData("text").toDate(); - mAttributes.mRecurse = mRecurse->contentWidgetData("selected").toBool(); -} - -void SearchView::open(const QString &path) -{ - mPath = path; - // load file search attribute values from FB engine: - loadAttributes(); -} - -void SearchView::startFileSearch() -{ - // save form data values and set them as search attributes into FB engine. - readFormItems(); - mEngineWrapper.setFileSearchAttributes(mAttributes); - - bool err = mEngineWrapper.searchFiles(); - - // show results of file search: - mResults = mEngineWrapper.getSearchResults(); - fileSearchResults(); -} - -void SearchView::fileSearchResults() -{ - QString noteMsg("%1 entries found"); - Notifications::showInformationNote(noteMsg.arg(mEngineWrapper.itemCount()), QString("")); -} - -void SearchView::accept() -{ - startFileSearch(); - emit finished(true); -} - -void SearchView::reject() -{ - emit finished(false); -}