clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsview.cpp
changeset 45 b6db4fd4947b
parent 18 c198609911f9
child 57 bb2d3e476f29
equal deleted inserted replaced
23:fd30d51f876b 45:b6db4fd4947b
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description:
    14 * Description:
    15 * Definition file for class ClockSettingsView.
    15 * Definition file for class DateTimeSettingsView.
    16 *
    16 *
    17 */
    17 */
    18 
    18 
       
    19 // System includes
       
    20 #include <QTimer>
       
    21 #include <QDateTime>
       
    22 #include <HbExtendedLocale>
       
    23 #include <cpitemdatahelper.h>
    19 
    24 
    20 #include <hbdataform.h>
    25 // User includes
    21 #include "datetimesettingsview.h"
    26 #include "datetimesettingsview.h"
    22 #include "clocksettingsview.h"
    27 #include "clocksettingsview.h"
       
    28 #include "timezoneclient.h"
    23 
    29 
    24 DateTimeSettingsView::DateTimeSettingsView(QGraphicsItem *parent)
    30 /*!
    25 :CpBaseSettingView(0, parent)
    31 	\class DateTimeSettingsView
       
    32 
       
    33 	This class launches the clock settings view from control panel.
       
    34  */
       
    35 
       
    36 /*!
       
    37 	Constructor.
       
    38 
       
    39 	\param itemDataHelper CpItemDataHelper object.
       
    40 	\param text text to be displayed in first line.
       
    41 	\param description test to be displayed in second line.
       
    42 	\param icon to be displayed.
       
    43 	\param parent Parent of type HbDataFormModelItem
       
    44  */
       
    45 DateTimeSettingsView::DateTimeSettingsView(
       
    46 		CpItemDataHelper &itemDataHelper, const QString &text,
       
    47 		const QString &description, const HbIcon &icon,
       
    48 		const HbDataFormModelItem *parent):
       
    49 		CpSettingFormEntryItemData(
       
    50 				itemDataHelper, text, description, icon, parent)
    26 {
    51 {
    27 	HbDataForm *form = settingForm();
    52 	// Construct the timezone client.
       
    53 	mTimezoneClient = TimezoneClient::getInstance();
       
    54 	connect(
       
    55 			mTimezoneClient, SIGNAL(timechanged()),
       
    56 			this, SLOT(updateDisplayTime()));
    28 
    57 
    29 	if (form) {
    58 	// Start a timer. For updating the displayed time.
    30 		form->setHeading(tr("Date & Time Settings"));
    59 	mTickTimer = new QTimer(this);
    31 
    60 	// Start the Timer for 1 minute.
    32 		ClockSettingsView *settingsView = new ClockSettingsView(this);
    61 	mTickTimer->start(60000 - 1000 * QTime::currentTime().second());
    33 		settingsView->loadSettingsView();
    62 	connect(
    34     }
    63 			mTickTimer, SIGNAL(timeout()),
       
    64 			this, SLOT(updateDisplayTime()));
    35 }
    65 }
    36 
    66 
       
    67 /*!
       
    68 	Destructor.
       
    69  */
    37 DateTimeSettingsView::~DateTimeSettingsView()
    70 DateTimeSettingsView::~DateTimeSettingsView()
    38 {
    71 {
       
    72 	if (mTickTimer) {
       
    73 		mTickTimer->stop();
       
    74 		delete mTickTimer;
       
    75 		mTickTimer = 0;
       
    76 	}
       
    77 	
       
    78 	if (!mTimezoneClient->isNull()) {
       
    79 		mTimezoneClient->deleteInstance();
       
    80 	}
    39 }
    81 }
       
    82 
       
    83 /*!
       
    84 	Launches the clock settings view.
       
    85  */
       
    86 void DateTimeSettingsView::onLaunchView()
       
    87 {
       
    88 	ClockSettingsView *settingsView = new ClockSettingsView(this);
       
    89 	settingsView->loadSettingsView();
       
    90 }
       
    91 
       
    92 /*!
       
    93 	Updates the second line i.e date & time.
       
    94  */
       
    95 void DateTimeSettingsView::updateDisplayTime()
       
    96 {
       
    97 	HbExtendedLocale locale = HbExtendedLocale::system();
       
    98 	QString timeInfo = locale.format(
       
    99 			QTime::currentTime(), r_qtn_time_usual_with_zero);
       
   100 	QString dateinfo = locale.format(
       
   101 			QDate::currentDate(), r_qtn_date_usual_with_zero);
       
   102 	QString displayString;
       
   103 	displayString.append(timeInfo);
       
   104 	displayString.append(" ");
       
   105 	displayString.append(dateinfo);
       
   106 	setDescription(displayString);
       
   107 	// Start the Timer for 1 minute.
       
   108 	mTickTimer->start(60000);
       
   109 }
       
   110 
       
   111 /*!
       
   112 	createSettingView()
       
   113  */
       
   114 CpBaseSettingView *DateTimeSettingsView::createSettingView() const
       
   115 {
       
   116 	return 0;
       
   117 }
       
   118 
       
   119 // End of file	--Don't remove this