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

akonadi

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     return;
00041   }
00042   if ( mDestFolder.isValid() ) {
00043     Akonadi::ItemMoveJob *job = new Akonadi::ItemMoveJob( mMessages, mDestFolder, this );
00044     connect( job, SIGNAL(result(KJob*)), this, SLOT(slotMoveResult(KJob*)) );
00045   }
00046   else {
00047     Akonadi::ItemDeleteJob *job = new Akonadi::ItemDeleteJob( mMessages, this );
00048     connect( job, SIGNAL( result( KJob* ) ), this, SLOT( slotMoveResult( KJob* ) ) );
00049   }
00050 }
00051 
00052 void MoveCommand::slotMoveResult(KJob* job)
00053 {
00054   if ( job->error() ) {
00055     // handle errors
00056     Util::showJobError(job);
00057     emitResult( Failed );
00058   }
00059   else
00060     emitResult( OK );
00061 }
00062 
00063 #include "movecommand_p.moc"

akonadi

Skip menu "akonadi"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Modules
  • 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.5
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