Version: (using KDE Devel) Installed from: Compiled sources Code import should allow the user interface to be updated, not freeze. It should include a progress bar indicating the number of files processed and yet to process.
Inserted a kapp->processEvents() after import of each file but that had a significant hit on speed because of intermittent updates of the list view. So I guess we have a tradeoff between responsiveness and speed here.
Created attachment 15229 [details] Little fix in code import This patch adds some information about the number of processed files in the status bar when importing code, and also sets the document as modified after a code import is made. The C++ importer had repeated code for setting the information in the status bar. It also lacked i18n in one call. The base importer (used by all the other importers) lacked the "Ready" message in the status bar when the import finishes. Both show now also the number of files processed and the total number of file to be processed. When setting the modification of the UML document, an undo action for the import code operation can be created. I'm not sure, but I think that it eats a lot of memory. So the modification can be set, but not adding an undo action. I left the two options so you can decide which one is better.
SVN commit 521213 by okellogg: Apply attachment id=15229 by Daniel Calviño Sánchez with minor refactoring by me to eschew code duplication (make importFiles() non-abstract in ClassImport and pull parseFile() up there.) BUG:93296 M +1 -0 ChangeLog M +17 -0 umbrello/classimport.cpp M +19 -4 umbrello/classimport.h M +9 -22 umbrello/cppimport.cpp M +10 -2 umbrello/cppimport.h M +4 -16 umbrello/nativeimportbase.cpp M +3 -3 umbrello/nativeimportbase.h M +5 -0 umbrello/uml.cpp
Created attachment 15262 [details] Call initialize() in importFiles() method In SVN commit 521213 by okellogg the initialize() call is missed in the beggining of importFiles() method. I don't know if I should have sent this here or directly to the uml-devel mailing list. If I should have done the second, please tell me it to take into consideration for the future.
SVN commit 521850 by okellogg: importFiles(): Add missing call to initialize(). Thanks to Daniel <danxuliu_at_gmail.com> for spotting it. CCBUG:93296 M +1 -0 classimport.cpp --- branches/KDE/3.5/kdesdk/umbrello/umbrello/classimport.cpp #521849:521850 @@ -24,6 +24,7 @@ #include "cppimport.h" void ClassImport::importFiles(QStringList fileList) { + initialize(); UMLDoc *umldoc = UMLApp::app()->getDocument(); uint processedFilesCount = 0; for (QStringList::Iterator fileIT = fileList.begin();