kde-extraapps/ksnapshot/kipiinterface.cpp

94 lines
2.8 KiB
C++

/*
* Copyright (C) 2010 Pau Garcia i Quiles <pgquiles@elpauer.org>
* Essentially a rip-off of code for Kamoso by:
* Copyright (C) 2008-2009 by Aleix Pol <aleixpol@kde.org>
* Copyright (C) 2008-2009 by Alex Fiestas <alex@eyeos.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2 of the License, 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 General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#include "kipiinterface.h"
#include "ksnapshotinfoshared.h"
#include "ksnapshotimagecollectionshared.h"
#include "ksnapshot.h"
#include "kipiimagecollectionselector.h"
#include <libkipi/uploadwidget.h>
#include <libkipi/imagecollectionshared.h>
#include <libkipi/imageinfo.h>
#include <libkipi/imageinfoshared.h>
#include <libkipi/plugin.h>
#include <libkipi/interface.h>
#include <libkipi/pluginloader.h>
#include <libkipi/imagecollection.h>
#include <libkipi/imagecollectionselector.h>
struct KIPIInterfacePrivate {
KSnapshot *ksnapshot;
KIPI::PluginLoader* pluginLoader;
};
KIPIInterface::KIPIInterface(KSnapshot* ksnapshot)
:KIPI::Interface(ksnapshot)
, d(new KIPIInterfacePrivate) {
d->ksnapshot = ksnapshot;
}
KIPIInterface::~KIPIInterface() {
delete d;
}
KIPI::ImageCollection KIPIInterface::currentAlbum() {
return KIPI::ImageCollection(new KSnapshotImageCollectionShared(d->ksnapshot));
}
KIPI::ImageCollection KIPIInterface::currentSelection() {
return KIPI::ImageCollection(new KSnapshotImageCollectionShared(d->ksnapshot));
}
QList<KIPI::ImageCollection> KIPIInterface::allAlbums() {
QList<KIPI::ImageCollection> list;
list << currentSelection();
return list;
}
KIPI::ImageInfo KIPIInterface::info(const KUrl& url) {
return KIPI::ImageInfo(new KSnapshotInfoShared(this,url));
}
bool KIPIInterface::addImage(const KUrl&, QString&)
{
return true;
}
void KIPIInterface::delImage( const KUrl& )
{
}
void KIPIInterface::refreshImages( const KUrl::List& )
{
// TODO Implement?
}
KIPI::ImageCollectionSelector* KIPIInterface::imageCollectionSelector(QWidget *parent) {
return new KIPIImageCollectionSelector(this, parent);
}
KIPI::UploadWidget* KIPIInterface::uploadWidget(QWidget *parent) {
return (new KIPI::UploadWidget(parent));
}
int KIPIInterface::features() const {
return KIPI::HostAcceptNewImages;
}