1 | /***************************************************************************** |
2 | * Copyright (C) 2008 by Sebastian Trueg <trueg@kde.org> * |
3 | * Copyright (C) 2009-2010 by Peter Penz <peter.penz@gmx.at> * |
4 | * * |
5 | * This library is free software; you can redistribute it and/or * |
6 | * modify it under the terms of the GNU Library General Public * |
7 | * License as published by the Free Software Foundation; either * |
8 | * version 2 of the License, or (at your option) any later version. * |
9 | * * |
10 | * This library 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 GNU * |
13 | * Library General Public License for more details. * |
14 | * * |
15 | * You should have received a copy of the GNU Library General Public License * |
16 | * along with this library; see the file COPYING.LIB. If not, write to * |
17 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * |
18 | * Boston, MA 02110-1301, USA. * |
19 | *****************************************************************************/ |
20 | |
21 | #ifndef KFILEMETADATAWIDGET_H |
22 | #define KFILEMETADATAWIDGET_H |
23 | |
24 | #include <kio/kio_export.h> |
25 | #include <kfileitem.h> |
26 | |
27 | #include <QList> |
28 | #include <QWidget> |
29 | |
30 | class KUrl; |
31 | |
32 | /** |
33 | * @deprecated since 4.12 use Nepomuk2::FileMetaDataWidget |
34 | * |
35 | * @brief Shows the meta data of one or more file items. |
36 | * |
37 | * Meta data like name, size, rating, comment, ... are |
38 | * shown as several rows containing a description and |
39 | * the meta data value. It is possible for the user |
40 | * to change specific meta data like rating, tags and |
41 | * comment. The changes are stored automatically by the |
42 | * meta data widget. |
43 | * |
44 | * @since 4.5 |
45 | */ |
46 | class KIO_EXPORT_DEPRECATED KFileMetaDataWidget : public QWidget |
47 | { |
48 | Q_OBJECT |
49 | Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly) |
50 | |
51 | public: |
52 | explicit KFileMetaDataWidget(QWidget* parent = 0); |
53 | virtual ~KFileMetaDataWidget(); |
54 | |
55 | /** |
56 | * Sets the items for which the meta data should be shown. |
57 | * The signal metaDataRequestFinished() will be emitted, |
58 | * as soon as the meta data for the items has been received. |
59 | */ |
60 | void setItems(const KFileItemList& items); |
61 | KFileItemList items() const; |
62 | |
63 | /** |
64 | * If set to true, data such as the comment, tag or rating cannot be |
65 | * changed by the user. Per default read-only is disabled. |
66 | */ |
67 | void setReadOnly(bool readOnly); |
68 | bool isReadOnly() const; |
69 | |
70 | /** @see QWidget::sizeHint() */ |
71 | virtual QSize sizeHint() const; |
72 | |
73 | Q_SIGNALS: |
74 | /** |
75 | * Is emitted, if a meta data represents an URL that has |
76 | * been clicked by the user. |
77 | */ |
78 | void urlActivated(const KUrl& url); |
79 | |
80 | /** |
81 | * Is emitted after the meta data has been received for the items |
82 | * set by KFileMetaDataWidget::setItems(). |
83 | * @since 4.6 |
84 | */ |
85 | void metaDataRequestFinished(const KFileItemList& items); |
86 | |
87 | protected: |
88 | virtual bool event(QEvent* event); |
89 | |
90 | private: |
91 | class Private; |
92 | Private* d; |
93 | |
94 | Q_PRIVATE_SLOT(d, void slotLoadingFinished()) |
95 | Q_PRIVATE_SLOT(d, void slotLinkActivated(QString)) |
96 | Q_PRIVATE_SLOT(d, void slotDataChangeStarted()) |
97 | Q_PRIVATE_SLOT(d, void slotDataChangeFinished()) |
98 | }; |
99 | |
100 | #endif |
101 | |