diff -r 993ab30e92fc -r 7d8c8d8f5eab searchui/stateproviders/searchstateprovider/src/settingswidget.cpp --- 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 #include #include @@ -38,7 +39,7 @@ #include #include #include -#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 (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 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)