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

List:       kde-commits
Subject:    extragear/graphics/kphotoalbum/ImportExport
From:       Jesper Pedersen <blackie () blackie ! dk>
Date:       2008-07-06 22:45:14
Message-ID: 1215384314.434557.24545.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 828907 by blackie:

This completes the ImportDialog refactoring.

 M  +3 -0      ImageRow.h  
 M  +1 -2      Import.cpp  
 M  +1 -21     ImportDialog.cpp  
 M  +6 -6      ImportDialog.h  
 M  +5 -6      ImportHandler.cpp  
 M  +6 -6      ImportHandler.h  
 M  +10 -0     ImportMatcher.h  
 M  +10 -0     ImportSettings.cpp  
 M  +10 -1     ImportSettings.h  


--- trunk/extragear/graphics/kphotoalbum/ImportExport/ImageRow.h #828906:828907
@@ -10,6 +10,9 @@
 class ImportDialog;
 class KimFileReader;
 
+/**
+ * This class represent a single row on the ImageDialog's "select widgets to import" \
page. + */
 class ImageRow :public QObject
 {
     Q_OBJECT
--- trunk/extragear/graphics/kphotoalbum/ImportExport/Import.cpp #828906:828907
@@ -74,11 +74,10 @@
         return;
     }
 
-
     bool ok = dialog.exec( &kimFileReader, fileName, m_kimFileUrl );
 
     if ( ok ) {
-        ImportHandler handler( &dialog );
+        ImportHandler handler;
         handler.exec(dialog.settings(), &kimFileReader);
     }
 
--- trunk/extragear/graphics/kphotoalbum/ImportExport/ImportDialog.cpp #828906:828907
@@ -22,40 +22,26 @@
 #include <kfiledialog.h>
 #include <qlabel.h>
 #include <QHBoxLayout>
-#include <Q3ValueList>
 #include <QGridLayout>
 #include <QPixmap>
 #include <QVBoxLayout>
 #include <QCloseEvent>
-#include <QProgressDialog>
 #include <klocale.h>
 #include <qpushbutton.h>
 #include <qdom.h>
 #include <qfile.h>
-#include <kmessagebox.h>
-#include <kzip.h>
-#include <karchive.h>
 #include <qlayout.h>
 #include <klineedit.h>
 #include <kpushbutton.h>
 #include "Settings/SettingsData.h"
 #include "ImportMatcher.h"
 #include <qcheckbox.h>
-#include "Utilities/Util.h"
-#include "DB/ImageDB.h"
 #include <qimage.h>
-#include "Browser/BrowserWidget.h"
 #include <kstandarddirs.h>
-#include <kurl.h>
-#include <q3progressdialog.h>
-#include <kio/netaccess.h>
-#include <kapplication.h>
 #include <ktoolinvocation.h>
-#include "DB/CategoryCollection.h"
 #include "DB/ImageInfo.h"
 #include "MiniViewer.h"
 #include "XMLDB/Database.h"
-#include <kdebug.h>
 #include <QComboBox>
 #include <QScrollArea>
 #include <KMessageBox>
@@ -77,13 +63,6 @@
 
     _kimFile = kimFileURL;
 
-#ifdef KDAB_TEMPORARILY_REMOVED
-    connect( this, SIGNAL( failedToCopy( QStringList ) ), &m_importHandler, SLOT( \
                aCopyFailed( QStringList ) ) ); // JKP
-#else // KDAB_TEMPORARILY_REMOVED
-    qWarning("Code commented out in ImportDialog::ImportDialog");
-#endif //KDAB_TEMPORARILY_REMOVED
-
-
     QByteArray indexXML = _kimFileReader->indexXML();
     if ( indexXML.isNull() )
         return false;
@@ -426,6 +405,7 @@
     settings.setExternalSource( _externalSource );
     settings.setKimFile( _kimFile );
     settings.setBaseURL( _baseUrl );
+    settings.setImportMatchers( &_matchers );
     return settings;
 }
 
--- trunk/extragear/graphics/kphotoalbum/ImportExport/ImportDialog.h #828906:828907
@@ -23,11 +23,10 @@
 #include "ImportHandler.h"
 #include <kurl.h>
 #include <kio/job.h>
-#include "Utilities/Util.h" // JKP
 #include <QPixmap>
-#include <Q3ValueList>
 #include <QCloseEvent>
 #include <KAssistantDialog>
+#include "ImportMatcher.h"
 
 class KTemporaryFile;
 class KLineEdit;
@@ -43,6 +42,9 @@
 class ImageRow;
 class KimFileReader;
 
+/**
+ * This is the wizard that configures the import process
+ */
 class ImportDialog :public KAssistantDialog {
     Q_OBJECT
 
@@ -51,8 +53,6 @@
     bool exec( KimFileReader* kimFileReader, const QString& fileName, const KUrl& \
kimFilePath );  ImportSettings settings();
 
-    friend class ImportHandler; // JKP
-
 protected:
     friend class ImageRow;
 
@@ -85,11 +85,11 @@
     KPageWidgetItem* _categoryMatcherPage;
     KPageWidgetItem* _dummy;
     ImportMatcher* _categoryMatcher;
-    QList<ImportMatcher*> _matchers;
+    ImportMatchers _matchers;
     QList< ImageRow* > _imagesSelect;
     KTemporaryFile* _tmp;
     bool _externalSource;
-    KUrl _kimFile; //JKP
+    KUrl _kimFile;
     bool _hasFilled;
     QString _baseUrl;
     KimFileReader* _kimFileReader;
--- trunk/extragear/graphics/kphotoalbum/ImportExport/ImportHandler.cpp \
#828906:828907 @@ -8,18 +8,16 @@
 #include <QFile>
 #include <QProgressDialog>
 #include <klocale.h>
-#include "ImportDialog.h"
 #include <kio/netaccess.h>
 #include <kio/jobuidelegate.h>
 #include "MainWindow/Window.h"
 #include <kmessagebox.h>
 #include "DB/ImageDB.h"
-#include <klineedit.h> // JKP
 #include "ImportMatcher.h"
 #include "Browser/BrowserWidget.h"
 
-ImportExport::ImportHandler::ImportHandler( ImportDialog* import )
-    :m_import(import), m_finishedPressed(false), _progress(0), \
_reportUnreadableFiles( true ) +ImportExport::ImportHandler::ImportHandler()
+    : m_finishedPressed(false), _progress(0), _reportUnreadableFiles( true )
 
 {
 }
@@ -88,7 +86,7 @@
     }
 
     if (!succeeded)
-        emit m_import->failedToCopy( tried );
+        aCopyFailed( tried );
 }
 
 bool ImportExport::ImportHandler::copyFilesFromZipFile()
@@ -149,7 +147,8 @@
         DB::ImageDB::instance()->addImages( list );
 
         // Run though the categories
-        for( QList<ImportMatcher*>::Iterator grpIt = m_import->_matchers.begin(); \
grpIt != m_import->_matchers.end(); ++grpIt ) { +        const ImportMatchers* \
matchers = m_settings.importMatchers(); +        for( \
QList<ImportMatcher*>::ConstIterator grpIt = matchers->begin(); grpIt != \
matchers->end(); ++grpIt ) {  QString otherGrp = (*grpIt)->_otherCategory;
             QString myGrp = (*grpIt)->_myCategory;
 
--- trunk/extragear/graphics/kphotoalbum/ImportExport/ImportHandler.h #828906:828907
@@ -11,17 +11,18 @@
 namespace ImportExport {
 class KimFileReader;
 
-class ImportDialog;
-
+/**
+ * This class contains the business logic for the import process
+ */
 class ImportHandler :public QObject
 {
     Q_OBJECT
 
 public:
-    ImportHandler( ImportDialog* import );
+    ImportHandler();
     bool exec( const ImportSettings& settings, KimFileReader* kimFileReader );
 
-public: // JKP
+private:
     void copyFromExternal();
     void copyNextFromExternal();
     bool copyFilesFromZipFile();
@@ -32,8 +33,7 @@
     void aCopyFailed( QStringList files );
     void aCopyJobCompleted( KJob* );
 
-public: // JKP
-    ImportDialog* m_import;
+private:
     Utilities::UniqNameMap m_nameMap;
     bool m_finishedPressed;
     DB::ImageInfoList _pendingCopies;
--- trunk/extragear/graphics/kphotoalbum/ImportExport/ImportMatcher.h #828906:828907
@@ -29,6 +29,9 @@
 namespace ImportExport
 {
 
+/**
+ * This class encaptualte a single row in an ImportMatcher.
+ */
 class CategoryMatch  {
 public:
     CategoryMatch( bool allowNew, const QString& categort, QStringList items, \
QWidget* parent, QGridLayout* grid, int row ); @@ -38,6 +41,11 @@
 };
 
 
+/**
+ * This class is the configuration page for chooseing the matching between
+ * the .kim file and the DB's items (e.g. .kim says People, DB say
+ * Persons).
+ */
 class ImportMatcher :public QScrollArea {
     Q_OBJECT
 
@@ -51,6 +59,8 @@
     QList<CategoryMatch*> _matchers;
 };
 
+typedef QList<ImportMatcher*> ImportMatchers;
+
 }
 
 #endif /* IMPORTMATCHER_H */
--- trunk/extragear/graphics/kphotoalbum/ImportExport/ImportSettings.cpp \
#828906:828907 @@ -49,3 +49,13 @@
 {
     return m_baseURL;
 }
+
+void ImportExport::ImportSettings::setImportMatchers( const ImportMatchers* matchers \
) +{
+    m_importMatchers = matchers;
+}
+
+const ImportExport::ImportMatchers* ImportExport::ImportSettings::importMatchers() \
const +{
+    return m_importMatchers;
+}
--- trunk/extragear/graphics/kphotoalbum/ImportExport/ImportSettings.h #828906:828907
@@ -3,10 +3,15 @@
 
 #include <kurl.h>
 #include "DB/ImageInfoList.h"
-
+#include "ImportMatcher.h"
 namespace ImportExport
 {
 
+/**
+ * The class contains all the data that is transported between the
+ * ImportDialog, and the ImportHandler. The purpose of this class is to
+ * decouple the above two.
+ */
 class ImportSettings
 {
 public:
@@ -25,12 +30,16 @@
     void setBaseURL( const KUrl& url );
     KUrl baseURL() const;
 
+    void setImportMatchers( const ImportMatchers* matchers );
+    const ImportMatchers* importMatchers() const;
+
 private:
     DB::ImageInfoList m_selectedImages;
     QString m_destination;
     bool m_externalSource;
     KUrl m_kimFile;
     KUrl m_baseURL;
+    const ImportMatchers* m_importMatchers;
 };
 
 }


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

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