1 /* ============================================================
2  *
3  * This file is a part of KDE project
4  *
5  *
6  * Date        : 2015-08-01
7  * Description : new album creation dialog.
8  *
9  * Copyright (C) 2010 by Jens Mueller <tschenser at gmx dot de>
10  * Copyright (C) 2015 by Shourya Singh Gupta <shouryasgupta at gmail dot com>
11  *
12  * This program is free software; you can redistribute it
13  * and/or modify it under the terms of the GNU General
14  * Public License as published by the Free Software Foundation;
15  * either version 2, or (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * ============================================================ */
23 
24 #ifndef KPNEWALBUMDIALOG_H
25 #define KPNEWALBUMDIALOG_H
26 
27 // Qt includes
28 
29 #include <QRadioButton>
30 #include <QDateTimeEdit>
31 #include <QDialog>
32 #include <QLineEdit>
33 #include <QTextEdit>
34 #include <QComboBox>
35 #include <QCloseEvent>
36 #include <QGridLayout>
37 #include <QGroupBox>
38 #include <QLabel>
39 #include <QVBoxLayout>
40 #include <QDialogButtonBox>
41 
42 // Local includes
43 
44 #include "kipiplugins_export.h"
45 
46 namespace KIPIPlugins
47 {
48 
49 class KIPIPLUGINS_EXPORT KPNewAlbumDialog : public QDialog
50 {
51     Q_OBJECT
52 
53 public:
54 
55     KPNewAlbumDialog(QWidget* const parent, const QString& pluginName);
56     ~KPNewAlbumDialog();
57 
58     void hideDateTime();
59     void hideDesc();
60     void hideLocation();
61 
62     QWidget*          getMainWidget() const;
63     QGroupBox*        getAlbumBox() const;
64 
65     QLineEdit*        getTitleEdit() const;
66     QTextEdit*        getDescEdit() const;
67     QLineEdit*        getLocEdit() const;
68     QDateTimeEdit*    getDateTimeEdit() const;
69     QDialogButtonBox* getButtonBox() const;
70 
71     void addToMainLayout(QWidget* const widget);
72 
73 private Q_SLOTS:
74 
75     void slotTextChanged(const QString& text);
76 
77 private:
78 
79     class Private;
80     Private* const d;
81 };
82 
83 } // namespace KIPIPlugins
84 
85 #endif // KPNEWALBUMDIALOG_H
86