--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/filemanager/src/filemanager/src/components/fmcombinedquery.h Fri Apr 16 14:53:38 2010 +0300
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2009 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:
+ * The header file of combined query of of file manager
+ */
+#ifndef FMCOMBINEDQUERY_H
+#define FMCOMBINEDQUERY_H
+
+#include "fmcommon.h"
+
+#include <QString>
+#include <QMap>
+#include <QStringList>
+#include <QGraphicsItem>
+
+#include <hbdialog.h>
+
+class HbListWidget;
+class QGraphicsWidget;
+
+// CLASS DECLARATION
+/**
+ * This class is used for popup query dialog
+ * Support multi, single select
+ *
+ */
+class FmCombinedQuery : public HbDialog
+{
+ Q_OBJECT
+public:
+ enum SelectMode
+ {
+ NoSelectMode = 0,
+ SingleSelectMode = 1,
+ MultiSelectMode = 2,
+ };
+
+ FmCombinedQuery( QGraphicsItem *parent = 0 );
+ ~FmCombinedQuery( void );
+
+ /**
+ * Set select mode
+ * @param mode select mode
+ * @see SelectMode
+ */
+ void setSelectMode( SelectMode mode );
+
+ /**
+ * Set select mode
+ * @param mode select mode
+ * @return return select mode
+ * @see SelectMode
+ */
+ inline SelectMode selectMode() const
+ {
+ return mSelectMode;
+ }
+
+ /**
+ * Set one row as marked
+ * @param row the row number which need be marked
+ */
+ void setMarkedListItem( int row, bool mark = true );
+
+ /**
+ * Set dominant index for query list, if click dominant item, clear check status of other items.
+ * @param index dominant index
+ */
+ void setDominantIndex( int index );
+
+ /**
+ * Set list item data
+ * @param list item data as QMap, key is the userdata of list item as value will be displayed.
+ * @see selectedValues
+ * @see selectedKeys
+ */
+ void setListItems(const QMap< int, QString > &list);
+
+ /**
+ * Fetch the selected result of vaules from QMap those are set by setListItems function
+ * @return QStringList of selected values
+ * @see setListItems
+ * @see selectedKeys
+ */
+ QStringList selectedValues() const;
+
+ /**
+ * Fetch the selected result of keys from QMap those are set by setListItems function
+ * @return QList with int of selected keys
+ * @see setListItems
+ * @see selectedValues
+ */
+ QList<int> selectedKeys() const;
+
+signals:
+ void doCheckForPrimaryAction();
+
+public slots:
+ void activated(const QModelIndex &index);
+ void checkForPrimaryAction();
+private:
+ SelectMode mSelectMode; /// select mode , MultiSelectMode is default value
+ QGraphicsWidget *mContentWidget; /// Content widget of popup dialog
+ HbListWidget *mListWidget; /// list widget
+ int mDominantIndex; /// index of dominant item. -1 for none
+};
+
+#endif //FMCOMBINEDQUERY_H