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>
40 #include "DownloadDict.h"
41 #include "DictsListModel.h"
42 #include "DictsModel.h"
43 #include "DictsProxyModel.h"
44 #include "DictsProxyListModel.h"
45 #include "../../include/ComboBoxModel.h"
49 Shows dialog with list of dictionaries and informations about them,
50 allowing user to filter data based on dictionaries languages,
51 and to select one of them.
53 class XdxfDictSelectDialog : public QDialog {
58 \param dicts list of DownloadDict objects describing dictionaries.
60 XdxfDictSelectDialog(QList<DownloadDict> dicts,
64 Returns download link of dictionary selected by user. This string is set
65 only when user select any dictionary (dialog was accepted), otherwise it
68 QString link() { return _link;}
71 //! creates items for comboboxes and creates model with dicts info
72 void initializeDicts();
74 //! filters dicts after filtering settings change
75 void refreshDictList();
77 //! accept dialog and sets download link of clicked dictionary
78 void itemClicked(QModelIndex);
80 void itemClicked(QString link);
82 void toChange(QString lang);
83 void fromChange(QString lang);
86 QVBoxLayout* mainLayout;
87 QDeclarativeView *view;
88 DictsListModel* model2;
89 DictsProxyListModel *proxyModel2;
90 ComboBoxModel *fromModel;
91 ComboBoxModel *toModel;
95 DictsProxyModel *proxyModel; //used by treeView to allow filtering and sorti
97 QHBoxLayout* checkBoxLayout;
100 QLabel* langFromLabel;
102 QList<DownloadDict>* dictList;
106 #endif // XDXFDICTSELECTDIALOG_H