[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