1 /* Copyright (C) 2003-2006 Jesper K. Pedersen <blackie@kde.org>
3 This program is free software; you can redistribute it and/or
4 modify it under the terms of the GNU General Public
5 License as published by the Free Software Foundation; either
6 version 2 of the License, or (at your option) any later version.
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program; see the file COPYING. If not, write to
15 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 Boston, MA 02110-1301, USA.
22 #include "ImportSettings.h"
24 #include <KAssistantDialog>
25 #include "ImportMatcher.h"
35 namespace ImportExport
43 * This is the wizard that configures the import process
45 class ImportDialog
:public KAssistantDialog
{
49 ImportDialog( QWidget
* parent
);
50 bool exec( KimFileReader
* kimFileReader
, const QString
& fileName
, const KUrl
& kimFilePath
);
51 ImportSettings
settings();
54 friend class ImageRow
;
57 bool readFile( const QByteArray
& data
, const QString
& fileName
);
58 void createIntroduction();
59 void createImagesPage();
60 void createDestination();
61 void createCategoryPages();
62 ImportMatcher
* createCategoryPage( const QString
& myCategory
, const QString
& otherCategory
);
63 void selectImage( bool on
);
64 DB::ImageInfoList
selectedImages() const;
65 void possiblyAddMD5CheckPage();
68 void slotEditDestination();
69 void updateNextButtonState();
72 void slotSelectNone();
76 void failedToCopy( QStringList files
);
79 DB::ImageInfoList _images
;
80 KLineEdit
* _destinationEdit
;
81 KPageWidgetItem
* _destinationPage
;
82 KPageWidgetItem
* _categoryMatcherPage
;
83 KPageWidgetItem
* _dummy
;
84 ImportMatcher
* _categoryMatcher
;
85 ImportMatchers _matchers
;
86 QList
< ImageRow
* > _imagesSelect
;
92 KimFileReader
* _kimFileReader
;
93 MD5CheckPage
* _md5CheckPage
;