mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-24 02:42:51 +00:00
109 lines
3 KiB
C++
109 lines
3 KiB
C++
/*
|
|
Copyright 2009 Constantin Berzan <exit3219@gmail.com>
|
|
|
|
This library 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 of the License or
|
|
( at your option ) version 3 or, at the discretion of KDE e.V.
|
|
( which shall act as a proxy as in section 14 of the GPLv3 ), any later version.
|
|
|
|
This library 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.
|
|
|
|
You should have received a copy of the GNU Library General Public License
|
|
along with this library; see the file COPYING.LIB. If not, write to
|
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02110-1301, USA.
|
|
*/
|
|
|
|
#include "mtdummyresource.h"
|
|
|
|
#include "configdialog.h"
|
|
#include "settings.h"
|
|
#include "settingsadaptor.h"
|
|
|
|
#include <KWindowSystem>
|
|
#include <KLocale>
|
|
|
|
#include <QtDBus/QDBusConnection>
|
|
|
|
#include <Akonadi/ItemCopyJob>
|
|
|
|
using namespace Akonadi;
|
|
|
|
MTDummyResource::MTDummyResource( const QString &id )
|
|
: ResourceBase( id )
|
|
{
|
|
KGlobal::locale()->insertCatalog( QLatin1String("akonadi_mailtransport_resource") );
|
|
new SettingsAdaptor( Settings::self() );
|
|
QDBusConnection::sessionBus().registerObject( QLatin1String( "/Settings" ),
|
|
Settings::self(), QDBusConnection::ExportAdaptors );
|
|
currentlySending = -1;
|
|
}
|
|
|
|
MTDummyResource::~MTDummyResource()
|
|
{
|
|
}
|
|
|
|
void MTDummyResource::retrieveCollections()
|
|
{
|
|
// we have no collections of our own
|
|
collectionsRetrieved( Collection::List() );
|
|
}
|
|
|
|
void MTDummyResource::retrieveItems( const Akonadi::Collection &collection )
|
|
{
|
|
Q_UNUSED( collection );
|
|
// we have no collections of our own
|
|
Q_ASSERT( false );
|
|
}
|
|
|
|
bool MTDummyResource::retrieveItem( const Akonadi::Item &item, const QSet<QByteArray> &parts )
|
|
{
|
|
Q_UNUSED( item );
|
|
Q_UNUSED( parts );
|
|
// we have no collections of our own
|
|
Q_ASSERT( false );
|
|
return false;
|
|
}
|
|
|
|
void MTDummyResource::aboutToQuit()
|
|
{
|
|
}
|
|
|
|
void MTDummyResource::configure( WId windowId )
|
|
{
|
|
ConfigDialog dlg;
|
|
if ( windowId )
|
|
KWindowSystem::setMainWindow( &dlg, windowId );
|
|
|
|
if ( dlg.exec() ) {
|
|
emit configurationDialogAccepted();
|
|
} else {
|
|
emit configurationDialogRejected();
|
|
}
|
|
}
|
|
|
|
void MTDummyResource::sendItem( const Item &message )
|
|
{
|
|
kDebug() << "id" << message.id();
|
|
Q_ASSERT( currentlySending == -1 );
|
|
currentlySending = message.id();
|
|
ItemCopyJob *job = new ItemCopyJob( message, Collection( Settings::self()->sink() ) );
|
|
connect( job, SIGNAL(result(KJob*)), this, SLOT(jobResult(KJob*)) );
|
|
}
|
|
|
|
void MTDummyResource::jobResult( KJob *job )
|
|
{
|
|
if( job->error() ) {
|
|
itemSent( Item( currentlySending ), TransportFailed, job->errorString() );
|
|
} else {
|
|
itemSent( Item( currentlySending ), TransportSucceeded );
|
|
}
|
|
currentlySending = -1;
|
|
}
|
|
|
|
AKONADI_RESOURCE_MAIN( MTDummyResource )
|
|
|