clock/clockui/clockalarmeditor/inc/clockalarmeditor.h
changeset 18 c198609911f9
child 26 a949c2543c15
child 45 b6db4fd4947b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockalarmeditor/inc/clockalarmeditor.h	Fri Apr 16 14:57:40 2010 +0300
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header file for class Clock AlarmEditor.
+*
+*/
+
+#ifndef CLOCKALARMEDITOR_H
+#define CLOCKALARMEDITOR_H
+
+// System includes
+#include <QObject>
+#include <QPointer>
+#include <HbView>
+
+// User includes
+#include "clockalarmeditordefines.h"
+#include "clockdatatypes.h"
+
+// Forward declarations
+class QGraphicsWidget;
+class HbDataForm;
+class HbDataFormModel;
+class HbDataFormModelItem;
+class HbAction;
+class HbDateTimePicker;
+class HbDialog;
+class XQSettingsManager;
+class XQSettingsKey;
+class AlarmClient;
+class TimezoneClient;
+class ClockAlarmCustomItem;
+class QTranslator;
+
+class ClockAlarmEditor : public HbView
+{
+	Q_OBJECT
+
+public:
+	CLOCKALARMEDITOR_EXPORT ClockAlarmEditor(
+			int alarmId = 0, QGraphicsWidget *parent = 0);
+	CLOCKALARMEDITOR_EXPORT virtual ~ClockAlarmEditor();
+
+public:
+	CLOCKALARMEDITOR_EXPORT void showAlarmEditor();
+
+public slots:
+	void handleDoneAction();
+	void handleDeleteAction();
+	void handleDiscardAction();
+	void handleTimeChange(const QString &text);
+	void handleOccurenceChanged(int index);
+	void handleCancelAction();
+	void handleOkAction();
+	void launchTimePicker();
+	void handleAlarmSoundChanged();
+
+signals:
+	void alarmSet();
+
+private:
+	void initModel();
+	void populateModelItems();
+	void initAlarmInfo();
+	void createMenu();
+	void createToolbar();
+	void setAlarm(
+			QString timeInfo, QString descInfo, int repeatType,
+			int alarmDayIndex);
+	QTime getPreviousAlarmTime();
+	void setPreviosAlarmTime(QTime time);
+	void closeAlarmEditor();
+	void displayDSTRollOverNote(AlarmInfo& alarmInfo);
+	void displayRemainingTimeNote(AlarmInfo& alarmInfo);
+	void getDayText(int alarmDay,QString& dayText);
+	int getRemainingSeconds(QDateTime& alarmDateTime);
+
+private:
+	int mAlarmId;
+	bool mAlarmDayItemInserted;
+	QString mTimeFormat;
+
+	HbDataForm *mAlarmEditorForm;
+	HbDataFormModel *mAlarmEditorModel;
+	HbDataFormModelItem *mAlarmTimeItem;
+	HbDataFormModelItem *mAlarmOccurenceItem;
+	HbDataFormModelItem *mAlarmDayItem;
+	HbDataFormModelItem *mAlarmSoundItem;
+	HbDataFormModelItem *mAlarmDescription;
+
+	HbView *mPreviousView;
+	HbAction *mDiscardAction;
+	HbAction *mDeleteAction;
+	HbAction *mDoneAction;
+	HbAction *mOkAction;
+	HbAction *mCancelAction;
+
+	QPointer<HbDialog> mTimePickerDialog;
+
+	XQSettingsManager *mSettingsManager;
+	XQSettingsKey *mPreviosAlarmTime;
+
+	AlarmClient *mAlarmClient;
+	AlarmInfo mAlarmInfo;
+	TimezoneClient *mTimezoneClient;
+	QTranslator *mTranslator;
+};
+
+#endif // CLOCKALARMEDITOR_H
+
+// End of file	--Don't remove this.