[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdenonbeta/krecipes/src
From: Jason Kivlighn <confederacy2 () excite ! com>
Date: 2004-04-26 0:00:27
Message-ID: 20040426000027.D86629A6E () office ! kde ! org
[Download RAW message or body]
CVS commit by jkivlighn:
Feature Request #939037: Make it easier to import several files at once. Now select \
multiple files from the file dialog and all files will be parsed and imported in one \
go. This required some modifications to the importer API. Also, I've made a few \
other minor import touchups.
M +31 -47 krecipes.cpp 1.58
--- kdenonbeta/krecipes/src/krecipes.cpp #1.57:1.58
@@ -235,23 +235,18 @@ void Krecipes::import()
QString selected_filter = file_dialog.currentFilter();
- QStringList files = file_dialog.selectedFiles();
-
- for ( QStringList::const_iterator it = files.begin(); it != \
files.end(); ++it )
- {
- parsing_file_dlg->show();
BaseImporter *importer;
if ( selected_filter == "*.mxp *.txt" )
- importer = new MXPImporter( *it );
+ importer = new MXPImporter();
else if ( selected_filter == "*.mmf *.txt" )
- importer = new MMFImporter( *it );
+ importer = new MMFImporter();
else if ( selected_filter == "*.txt" )
- importer = new NYCGenericImporter( *it );
+ importer = new NYCGenericImporter();
else if ( selected_filter == "*.mx2" )
- importer = new MX2Importer( *it );
+ importer = new MX2Importer();
else if ( selected_filter == "*.kre *.kreml" )
- importer = new KreImporter( *it );
+ importer = new KreImporter();
else if ( selected_filter == "*.xml *.recipeml" )
- importer = new RecipeMLImporter( *it );
+ importer = new RecipeMLImporter();
else
{
@@ -261,32 +256,19 @@ void Krecipes::import()
i18n("Unrecognized Filter")
);
- parsing_file_dlg->hide();
import(); //let's try again :)
return;
}
+ parsing_file_dlg->show();
+ importer->parseFiles(file_dialog.selectedFiles());
parsing_file_dlg->hide();
- QString error = importer->getErrorMsg();
- if ( !error.isNull() )
- KMessageBox::error( this, QString(i18n("Error \
importing file %1\n%2")).arg(*it).arg(error) );
- else
m_view->import( *importer );
- if ( importer->getWarningMsgs().count() > 0 )
- {
- warnings_list += QString(i18n("The file \"%1\" \
generated the following warnings:")).arg(*it);
- warnings_list += importer->getWarningMsgs();
- }
-
- delete importer;
- }
-
- if ( warnings_list.count() > 0 )
+ if ( !importer->getMessages().isEmpty() )
{
- warnings_list.prepend(i18n("NOTE: We recommend that all \
recipes generating warnings be checked to ensure that they were properly imported, \
and no loss of recipe data has occured."));
-
KTextEdit *warningEdit = new KTextEdit( this );
- warningEdit->setText( warnings_list.join("\n\n") );
+ warningEdit->setTextFormat( Qt::RichText );
+ warningEdit->setText( QString(i18n("NOTE: We recommend that \
all recipes generating warnings be checked to ensure that they were properly \
imported, and no loss of recipe data has occured.<br><br>")) + \
importer->getMessages() ); warningEdit->setReadOnly(true);
@@ -297,4 +279,6 @@ void Krecipes::import()
}
+ delete importer;
+
//TODO: is this the best way to do it???
m_view->selectPanel->reload();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic