1 /*******************************************************************************
3 This file is part of mDictionary.
5 mDictionary is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 mDictionary is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with mDictionary. If not, see <http://www.gnu.org/licenses/>.
18 Copyright 2010 Comarch S.A.
20 *******************************************************************************/
22 \file XdxfDictSelectDialog.h
23 \brief Shows dialog with list of dictionaries allowing user
24 to select one of them.
26 \author Mateusz Półrola <mateusz.polrola@comarch.com>
29 #ifndef XDXFDICTSELECTDIALOG_H
30 #define XDXFDICTSELECTDIALOG_H
36 #include <QDeclarativeView>
37 #include <QDeclarativeContext>
39 #include "DownloadDict.h"
40 #include "DictsListModel.h"
41 #include "DictsModel.h"
42 #include "DictsProxyModel.h"
43 #include "DictsProxyListModel.h"
47 Shows dialog with list of dictionaries and informations about them,
48 allowing user to filter data based on dictionaries languages,
49 and to select one of them.
51 class XdxfDictSelectDialog : public QDialog {
56 \param dicts list of DownloadDict objects describing dictionaries.
58 XdxfDictSelectDialog(QList<DownloadDict> dicts,
62 Returns download link of dictionary selected by user. This string is set
63 only when user select any dictionary (dialog was accepted), otherwise it
66 QString link() { return _link;}
69 //! creates items for comboboxes and creates model with dicts info
70 void initializeDicts();
72 //! filters dicts after filtering settings change
73 void refreshDictList();
75 //! accept dialog and sets download link of clicked dictionary
76 void itemClicked(QModelIndex);
78 void itemClicked(QString link);
81 QVBoxLayout* mainLayout;
82 QDeclarativeView *view;
83 DictsListModel* model2;
84 DictsProxyListModel *proxyModel2;
88 DictsProxyModel *proxyModel; //used by treeView to allow filtering and sorti
90 QHBoxLayout* checkBoxLayout;
93 QLabel* langFromLabel;
95 QList<DownloadDict>* dictList;
99 #endif // XDXFDICTSELECTDIALOG_H