summaryrefslogtreecommitdiffstats
path: root/libkipi/libkipi/interface.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-17 18:57:42 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-17 18:57:42 +0000
commit82f79e1df065b59b8c17017d676206be30397bc6 (patch)
treea7d5680cbb2341001d69b66b502ef4cd9664abdc /libkipi/libkipi/interface.h
downloadlibkipi-82f79e1df065b59b8c17017d676206be30397bc6.tar.gz
libkipi-82f79e1df065b59b8c17017d676206be30397bc6.zip
Added old KDE3 version of libkipi
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/libraries/libkipi@1076200 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'libkipi/libkipi/interface.h')
-rw-r--r--libkipi/libkipi/interface.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/libkipi/libkipi/interface.h b/libkipi/libkipi/interface.h
new file mode 100644
index 0000000..dfccf08
--- /dev/null
+++ b/libkipi/libkipi/interface.h
@@ -0,0 +1,94 @@
+/* ============================================================
+ * File : interface.h
+ * Authors: KIPI team developers (see AUTHORS files for details)
+ *
+ * Date : 2004-02
+ * Description :
+ *
+ * Copyright 2004 by the KIPI team
+ *
+ * This program is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU Library General
+ * Public License as published by the Free Software Foundation;
+ * either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details.
+ *
+ * ============================================================ */
+
+/** @file interface.h */
+#ifndef KIPI_INTERFACE_H
+#define KIPI_INTERFACE_H
+
+// Qt includes.
+
+#include <qstring.h>
+#include <qobject.h>
+
+// KDE includes.
+
+#include <kurl.h>
+
+// Local includes.
+
+#include "libkipi/imagecollection.h"
+#include "libkipi/imageinfo.h"
+#include "libkipi/libkipi_export.h"
+
+/** @namespace KIPI */
+namespace KIPI
+{
+ enum Features {
+ AlbumsHaveComments = 1 << 0,
+ ImagesHasComments = 1 << 1,
+ ImagesHasTime = 1 << 2,
+ SupportsDateRanges = 1 << 3,
+ AcceptNewImages = 1 << 4,
+ ImageTitlesWritable = 1 << 5,
+ AlbumsHaveCategory = 1 << 6,
+ AlbumsHaveCreationDate = 1 << 7,
+ AlbumsUseFirstImagePreview = 1 << 8,
+ HostSupportsTags = 1 << 9
+ };
+
+ /** class Interface */
+ class LIBKIPI_EXPORT Interface : public QObject
+ {
+ Q_OBJECT
+
+ public:
+ Interface(QObject *parent, const char *name=0);
+ virtual ~Interface();
+
+ virtual ImageCollection currentAlbum() = 0;
+ virtual ImageCollection currentSelection() = 0;
+ virtual QValueList<ImageCollection> allAlbums() = 0;
+
+ virtual ImageInfo info( const KURL& ) = 0;
+ virtual bool addImage( const KURL&, QString& err );
+ virtual void delImage( const KURL& );
+
+ virtual void refreshImages( const KURL::List& );
+
+ virtual QString fileExtensions();
+
+ bool hasFeature( KIPI::Features feature );
+
+ protected:
+ virtual int features() const = 0;
+
+ private:
+ friend class PluginLoader;
+ bool hasFeature( const QString& feature );
+
+ signals:
+ void selectionChanged( bool hasSelection );
+ void currentAlbumChanged( bool anyAlbum );
+ };
+}
+
+#endif /* KIPI_INTERFACE_H */