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 *******************************************************************************/
23 \brief Implementation of stardict plugin's dialogs.
25 \author Mateusz Półrola <mateusz.polrola@gmail.com>
32 #include "../../include/settings.h"
34 #include <QDeclarativeView>
35 #include "StarDictPlugin.h"
39 This class can create dialogs for adding a new dictionary or changing settings
40 of an existing one, based on dialog type passed to contructor.
41 When adding a new dictionary dialog contains a button to browse file system and
42 select a dictionary file. When changing settings dialog displays basic
43 information about dictionary i. e. name, languages and license info.
44 All contents of a dialog are in a scroll area.
46 class StarDialog : public QDialog
51 Describes type of dialog. New means that dialog contains widgets to browse
52 file system and select dictionary file. Change means that dialog displays
53 information about dictionary.
54 In both types dialog provides widgets to create or delete cache and remove
57 enum StarDialogType {New, Change};
61 Creates new StarDict dialog
62 \param plugin if created dialog is of type Change it must be set to
63 point to plugin whose settings will be changed
64 \param type describes type of created dialog
65 \param parent parent widget of created dialog
67 explicit StarDialog(StarDictPlugin* plugin = 0,
68 StarDialogType type = New,
72 After acceptance of dialog this method returns plugin's settings based on
73 user's choices in dialog.
74 \returns settings of plugin
76 Settings* getSettings();
79 //! Requests to show notification
80 void notify(Notify::NotifyType, QString);
82 void setInfo(QVariant info);
83 void setButtonText(QVariant text);
84 void setNew(QVariant text);
85 void setPath(QVariant path);
89 Reimplemented accept method, to check if all necessary fields in
90 dialog are correct e. g. dictionary file path
91 and saves new settings
98 void resizeEvent(QResizeEvent *e);
100 //! displays dialog to browse and select file
103 void heightChange(int height);
106 QVBoxLayout* mainLayout;
107 QDeclarativeView *view;
110 //! create a user interface
113 //! saves new settings after acceptance of dialog
116 //! check that files is compressed
120 QPushButton* browseButton;
121 QHBoxLayout* browseLayout;
123 QPushButton* confirmButton;
124 QString _dictionaryFilePath;
125 QScrollArea* scrollArea;
128 QVBoxLayout* mainVerticalLayout;
134 StarDictPlugin* plugin;
138 #endif // STARDIALOG_H