[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdepim/akregator_port] akregator2/src: Adapt to new ImportFromOpmlJob
From:       Frank Osterfeld <osterfeld () kde ! org>
Date:       2013-01-03 23:03:18
Message-ID: 20130103230318.77754A6091 () git ! kde ! org
[Download RAW message or body]

Git commit ea33d90e8e364d10489e97180df3c9cd1fbb554e by Frank Osterfeld.
Committed on 04/01/2013 at 00:02.
Pushed by osterfeld into branch 'akregator_port'.

Adapt to new ImportFromOpmlJob

The job does the collection creation now on its own.

M  +6    -35   akregator2/src/importfeedlistcommand.cpp
M  +0    -1    akregator2/src/importfeedlistcommand.h

http://commits.kde.org/kdepim/ea33d90e8e364d10489e97180df3c9cd1fbb554e

diff --git a/akregator2/src/importfeedlistcommand.cpp \
b/akregator2/src/importfeedlistcommand.cpp index b8282ff..4f66861 100644
--- a/akregator2/src/importfeedlistcommand.cpp
+++ b/akregator2/src/importfeedlistcommand.cpp
@@ -59,13 +59,10 @@ public:
     void doImport();
     void importFinished( KJob* );
     void collectionDeleted( KJob* );
-    void createNextPendingCollection();
-    void pendingCreateFinished( KJob* );
 
     KUrl url;
     Collection targetCollection;
     Collection parentFolder;
-    Collection::List pendingCollections;
     Session* session;
 };
 
@@ -106,11 +103,12 @@ void ImportFeedListCommand::Private::doImport()
 
     const QString title = i18nc( "Parent folder title for imported RSS feeds", \
"Imported Feeds" );  FeedCollection importedFeeds;
-    importedFeeds.setParentCollection( targetCollection );
+    importedFeeds.setParent( targetCollection.id() );
     importedFeeds.setIsFolder( true );
     importedFeeds.setName( title + KRandom::randomString( 8 ) );
     importedFeeds.setTitle( title );
     importedFeeds.setContentMimeTypes( QStringList() << Collection::mimeType() << \
KRss::Item::mimeType() ); +    importedFeeds.setRights( \
Collection::CanCreateCollection | Collection::CanChangeCollection | \
Collection::CanDeleteCollection );  parentFolder = importedFeeds;
     ImportFromOpmlJob* importJob = new ImportFromOpmlJob( q );
     importJob->setInputFile( url.toLocalFile() );
@@ -132,8 +130,7 @@ void ImportFeedListCommand::Private::importFinished( KJob* j ) {
         deleteJob->start();
     }
     else {
-        pendingCollections = job->collections();
-        createNextPendingCollection();
+      q->emitResult();
     }
 }
 
@@ -141,35 +138,9 @@ void ImportFeedListCommand::Private::collectionDeleted( KJob* \
job ) {  if ( job->error() )
         kDebug() << "Could not delete parent folder" << job->errorString();
     //keep the previous error, so don't overwrite errorText and error
-    q->emitResult();
-}
-
-void ImportFeedListCommand::Private::createNextPendingCollection()
-{
-
-    if ( pendingCollections.isEmpty() ) {
-        EmitResultGuard guard( q );
-        KMessageBox::information( q->parentWidget(), i18n("The feed list was \
                successfully imported." ), i18n("Import Finished") );
-        guard.emitResult();
-        return;
-    }
-
-    const Collection c = pendingCollections.takeFirst();
-    CollectionCreateJob* job = new CollectionCreateJob( c, session );
-    q->connect( job, SIGNAL(result(KJob*)), q, SLOT(pendingCreateFinished(KJob*)) );
-    job->start();
-}
-
-void ImportFeedListCommand::Private::pendingCreateFinished( KJob* j ) {
-    CollectionCreateJob* job = qobject_cast<CollectionCreateJob*>( j );
-    Q_ASSERT( job );
-    if ( job->error() ) {
-        q->setError( Command::SomeError );
-        q->setErrorText( i18n("Could not create collection %1: %2", FeedCollection( \
                job->collection() ).title(), job->errorString() ) );
-        q->emitResult();
-        return;
-    }
-    createNextPendingCollection();
+    EmitResultGuard guard( q );
+    KMessageBox::error( q->parentWidget(), q->errorString(), i18nc("window caption", \
"Import Failed") ); +    guard.emitResult();
 }
 
 ImportFeedListCommand::ImportFeedListCommand( QObject* parent ) : Command( parent ), \
                d( new Private( this ) )
diff --git a/akregator2/src/importfeedlistcommand.h \
b/akregator2/src/importfeedlistcommand.h index d4c75b1..0837787 100644
--- a/akregator2/src/importfeedlistcommand.h
+++ b/akregator2/src/importfeedlistcommand.h
@@ -55,7 +55,6 @@ private:
     Private* const d;
     Q_PRIVATE_SLOT( d, void importFinished( KJob* ) )
     Q_PRIVATE_SLOT( d, void collectionDeleted( KJob* ) )
-    Q_PRIVATE_SLOT( d, void pendingCreateFinished( KJob* ) )
 };
 
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic