comparison DataController.cpp @ 16:06166d6c083b

Add configuration processing. Cache DB values Add a custom RBTree to save space. Track multiple DB connections properly. More testing. Add ValueExistsException.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Tue, 28 Aug 2012 18:58:02 +0200
parents e60d6caceb62
children 9a1825df8418
comparison
equal deleted inserted replaced
15:199fc63c60c1 16:06166d6c083b
2 #include "DataController.hpp" 2 #include "DataController.hpp"
3 #include "EditDistance.hpp" 3 #include "EditDistance.hpp"
4 #include "MemoryDBLink.hpp" 4 #include "MemoryDBLink.hpp"
5 #include "PermissionException.hpp" 5 #include "PermissionException.hpp"
6 #include "SqliteDBLink.hpp" 6 #include "SqliteDBLink.hpp"
7 #include "ConfigurationProcessing.hpp"
7 8
8 #include <QtCore/QCryptographicHash> 9 #include <QtCore/QCryptographicHash>
9 #include <QtCore/QDateTime> 10 #include <QtCore/QDateTime>
10 #include <QtCore/QDebug> 11 #include <QtCore/QDebug>
11 #include <QtCore/QDir> 12 #include <QtCore/QDir>
444 { 445 {
445 QUrl url = QUrl::fromLocalFile(item->data(0, 32).toString()); 446 QUrl url = QUrl::fromLocalFile(item->data(0, 32).toString());
446 QDesktopServices::openUrl(url); 447 QDesktopServices::openUrl(url);
447 } 448 }
448 449
449
450 void DataController::setup(const QString& dbpath_in, const QString& searchPath_in, bool showGUI) 450 void DataController::setup(const QString& dbpath_in, const QString& searchPath_in, bool showGUI)
451 { 451 {
452 this->showGUI = showGUI; 452 this->showGUI = showGUI;
453 453
454 contextMenu = 0; 454 contextMenu = 0;
458 QString dbpath; 458 QString dbpath;
459 if (dbpath_in.size() > 0) { 459 if (dbpath_in.size() > 0) {
460 dbpath = dbpath_in; 460 dbpath = dbpath_in;
461 } 461 }
462 else { 462 else {
463 dbpath = DB_DEFAULT_LOCATION; 463 dbpath = processSetupVariables(DB_DEFAULT_LOCATION);
464
465 dbpath.replace(QRegExp("^~/"),
466 QString("%1%2").arg(QDesktopServices::storageLocation(QDesktopServices::HomeLocation)).arg(QDir::separator()));
467 } 464 }
468 465
469 #if 1 466 #if 1
470 dblink = new SqliteDBLink(dbpath); 467 dblink = new SqliteDBLink(dbpath);
471 #else 468 #else