searchui/stateproviders/searchstateprovider/src/settingswidget.cpp
changeset 16 e918432ddd92
parent 15 df6898e696c6
child 21 708468d5143e
--- a/searchui/stateproviders/searchstateprovider/src/settingswidget.cpp	Mon Jul 26 12:45:04 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/src/settingswidget.cpp	Mon Aug 09 12:23:41 2010 +0530
@@ -15,6 +15,7 @@
  *
  */
 #include "settingswidget.h"
+#include "onlinehandler.h"
 #include <hbdialog.h>
 #include <hbcheckbox.h>
 #include <qgraphicslinearlayout.h>
@@ -38,7 +39,7 @@
 #include <qsqldatabase.h>
 #include <qsqlquery.h>
 #include <cpixcontentinfocommon.h>
-#include "onlinehandler.h"
+
 const char *DELIMETER_DOCML = ":/xml/delimeterscreen.docml";
 const char *DIALOG = "dialog";
 const char *DATAFORM = "dataForm";
@@ -56,14 +57,12 @@
         {
         mDeviceMapping.append(false);
         }
-
     mDeviceCategoryRefList = (QStringList() << "first" << "second" << "third"
             << "fourth" << "fifth" << "sixth" << "seventh" << "eigth");
 
     mchangestate = true;
     mInstialize = true;
     isInternetSelected = false;
-
     storeDefaultSettings();
     }
 //----------------------------------------------------------------------------------------------------------------------------
@@ -83,7 +82,6 @@
         {
         widget = mDocumentLoader->findWidget(DIALOG);
         Q_ASSERT_X(ok && (widget != 0), "DIALOG", "invalid view");
-
         popup = qobject_cast<HbDialog*> (widget);
         }
     if (!dataform)
@@ -100,7 +98,6 @@
         {
         signalMapper = new QSignalMapper(this);
         }
-
     createGui();
     }
 //----------------------------------------------------------------------------------------------------------------------------
@@ -236,6 +233,7 @@
         connect(mradiolist, SIGNAL(itemSelected(int)), this,
                 SLOT(slotitemSelected(int)));
         }
+    setActionVisibility();
     }
 //----------------------------------------------------------------------------------------------------------------------------
 //SettingsWidget::preparecategories()
@@ -244,15 +242,27 @@
 void SettingsWidget::preparecategories()
     {
     // read form database
-    QString mConnectionName("cpixcontentinfo.sq");
-    QString mDatabaseName("c:\\Private\\2001f6fb\\cpixcontentinfo.sq");
+
+    mDeviceListDisplay.clear();
+    mCategoryList.clear();
+    mDeviceMapping.clear();
+    for (int i = 0; i < 8; i++)
+        {
+        mDeviceMapping.append(false);
+        }
+    mCategoryDbMapping.clear();
+
+    QString mConnectionName(QString::fromUtf16(KContentInfoFileName().Ptr(),
+            KContentInfoFileName().Length()));
+    QString mDatabaseName(QString::fromUtf16(KCIDBPath().Ptr(),
+            KCIDBPath().Length()) + "\\" + mConnectionName);
 
     QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", mConnectionName);
     db.setDatabaseName(mDatabaseName);
 
     QSqlQuery query(QSqlDatabase::database(mConnectionName));
-    QString statement = "SELECT NAME FROM table1";
-
+    QString statement = QString("SELECT * FROM ") + QString::fromUtf16(
+            KContentInfoTableName().Ptr(), KContentInfoTableName().Length());
     query.prepare(statement);
     query.exec();
     while (query.next())
@@ -267,7 +277,6 @@
             {
             mCategoryDbMapping.insert(category_name, true);
             }
-        qDebug() << "string db= " << category_name;
         }
     db.close();
 
@@ -283,8 +292,6 @@
      mCategoryDbMapping.insert("Bookmarks", true); 
      mCategoryDbMapping.insert("Files", true); */
 
-    // mCategoryDbMapping.insert("email", true); // to remove once email starts working
-
     mDeviceListDisplay.append(hbTrId("txt_search_list_select_all"));
     mDeviceMapping.insert(0, true);
 
@@ -293,46 +300,39 @@
         mDeviceMapping.insert(1, true);
         mDeviceListDisplay.append(hbTrId("txt_search_list_contatcs"));
         }
-
     if (mCategoryDbMapping.value("Audios") || mCategoryDbMapping.value(
             "Images") || mCategoryDbMapping.value("Videos"))
         {
         mDeviceListDisplay.append(hbTrId("txt_search_list_media"));
         mDeviceMapping.insert(2, true);
         }
-
     if (mCategoryDbMapping.value("Messages") || mCategoryDbMapping.value(
             "email"))
         {
         mDeviceListDisplay.append(hbTrId("txt_search_list_messagemail"));
         mDeviceMapping.insert(3, true);
         }
-
     if (mCategoryDbMapping.value("Calendar") || mCategoryDbMapping.value(
             "Notes"))
         {
         mDeviceListDisplay.append(hbTrId("txt_search_list_calendarnotes"));
         mDeviceMapping.insert(4, true);
         }
-
     if (mCategoryDbMapping.value("Applications"))
         {
         mDeviceListDisplay.append(hbTrId("txt_search_list_applications"));
         mDeviceMapping.insert(5, true);
         }
-
     if (mCategoryDbMapping.value("Bookmarks"))
         {
         mDeviceListDisplay.append(hbTrId("txt_search_list_bookmarks"));
         mDeviceMapping.insert(6, true);
         }
-
     if (mCategoryDbMapping.value("Files"))
         {
         mDeviceListDisplay.append(hbTrId("txt_search_list_all_other_files"));
         mDeviceMapping.insert(7, true);
         }
-    // internetCategoryList = (QStringList() << "Google" << "Bing" << "Yahoo");
 
     if (mServiceProviders.count())
         {
@@ -344,7 +344,6 @@
         mCategoryList = (QStringList() << hbTrId("txt_search_list_device"));
         }
     }
-
 //----------------------------------------------------------------------------------------------------------------------------
 //SettingsWidget::~SettingsWidget()
 //
@@ -352,17 +351,13 @@
 SettingsWidget::~SettingsWidget()
     {
     delete signalMapper;
-    //delete popup;
-    //delete dataform;
     delete mModel;
-    //delete mradiolist;
     mDeviceCheckBoxList.clear();
     mInternetCheckBoxList.clear();
     mModelItemList.clear();
     mActions.clear();
     delete mDocumentLoader;
     delete mInternetHandler;
-    //delete popup;
     }
 //----------------------------------------------------------------------------------------------------------------------------
 //SettingsWidget::launchSettingWidget()
@@ -375,6 +370,17 @@
         initialize();
         mInstialize = false;
         }
+    if (mDeviceListDisplay.count() != 7)
+        {
+        preparecategories();
+        q_currentIndexChanged(mSelectedScope);
+        QDir dir;
+        dir.remove(SETTINGS_INI_PATH);
+        storeDefaultSettings();
+        }
+    // refresh the screen to top     
+    QModelIndex index = mModel->index(0, 0);
+    dataform->scrollTo(index);
     comboBox->setCurrentIndex(mSelectedScope);
     loadDeviceSettings();
     setActionVisibility();
@@ -392,17 +398,21 @@
         if (mDeviceCheckBoxList.at(i)->checkState() == Qt::Checked)
             {
             noItemSelected = false;
+            break;
             }
         }
     if (!isInternetSelected)
         {
         mActions.at(0)->setVisible(true);
-
         if (noItemSelected)
             {
             mActions.at(0)->setVisible(false);
             }
         }
+    else
+        {
+        mActions.at(0)->setVisible(true);
+        }
     }
 //----------------------------------------------------------------------------------------------------------------------------
 //SettingsWidget::itemChecked( int selectedIndex)
@@ -515,10 +525,8 @@
                 appSettings.setValue(mDeviceCategoryRefList.at(i), 0);
                 emit selectedItemCategory(i, false);
                 }
-
             }
         }
-
     }
 //----------------------------------------------------------------------------------------------------------------------------
 //void SettingsWidget::loadBaseSettings()
@@ -547,7 +555,6 @@
             {
             value
                     = appSettings.value(mDeviceCategoryRefList.at(i), 1).toInt();
-
             if (mDeviceMapping.count() && mDeviceCheckBoxList.count()
                     && mDeviceMapping.at(i))
                 {
@@ -564,7 +571,6 @@
             value
                   ? (emit selectedItemCategory(i, true))
                      : (emit selectedItemCategory(i, false));
-
             }
         }
     }
@@ -577,7 +583,6 @@
     loadBaseSettings();
     return isInternetSelected;
     }
-
 //----------------------------------------------------------------------------------------------------------------------------
 //void SettingsWidget::storeDefaultSettings()
 //
@@ -594,15 +599,27 @@
             appSettings.setValue(mDeviceCategoryRefList.at(i), 1);
         }
     }
+//----------------------------------------------------------------------------------------------------------------------------
+//void SettingsWidget::slotproviderDetails()
+//
+//----------------------------------------------------------------------------------------------------------------------------
 void SettingsWidget::slotproviderDetails(QString name, HbIcon icon, int id)
     {
     mServiceProviders.insert(id, name);
     emit ISProvidersIcon(icon, id);
     }
+//----------------------------------------------------------------------------------------------------------------------------
+//void SettingsWidget::slotdefaultProvider()
+//
+//----------------------------------------------------------------------------------------------------------------------------
 void SettingsWidget::slotdefaultProvider(const int value)
     {
     mSelectedProvider = value;
     }
+//----------------------------------------------------------------------------------------------------------------------------
+//void SettingsWidget::slotitemSelected()
+//
+//----------------------------------------------------------------------------------------------------------------------------
 void SettingsWidget::slotitemSelected(int value)
     {
     QMapIterator<int, QString> i(mServiceProviders);
@@ -618,6 +635,10 @@
         selectedindex++;
         }
     }
+//----------------------------------------------------------------------------------------------------------------------------
+//void SettingsWidget::loadIS()
+//
+//----------------------------------------------------------------------------------------------------------------------------
 void SettingsWidget::loadIS()
     {
     if (!mInternetHandler)