File indexing completed on 2024-04-14 04:35:07

0001 /*
0002     SPDX-FileCopyrightText: 2013 Vishesh Handa <me@vhanda.in>
0003     SPDX-FileCopyrightText: 2009 Peter Penz <peter.penz@gmx.at>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #ifndef BALOO_FILEMETADATACONFIGWIDGET_H
0009 #define BALOO_FILEMETADATACONFIGWIDGET_H
0010 
0011 #include "widgets_export.h"
0012 #include <KFileItem>
0013 
0014 #include <QWidget>
0015 
0016 #include <memory>
0017 
0018 namespace Baloo
0019 {
0020 #if BALOO_WIDGETS_ENABLE_DEPRECATED_SINCE(23, 8)
0021 class FileMetaDataConfigWidgetPrivate;
0022 
0023 /**
0024  * @brief Widget which allows to configure which meta data should be shown
0025  *        in the FileMetadataWidget
0026  * @deprecated Since 23.08, use FileMetaDataWidget::setConfigurationMode()
0027  *             instead.
0028  */
0029 class BALOO_WIDGETS_EXPORT FileMetaDataConfigWidget : public QWidget
0030 {
0031     Q_OBJECT
0032 
0033 public:
0034     explicit FileMetaDataConfigWidget(QWidget *parent = nullptr);
0035     ~FileMetaDataConfigWidget() override;
0036 
0037     /**
0038      * Sets the items, for which the visibility of the meta data should
0039      * be configured. Note that the visibility of the meta data is not
0040      * bound to the items itself, the items are only used to determine
0041      * which meta data should be configurable. For example when a JPEG image
0042      * is set as item, it will be configurable which EXIF data should be
0043      * shown. If an audio file is set as item, it will be configurable
0044      * whether the artist, album name, ... should be shown.
0045      */
0046     void setItems(const KFileItemList &items);
0047     KFileItemList items() const;
0048 
0049     /**
0050      * Saves the modified configuration.
0051      */
0052     void save();
0053 
0054     /** @see QWidget::sizeHint() */
0055     QSize sizeHint() const override;
0056 
0057 protected:
0058     bool event(QEvent *event) override;
0059 
0060 private:
0061     friend class FileMetaDataConfigWidgetPrivate;
0062     std::unique_ptr<FileMetaDataConfigWidgetPrivate> const d;
0063 
0064     Q_PRIVATE_SLOT(d, void loadMetaData())
0065     Q_PRIVATE_SLOT(d, void slotLoadingFinished())
0066 };
0067 #endif
0068 }
0069 #endif