clock/clockui/clocksettingsview/src/settingscustomitem.cpp
changeset 55 2c54b51f39c4
parent 45 b6db4fd4947b
child 57 bb2d3e476f29
equal deleted inserted replaced
51:0b38fc5b94c6 55:2c54b51f39c4
   105 			static_cast<HbAbstractViewItem*>(this)->itemView()->model());
   105 			static_cast<HbAbstractViewItem*>(this)->itemView()->model());
   106 	HbDataFormModelItem* modlItem = model->itemFromIndex(modelIndex());
   106 	HbDataFormModelItem* modlItem = model->itemFromIndex(modelIndex());
   107 
   107 
   108 	switch (itemType) {
   108 	switch (itemType) {
   109 		case (TimeItemOffset + HbDataFormModelItem::CustomItemBase):
   109 		case (TimeItemOffset + HbDataFormModelItem::CustomItemBase):
   110 		mTimeWidget->setProperty("text", modlItem->contentWidgetData("text"));
   110 		{
   111 		break;
   111 			mTimeWidget->setProperty(
   112 
   112 					"text", modlItem->contentWidgetData("text"));
       
   113 			mTimeWidget->setProperty(
       
   114 					"objectName", modlItem->contentWidgetData("objectName"));
       
   115 			break;
       
   116 		}
   113 		case (DateItemOffset + HbDataFormModelItem::CustomItemBase):
   117 		case (DateItemOffset + HbDataFormModelItem::CustomItemBase):
   114 		mDateWidget->setProperty("text", modlItem->contentWidgetData("text"));
   118 		{
   115 		break;
   119 			mDateWidget->setProperty(
   116 
   120 					"text", modlItem->contentWidgetData("text"));
       
   121 			mDateWidget->setProperty(
       
   122 					"objectName", modlItem->contentWidgetData("objectName"));
       
   123 			break;
       
   124 		}
   117 		case (PlaceItemOffset + HbDataFormModelItem::CustomItemBase):
   125 		case (PlaceItemOffset + HbDataFormModelItem::CustomItemBase):
   118 		mPlaceWidget->setProperty("text", modlItem->contentWidgetData("text"));
   126 		{
   119 		break;
   127 			mPlaceWidget->setProperty(
       
   128 					"text", modlItem->contentWidgetData("text"));
       
   129 			mPlaceWidget->setProperty(
       
   130 					"objectName", modlItem->contentWidgetData("objectName"));
       
   131 			break;
       
   132 		}
       
   133 		case (RegionalItemOffset + HbDataFormModelItem::CustomItemBase):
       
   134 		{
       
   135 			mRegSettingsWidget->setProperty(
       
   136 					"text", modlItem->contentWidgetData("text"));
       
   137 			mRegSettingsWidget->setProperty(
       
   138 					"objectName", modlItem->contentWidgetData("objectName"));
       
   139 			break;
       
   140 		}
   120 		case (50 + HbDataFormModelItem::CustomItemBase):
   141 		case (50 + HbDataFormModelItem::CustomItemBase):
   121 
   142 		{
   122 		break;
   143 			mWorkdaysWidget->setProperty(
       
   144 					"objectName", modlItem->contentWidgetData("objectName"));
       
   145 			break;
       
   146 		}
   123 		default:
   147 		default:
   124 		break;
   148 		break;
   125 	}
   149 	}
   126 }
   150 }
   127 
   151 
   168 			return mPlaceWidget;
   192 			return mPlaceWidget;
   169 		}
   193 		}
   170 
   194 
   171 		case (RegionalItemOffset + HbDataFormModelItem::CustomItemBase):
   195 		case (RegionalItemOffset + HbDataFormModelItem::CustomItemBase):
   172 		{
   196 		{
   173 			HbPushButton *regSettingsItem = new HbPushButton(this);
   197 			mRegSettingsWidget = new HbPushButton(this);
   174 			regSettingsItem->setText(
       
   175 				QString(hbTrId("txt_clock_button_regional_date_time_settings")));
       
   176 			connect(
   198 			connect(
   177 					regSettingsItem, SIGNAL(clicked()),
   199 					mRegSettingsWidget, SIGNAL(clicked()),
   178 					this, SLOT(launchRegSettingsView()));
   200 					this, SLOT(launchRegSettingsView()));
   179 			return regSettingsItem;
   201 			return mRegSettingsWidget;
   180 		}
   202 		}
   181 
   203 
   182 		case (50 + HbDataFormModelItem::CustomItemBase):
   204 		case (50 + HbDataFormModelItem::CustomItemBase):
   183 		{
   205 		{
   184 			HbListWidget *workdaysItem = new HbListWidget();
   206 			mWorkdaysWidget = new HbListWidget(this);
   185 			workdaysItem->setSelectionMode(HbAbstractItemView::MultiSelection);
   207 			mWorkdaysWidget->setSelectionMode(HbAbstractItemView::MultiSelection);
       
   208 			mWorkdaysWidget->setScrollDirections(0);
       
   209 			mWorkdaysWidget->ungrabGesture(Qt::PanGesture);
       
   210 			
   186 			QItemSelectionModel *model = 0;
   211 			QItemSelectionModel *model = 0;
   187 			model = workdaysItem->selectionModel();
   212 			model = mWorkdaysWidget->selectionModel();
   188 			for (int index = 0; index < mWeekdaysList.count(); ++index) {
   213 			for (int index = 0; index < mWeekdaysList.count(); ++index) {
   189 				workdaysItem->addItem(mWeekdaysList.at(index));
   214 				mWorkdaysWidget->addItem(mWeekdaysList.at(index));
   190 			}
   215 			}
   191 
   216 
   192 			QString workdaysString = workdaysSetting();
   217 			QString workdaysString = workdaysSetting();
   193 			for (int i = 0, index = workdaysString.size() - 1;
   218 			for (int i = 0, index = workdaysString.size() - 1;
   194 					index >= 0; ++i, index--) {
   219 					index >= 0; ++i, index--) {
   203 							model->model()->index(i,0),
   228 							model->model()->index(i,0),
   204 							QItemSelectionModel::Select);
   229 							QItemSelectionModel::Select);
   205 				}
   230 				}
   206 			}
   231 			}
   207 
   232 
   208 			return workdaysItem;
   233 			return mWorkdaysWidget;
   209 		}
   234 		}
   210 
   235 
   211 		default:
   236 		default:
   212 			return 0;
   237 			return 0;
   213 	}
   238 	}
   337 /*!
   362 /*!
   338 	Launches cityselectionlist for timezone selection.
   363 	Launches cityselectionlist for timezone selection.
   339  */
   364  */
   340 void SettingsCustomItem::launchCitySelectionList()
   365 void SettingsCustomItem::launchCitySelectionList()
   341 {
   366 {
   342 	mCitySelectionList = new ClockCitySelectionList(this);
   367 	mCitySelectionList = new ClockCitySelectionList(mTimezoneClient, this);
   343 	connect(
   368 	connect(
   344 			mCitySelectionList, SIGNAL(citySelected(LocationInfo)),
   369 			mCitySelectionList, SIGNAL(citySelected(LocationInfo)),
   345 			this, SLOT(updatePlaceItem(LocationInfo)));
   370 			this, SLOT(updatePlaceItem(LocationInfo)));
   346 
   371 
   347 	mCitySelectionList->showCityList();
   372 	mCitySelectionList->showCityList();