• Skip to content
  • Skip to link menu
KDE 4.6 API Reference
  • KDE API Reference
  • KDE-PIM Libraries
  • KDE Home
  • Contact Us
 

akonadi/kmime

movecommand.cpp

00001 /*
00002     Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
00003     Copyright (c) 2010 Andras Mantia <andras@kdab.com>
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Lesser General Public
00007     License as published by the Free Software Foundation; either
00008     version 2.1 of the License, or (at your option) any later version.
00009 
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     Lesser General Public License for more details.
00014 
00015     You should have received a copy of the GNU Lesser General Public
00016     License along with this library; if not, write to the Free Software
00017     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00018 */
00019 
00020 
00021 #include "movecommand_p.h"
00022 #include "util_p.h"
00023 
00024 #include <akonadi/itemmovejob.h>
00025 #include <akonadi/itemdeletejob.h>
00026 
00027 MoveCommand::MoveCommand( const Akonadi::Collection& destFolder,
00028                           const QList<Akonadi::Item> &msgList,
00029                           QObject *parent
00030                         ) : CommandBase( parent )
00031 {
00032   mDestFolder = destFolder;
00033   mMessages = msgList;
00034 }
00035 
00036 void MoveCommand::execute()
00037 {
00038   if ( mMessages.isEmpty() )
00039     emitResult( OK );
00040   if ( mDestFolder.isValid() ) {
00041     Akonadi::ItemMoveJob *job = new Akonadi::ItemMoveJob( mMessages, mDestFolder, this );
00042     connect( job, SIGNAL(result(KJob*)), this, SLOT(slotMoveResult(KJob*)) );
00043   }
00044   else {
00045     Akonadi::ItemDeleteJob *job = new Akonadi::ItemDeleteJob( mMessages, this );
00046     connect( job, SIGNAL( result( KJob* ) ), this, SLOT( slotMoveResult( KJob* ) ) );
00047   }
00048 }
00049 
00050 void MoveCommand::slotMoveResult(KJob* job)
00051 {
00052   if ( job->error() ) {
00053     // handle errors
00054     Util::showJobError(job);
00055     emitResult( Failed );
00056   }
00057   else
00058     emitResult( OK );
00059 }
00060 
00061 #include "movecommand_p.moc"

akonadi/kmime

Skip menu "akonadi/kmime"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  •   richtextbuilders
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.7.3
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal