author | eilers <eilers> | 2004-10-25 10:02:52 (UTC) |
---|---|---|
committer | eilers <eilers> | 2004-10-25 10:02:52 (UTC) |
commit | af0556afccb9df439bd826bb6028e05560d2910a (patch) (unidiff) | |
tree | 39a8f735e0d8d13da9c073e0407bae8431dbf138 | |
parent | ed6b09bab91bf21d33ebef1ea49fdb049e10453b (diff) | |
download | opie-af0556afccb9df439bd826bb6028e05560d2910a.zip opie-af0556afccb9df439bd826bb6028e05560d2910a.tar.gz opie-af0556afccb9df439bd826bb6028e05560d2910a.tar.bz2 |
Fixing some problems..
-rw-r--r-- | noncore/tools/pimconverter/converter.cpp | 98 | ||||
-rwxr-xr-x | noncore/tools/pimconverter/converter.h | 2 |
2 files changed, 54 insertions, 46 deletions
diff --git a/noncore/tools/pimconverter/converter.cpp b/noncore/tools/pimconverter/converter.cpp index fa3e714..e8bd475 100644 --- a/noncore/tools/pimconverter/converter.cpp +++ b/noncore/tools/pimconverter/converter.cpp | |||
@@ -71,13 +71,13 @@ void Converter::start_conversion(){ | |||
71 | switch( m_selectedSourceFormat ){ | 71 | switch( m_selectedSourceFormat ){ |
72 | case XML: | 72 | case XML: |
73 | odebug << "XMLSourceDB = " << m_selectedDatabase << "" << oendl; | 73 | odebug << "XMLSourceDB = " << m_selectedDatabase << "" << oendl; |
74 | switch( m_selectedDatabase ){ | 74 | switch( m_selectedDatabase ){ |
75 | case ADDRESSBOOK:{ | 75 | case ADDRESSBOOK:{ |
76 | sourceDB = OPimAccessFactory<OPimContactAccess>::create( OPimGlobal::CONTACTLIST, OPimGlobal::XML, "converter" ); | 76 | sourceDB = OPimAccessFactory<OPimContactAccess>::create( OPimGlobal::CONTACTLIST, OPimGlobal::XML, "converter" ); |
77 | } | 77 | } |
78 | break; | 78 | break; |
79 | case TODOLIST:{ | 79 | case TODOLIST:{ |
80 | sourceDB = OPimAccessFactory<OPimTodoAccess>::create( OPimGlobal::TODOLIST, OPimGlobal::XML, "converter" ); | 80 | sourceDB = OPimAccessFactory<OPimTodoAccess>::create( OPimGlobal::TODOLIST, OPimGlobal::XML, "converter" ); |
81 | }break; | 81 | }break; |
82 | case DATEBOOK:{ | 82 | case DATEBOOK:{ |
83 | sourceDB = OPimAccessFactory<ODateBookAccess>::create( OPimGlobal::DATEBOOK, OPimGlobal::XML, "converter" ); | 83 | sourceDB = OPimAccessFactory<ODateBookAccess>::create( OPimGlobal::DATEBOOK, OPimGlobal::XML, "converter" ); |
@@ -224,43 +224,66 @@ void Converter::closeEvent( QCloseEvent *e ) | |||
224 | e->ignore(); | 224 | e->ignore(); |
225 | return; | 225 | return; |
226 | } | 226 | } |
227 | e->accept(); | 227 | e->accept(); |
228 | } | 228 | } |
229 | 229 | ||
230 | bool Converter::sqliteCopyAndConvert(const QString& src, const QString &dest, QString &cmd) | 230 | bool Converter::sqliteMoveAndConvert( const QString& name, const QString& src, const QString &dest ) |
231 | { | 231 | { |
232 | |||
233 | QMessageBox::information( this, tr( "Pim-Converter" ), | ||
234 | tr( "<qt>Starting to convert the database for %1</qt>" ).arg( name ) ); | ||
235 | |||
236 | |||
237 | bool error = false; | ||
238 | QString cmd; | ||
232 | if (!QFile::exists( src ) ) { | 239 | if (!QFile::exists( src ) ) { |
233 | cmd = tr("No SQLite2 database exists"); | 240 | cmd = tr( "No SQLite2 database could be found!" ); |
234 | return false; | 241 | error = true; |
235 | } | 242 | } |
236 | 243 | ||
237 | if( QFile::exists( dest ) ) { | 244 | if( QFile::exists( dest ) ) { |
238 | cmd = tr("A copy of the SQLite2 exists"); | 245 | cmd = tr( "The database is already converted!" ); |
239 | return false; | 246 | error = true; |
240 | } | 247 | } |
241 | 248 | ||
242 | /* | 249 | |
243 | * Copy it over | 250 | if ( error ){ |
244 | */ | 251 | QMessageBox::critical( this, tr("Pim-Converter"), |
245 | cmd = "cp " + Global::shellQuote(src) + " " + Global::shellQuote(dest); | 252 | tr("<qt>Conversion not possible: \n" |
246 | if( ::system( cmd ) != 0 ) | 253 | "Problem: %1</qt>").arg(cmd) ); |
247 | return false; | 254 | return error; |
255 | } | ||
256 | |||
248 | 257 | ||
249 | /* | 258 | /* |
250 | * Delete it to make place for the new file | 259 | * Move it over |
251 | */ | 260 | */ |
252 | cmd = "rm " + Global::shellQuote(src); | 261 | cmd = "mv " + Global::shellQuote(src) + " " + Global::shellQuote(dest); |
253 | if( ::system( cmd ) != 0 ) | 262 | if( ::system( cmd ) != 0 ){ |
254 | return false; | 263 | error = true; |
264 | } | ||
265 | |||
255 | 266 | ||
256 | /* | 267 | /* |
257 | * Convert it | 268 | * Convert it |
258 | */ | 269 | */ |
259 | cmd = "sqlite " + Global::shellQuote(dest) + " .dump | sqlite3 " + Global::shellQuote(src); | 270 | if ( !error ){ |
260 | return ::system( cmd ) == 0; | 271 | cmd = "sqlite " + Global::shellQuote(dest) + " .dump | sqlite3 " + Global::shellQuote(src); |
272 | if ( ::system( cmd ) != 0 ){ | ||
273 | error = true; | ||
274 | } | ||
275 | } | ||
276 | |||
277 | if ( error ){ | ||
278 | QMessageBox::critical( this, tr("Pim-Converter"), | ||
279 | tr("<qt>An internal error occurred: " | ||
280 | "Converting the database was impossible! " | ||
281 | "Command: '%1' </qt>").arg(cmd) ); | ||
282 | |||
283 | } | ||
261 | } | 284 | } |
262 | 285 | ||
263 | 286 | ||
264 | 287 | ||
265 | void Converter::start_upgrade() | 288 | void Converter::start_upgrade() |
266 | { | 289 | { |
@@ -292,43 +315,28 @@ void Converter::start_upgrade() | |||
292 | "sqlite3 was not accessible! " | 315 | "sqlite3 was not accessible! " |
293 | "Please correct the PATH or install " | 316 | "Please correct the PATH or install " |
294 | "this packages!</qt>") ); | 317 | "this packages!</qt>") ); |
295 | return; | 318 | return; |
296 | } | 319 | } |
297 | 320 | ||
298 | QString src, dest, cmd; | 321 | QString src, dest; |
322 | bool error = false; | ||
323 | |||
299 | src = Global::applicationFileName("addressbook", "addressbook.db" ); | 324 | src = Global::applicationFileName("addressbook", "addressbook.db" ); |
300 | dest = Global::applicationFileName("addressbook", "addressbook.db_v2" ); | 325 | dest = Global::applicationFileName("addressbook", "addressbook.db_v2" ); |
301 | 326 | error = sqliteMoveAndConvert( "Addressbook", src, dest ); | |
302 | if(!sqliteCopyAndConvert(src, dest, cmd)) { | ||
303 | QMessageBox::critical( this, tr("Pim-Converter"), | ||
304 | tr("<qt>An internal error occurred: " | ||
305 | "Converting the addressbook command was impossible! " | ||
306 | "Executed the following command: %1</qt>").arg(cmd) ); | ||
307 | return; | ||
308 | } | ||
309 | 327 | ||
310 | src = Global::applicationFileName("datebook", "datebook.db" ); | 328 | src = Global::applicationFileName("datebook", "datebook.db" ); |
311 | dest = Global::applicationFileName("datebook", "datebook.db_v2" ); | 329 | dest = Global::applicationFileName("datebook", "datebook.db_v2" ); |
312 | if(!sqliteCopyAndConvert(src, dest, cmd)) { | 330 | error = sqliteMoveAndConvert( "Datebook", src, dest ); |
313 | QMessageBox::critical( this, tr("Pim-Converter"), | 331 | |
314 | tr("<qt>An internal error occurred: " | ||
315 | "Converting the datebook command was impossible! " | ||
316 | "Executed the following command: '%1' </qt>").arg(cmd) | ||
317 | ); | ||
318 | return; | ||
319 | } | ||
320 | 332 | ||
321 | src = Global::applicationFileName("todolist", "todolist.db" ); | 333 | src = Global::applicationFileName("todolist", "todolist.db" ); |
322 | dest = Global::applicationFileName("todolist", "todolist.db_v2" ); | 334 | dest = Global::applicationFileName("todolist", "todolist.db_v2" ); |
323 | if(!sqliteCopyAndConvert(src, dest, cmd)) { | 335 | error = sqliteMoveAndConvert( "TodoList", src, dest ); |
324 | QMessageBox::critical( this, tr("Pim-Converter"), | ||
325 | tr("<qt>An internal error occurred: " | ||
326 | "Converting the todolist command was impossible! " | ||
327 | "Executed the following command: '%1' </qt>").arg(cmd) ); | ||
328 | return; | ||
329 | } | ||
330 | 336 | ||
331 | QMessageBox::information( this, tr("Pim-Converter"), | 337 | if ( !error ){ |
332 | tr("Conversion is finished!"), | 338 | QMessageBox::information( this, tr("Pim-Converter"), |
333 | QMessageBox::Ok ); | 339 | tr("Conversion is finished!"), |
340 | QMessageBox::Ok ); | ||
341 | } | ||
334 | } | 342 | } |
diff --git a/noncore/tools/pimconverter/converter.h b/noncore/tools/pimconverter/converter.h index e9035e7..cfd315c 100755 --- a/noncore/tools/pimconverter/converter.h +++ b/noncore/tools/pimconverter/converter.h | |||
@@ -39,11 +39,11 @@ private: | |||
39 | int m_selectedSourceFormat; | 39 | int m_selectedSourceFormat; |
40 | int m_selectedDestFormat; | 40 | int m_selectedDestFormat; |
41 | bool m_criticalState; | 41 | bool m_criticalState; |
42 | 42 | ||
43 | 43 | ||
44 | private: | 44 | private: |
45 | static bool sqliteCopyAndConvert( const QString &src, const QString &destination, QString &lastCommand ); | 45 | bool sqliteMoveAndConvert( const QString& name, const QString &src, const QString &destination ); |
46 | }; | 46 | }; |
47 | 47 | ||
48 | 48 | ||
49 | #endif | 49 | #endif |