File indexing completed on 2025-01-19 03:55:41

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2015-08-01
0007  * Description : new album creation dialog for remote web service.
0008  *
0009  * SPDX-FileCopyrightText: 2010 by Jens Mueller <tschenser at gmx dot de>
0010  * SPDX-FileCopyrightText: 2015 by Shourya Singh Gupta <shouryasgupta at gmail dot com>
0011  * SPDX-FileCopyrightText: 2018 by Thanh Trung Dinh <dinhthanhtrung1996 at gmail dot com>
0012  *
0013  * SPDX-License-Identifier: GPL-2.0-or-later
0014  *
0015  * ============================================================ */
0016 
0017 #ifndef DIGIKAM_WS_NEW_ALBUM_DIALOG_H
0018 #define DIGIKAM_WS_NEW_ALBUM_DIALOG_H
0019 
0020 // Qt includes
0021 
0022 #include <QRadioButton>
0023 #include <QDateTimeEdit>
0024 #include <QDialog>
0025 #include <QLineEdit>
0026 #include <QComboBox>
0027 #include <QCloseEvent>
0028 #include <QGridLayout>
0029 #include <QGroupBox>
0030 #include <QLabel>
0031 #include <QVBoxLayout>
0032 #include <QDialogButtonBox>
0033 
0034 // Local includes
0035 
0036 #include "digikam_export.h"
0037 #include "wsitem.h"
0038 #include "dtextedit.h"
0039 
0040 namespace Digikam
0041 {
0042 
0043 class DIGIKAM_EXPORT WSNewAlbumDialog : public QDialog
0044 {
0045     Q_OBJECT
0046 
0047 public:
0048 
0049     explicit WSNewAlbumDialog(QWidget* const parent, const QString& toolName);
0050     ~WSNewAlbumDialog() override;
0051 
0052     void hideDateTime();
0053     void hideDesc();
0054     void hideLocation();
0055 
0056     QWidget*          getMainWidget()   const;
0057     QGroupBox*        getAlbumBox()     const;
0058 
0059     DTextEdit*        getTitleEdit()    const;
0060     DTextEdit*        getDescEdit()     const;
0061     DTextEdit*        getLocEdit()      const;
0062     QDateTimeEdit*    getDateTimeEdit() const;
0063     QDialogButtonBox* getButtonBox()    const;
0064 
0065     void addToMainLayout(QWidget* const widget);
0066     void setAlbumSuggestion(const QString& title);
0067 
0068 private Q_SLOTS:
0069 
0070     void slotTextChanged();
0071 
0072 protected:
0073 
0074     void getBaseAlbumProperties(WSAlbum& baseAlbum);
0075 
0076 private:
0077 
0078     class Private;
0079     Private* const d;
0080 };
0081 
0082 } // namespace Digikam
0083 
0084 #endif // DIGIKAM_WS_NEW_ALBUM_DIALOG_H