]> cloud.milkyroute.net Git - dolphin.git/blob - src/metadatawidget.h
881c23c4233ecdb805b9bf308a27237b2995df07
[dolphin.git] / src / metadatawidget.h
1 /***************************************************************************
2 * Copyright (C) 2007 by Sebastian Trueg <trueg@kde.org> *
3 * *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
8 * *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
18 ***************************************************************************/
19
20 #ifndef METADATA_WIDGET_H
21 #define METADATA_WIDGET_H
22
23 #include <QtGui/QWidget>
24
25 #include <kurl.h>
26
27 namespace Nepomuk {
28 class Tag;
29 }
30
31 class MetaDataWidget : public QWidget
32 {
33 Q_OBJECT
34
35 public:
36 MetaDataWidget(QWidget* parent = 0);
37 virtual ~MetaDataWidget();
38
39 /**
40 * \return true if the KMetaData system could be found and initialized.
41 * false if KMetaData was not available at compile time or if it has not
42 * been initialized properly.
43 */
44 static bool metaDataAvailable();
45
46 public Q_SLOTS:
47 void setFile(const KUrl& url);
48 void setFiles(const KUrl::List& urls);
49
50 signals:
51 /**
52 * This signal gets emitted if the metadata for the set file was changed on the
53 * outside. NOT IMPLEMENTED YET.
54 */
55 void metaDataChanged();
56
57 private Q_SLOTS:
58 void slotCommentChanged(const QString&);
59 void slotRatingChanged(unsigned int rating);
60 void metadataUpdateDone();
61 void slotTagClicked( const Nepomuk::Tag& );
62 void slotLoadingFinished();
63
64 protected:
65 bool eventFilter(QObject* obj, QEvent* event);
66
67 private:
68 class Private;
69 Private* d;
70 };
71
72 #endif