[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