--- a/searchui/stateproviders/searchstateprovider/src/settingswidget.cpp Tue Jul 06 14:17:22 2010 +0300
+++ b/searchui/stateproviders/searchstateprovider/src/settingswidget.cpp Wed Aug 18 09:49:49 2010 +0300
@@ -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";
@@ -52,19 +53,16 @@
mModel(NULL), mSelectedScope(0), mSelectedProvider(0), comboBox(
NULL), mInternetHandler(NULL)
{
- setSettingsFilePath();
for (int i = 0; i < 8; i++)
{
mDeviceMapping.append(false);
}
-
mDeviceCategoryRefList = (QStringList() << "first" << "second" << "third"
<< "fourth" << "fifth" << "sixth" << "seventh" << "eigth");
mchangestate = true;
mInstialize = true;
isInternetSelected = false;
-
storeDefaultSettings();
}
//----------------------------------------------------------------------------------------------------------------------------
@@ -84,7 +82,6 @@
{
widget = mDocumentLoader->findWidget(DIALOG);
Q_ASSERT_X(ok && (widget != 0), "DIALOG", "invalid view");
-
popup = qobject_cast<HbDialog*> (widget);
}
if (!dataform)
@@ -101,7 +98,6 @@
{
signalMapper = new QSignalMapper(this);
}
-
createGui();
}
//----------------------------------------------------------------------------------------------------------------------------
@@ -237,6 +233,7 @@
connect(mradiolist, SIGNAL(itemSelected(int)), this,
SLOT(slotitemSelected(int)));
}
+ setActionVisibility();
}
//----------------------------------------------------------------------------------------------------------------------------
//SettingsWidget::preparecategories()
@@ -245,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())
@@ -268,7 +277,6 @@
{
mCategoryDbMapping.insert(category_name, true);
}
- qDebug() << "string db= " << category_name;
}
db.close();
@@ -284,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);
@@ -294,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())
{
@@ -345,7 +344,6 @@
mCategoryList = (QStringList() << hbTrId("txt_search_list_device"));
}
}
-
//----------------------------------------------------------------------------------------------------------------------------
//SettingsWidget::~SettingsWidget()
//
@@ -353,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()
@@ -376,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();
@@ -393,18 +398,21 @@
if (mDeviceCheckBoxList.at(i)->checkState() == Qt::Checked)
{
noItemSelected = false;
+ break;
}
}
if (!isInternetSelected)
{
- for (int i = 0; i < mActions.count(); i++)
- popup->removeAction(mActions.at(i));
- popup->addActions(mActions);
+ mActions.at(0)->setVisible(true);
if (noItemSelected)
{
- popup->removeAction(mActions.at(0));
+ mActions.at(0)->setVisible(false);
}
}
+ else
+ {
+ mActions.at(0)->setVisible(true);
+ }
}
//----------------------------------------------------------------------------------------------------------------------------
//SettingsWidget::itemChecked( int selectedIndex)
@@ -489,7 +497,7 @@
void SettingsWidget::storeSettingsToiniFile()
{
- QSettings appSettings(mSettingFileName, QSettings::IniFormat);
+ QSettings appSettings(SETTINGS_INI_PATH, QSettings::IniFormat);
isInternetSelected ? (mSelectedScope = 1) : (mSelectedScope = 0);
appSettings.setValue("selectedcategory", mSelectedScope);
appSettings.setValue("devicecount", mDeviceCategoryRefList.count());
@@ -517,10 +525,8 @@
appSettings.setValue(mDeviceCategoryRefList.at(i), 0);
emit selectedItemCategory(i, false);
}
-
}
}
-
}
//----------------------------------------------------------------------------------------------------------------------------
//void SettingsWidget::loadBaseSettings()
@@ -528,7 +534,7 @@
//----------------------------------------------------------------------------------------------------------------------------
void SettingsWidget::loadBaseSettings()
{
- QSettings appSettings(mSettingFileName, QSettings::IniFormat);
+ QSettings appSettings(SETTINGS_INI_PATH, QSettings::IniFormat);
mSelectedScope = appSettings.value("selectedcategory", 0).toInt();
mSelectedScope ? (isInternetSelected = true) : (isInternetSelected
= false);
@@ -540,7 +546,7 @@
//----------------------------------------------------------------------------------------------------------------------------
void SettingsWidget::loadDeviceSettings()
{
- QSettings appSettings(mSettingFileName, QSettings::IniFormat);
+ QSettings appSettings(SETTINGS_INI_PATH, QSettings::IniFormat);
int value;
if (!isInternetSelected)
{
@@ -549,7 +555,6 @@
{
value
= appSettings.value(mDeviceCategoryRefList.at(i), 1).toInt();
-
if (mDeviceMapping.count() && mDeviceCheckBoxList.count()
&& mDeviceMapping.at(i))
{
@@ -566,7 +571,6 @@
value
? (emit selectedItemCategory(i, true))
: (emit selectedItemCategory(i, false));
-
}
}
}
@@ -579,14 +583,13 @@
loadBaseSettings();
return isInternetSelected;
}
-
//----------------------------------------------------------------------------------------------------------------------------
//void SettingsWidget::storeDefaultSettings()
//
//----------------------------------------------------------------------------------------------------------------------------
void SettingsWidget::storeDefaultSettings()
{
- QSettings appSettings(mSettingFileName, QSettings::IniFormat);
+ QSettings appSettings(SETTINGS_INI_PATH, QSettings::IniFormat);
if (!appSettings.contains("selectedcategory")) // change the settings for the first time only
{
mSelectedScope = 0;
@@ -596,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);
@@ -620,11 +635,10 @@
selectedindex++;
}
}
-void SettingsWidget::setSettingsFilePath()
- {
- mSettingFileName.append(QDir::currentPath());
- mSettingFileName.append(QString("/searchsettings.ini"));
- }
+//----------------------------------------------------------------------------------------------------------------------------
+//void SettingsWidget::loadIS()
+//
+//----------------------------------------------------------------------------------------------------------------------------
void SettingsWidget::loadIS()
{
if (!mInternetHandler)