• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.8.3 API Reference
  • 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"
This file is part of the KDE documentation.
Documentation copyright © 1996-2012 The KDE developers.
Generated on Tue May 8 2012 00:00:45 by doxygen 1.8.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

akonadi

Skip menu "akonadi"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Modules
  • Related Pages

kdepimlibs-4.8.3 API Reference

Skip menu "kdepimlibs-4.8.3 API Reference"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kalarmcal
  • 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
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal