bookmarksengine/browsercontentdll/src/browsercontentdll.cpp
changeset 7 580d0a0c653c
parent 4 6637b4599484
child 9 1d51612454b5
child 13 8f58c9334c71
equal deleted inserted replaced
4:6637b4599484 7:580d0a0c653c
    23 #include<browsercontentdll.h>
    23 #include<browsercontentdll.h>
    24 #include<QSqlDatabase>
    24 #include<QSqlDatabase>
    25 #include<QSqlQuery>
    25 #include<QSqlQuery>
    26 #include<QSqlError>
    26 #include<QSqlError>
    27 #include<QDebug>
    27 #include<QDebug>
       
    28 
    28 const QString dbLocation="browserContent.db";
    29 const QString dbLocation="browserContent.db";
       
    30 
    29 
    31 
    30 class BrowserContentPrivate {
    32 class BrowserContentPrivate {
    31 BOOKMARKSCLIENT_PUBLIC(BrowserContent)
    33 BOOKMARKSCLIENT_PUBLIC(BrowserContent)
    32 public:
    34 public:
    33     ~BrowserContentPrivate();
    35     ~BrowserContentPrivate();
    66 
    68 
    67 
    69 
    68     if (!sqlDB.open())
    70     if (!sqlDB.open())
    69         return -1;
    71         return -1;
    70     QSqlError error;
    72     QSqlError error;
    71     int  err = ErrGeneral;
       
    72 
    73 
    73     //Check if the table exists, create table only when it's empty 
    74     //Check if the table exists, create table only when it's empty 
    74     QStringList tablelist = sqlDB.tables(QSql::Tables);
    75     QStringList tablelist = sqlDB.tables(QSql::Tables);
    75     if (tablelist.count() == 0) {
    76     if (tablelist.count() == 0) {
    76         QSqlQuery query(sqlDB);
    77         QSqlQuery query(sqlDB);
   516         QSqlQuery query(db);
   517         QSqlQuery query(db);
   517         
   518         
   518     if(atitle.contains("'", Qt::CaseInsensitive))
   519     if(atitle.contains("'", Qt::CaseInsensitive))
   519       atitle.replace(QString("'"), QString("''"));
   520       atitle.replace(QString("'"), QString("''"));
   520  
   521  
   521     QString queryStatement = "SELECT title,url,1 FROM HistoryTable WHERE title LIKE '%" + atitle + "%' OR url LIKE '%" + atitle + "%'" +
   522     QString queryStatement = "SELECT pageTitle,url,1 FROM HistoryTable WHERE pagetitle LIKE '%" + atitle + "%' OR url LIKE '%" + atitle + "%' "+
   522                              " UNION " +
   523     						 " UNION "+
   523                              "SELECT title,url,2 FROM BookMarkTable WHERE title LIKE '%" + atitle + "%' OR url LIKE '%" + atitle + "%'" +
   524     						 "SELECT title,url,2 FROM BookMarkTable WHERE title LIKE '%"+atitle+"%' OR url LIKE '%" + atitle + "%'"+
   524 							 "ORDER BY 3";
   525     						 " ORDER BY 3";
   525 							 
   526          
   526         
       
   527         query.prepare(queryStatement);
   527         query.prepare(queryStatement);
   528         query.exec();
   528         query.exec();
   529         QSqlError error = query.lastError();
   529         QSqlError error = query.lastError();
   530 
   530 
   531         while (query.next()){
   531         while (query.next()){
   628 void BrowserContent::fetchSerializedHistory(QVector<QString> &folders,QMap<QString,QString> &historyData)
   628 void BrowserContent::fetchSerializedHistory(QVector<QString> &folders,QMap<QString,QString> &historyData)
   629 {
   629 {
   630     BOOKMARKSCLIENT_PRIVATEPTR(BrowserContent);
   630     BOOKMARKSCLIENT_PRIVATEPTR(BrowserContent);
   631     QSqlDatabase db = QSqlDatabase::database(priv->m_connectionName);
   631     QSqlDatabase db = QSqlDatabase::database(priv->m_connectionName);
   632     QList<HistoryLeaf*> nodeslist;
   632     QList<HistoryLeaf*> nodeslist;
   633     int i=0;
       
   634     bool dbopen = db.isOpen();
   633     bool dbopen = db.isOpen();
   635     bool ok;
   634     bool ok;
   636     QString history = "";
   635     QString history = "";
   637 
   636 
   638     if (!dbopen) {
   637     if (!dbopen) {
   696     {
   695     {
   697     BOOKMARKSCLIENT_PRIVATEPTR(BrowserContent);
   696     BOOKMARKSCLIENT_PRIVATEPTR(BrowserContent);
   698     QSqlDatabase db = QSqlDatabase::database(priv->m_connectionName);
   697     QSqlDatabase db = QSqlDatabase::database(priv->m_connectionName);
   699 
   698 
   700     bool dbopen = db.isOpen();
   699     bool dbopen = db.isOpen();
   701     int i=0;
       
   702 
   700 
   703     if(dbopen)
   701     if(dbopen)
   704         {
   702         {
   705 
   703 
   706     QSqlQuery query(db);
   704     QSqlQuery query(db);