clock/clockui/clockviews/src/clockalarmlistitemprototype.cpp
changeset 45 b6db4fd4947b
parent 18 c198609911f9
child 57 bb2d3e476f29
equal deleted inserted replaced
23:fd30d51f876b 45:b6db4fd4947b
    15 * Definition file for class ClockAlarmListItemPrototype.
    15 * Definition file for class ClockAlarmListItemPrototype.
    16 *
    16 *
    17 */
    17 */
    18 
    18 
    19 // System includes
    19 // System includes
    20 #include <QDebug>
       
    21 #include <HbPushButton>
    20 #include <HbPushButton>
    22 
    21 
    23 // User includes
    22 // User includes
    24 #include "clockalarmlistitemprototype.h"
    23 #include "clockalarmlistitemprototype.h"
    25 #include "clockdatatypes.h"
    24 #include "clockdatatypes.h"
    35 	Default constructor.
    34 	Default constructor.
    36 
    35 
    37 	\parent of type QGraphicsItem.
    36 	\parent of type QGraphicsItem.
    38  */
    37  */
    39 ClockAlarmListItemPrototype::ClockAlarmListItemPrototype(QGraphicsItem *parent)
    38 ClockAlarmListItemPrototype::ClockAlarmListItemPrototype(QGraphicsItem *parent)
    40 :HbListViewItem(parent),
    39 :HbListViewItem(parent)
    41  mParent(parent),
       
    42  malarmIconItem(0)
       
    43 {
    40 {
    44 	// Nothing yet.
    41 	// Nothing yet.
    45 }
    42 }
    46 
    43 
    47 /*!
    44 /*!
    66 	if (alarmIconRole.isValid()) {
    63 	if (alarmIconRole.isValid()) {
    67 		if (alarmIconRole.canConvert<QString> ()) {
    64 		if (alarmIconRole.canConvert<QString> ()) {
    68 			QString alarmIconPath = alarmIconRole.toString();
    65 			QString alarmIconPath = alarmIconRole.toString();
    69 			if (!malarmIconItem) {
    66 			if (!malarmIconItem) {
    70 				malarmIconItem = new HbPushButton(this);
    67 				malarmIconItem = new HbPushButton(this);
    71 				HbStyle::setItemName(malarmIconItem,
    68 				HbStyle::setItemName(
    72 				                     QLatin1String("alarmIconItem"));
    69 						malarmIconItem, QLatin1String("alarmIconItem"));
    73 				connect(
    70 				connect(
    74 						malarmIconItem, SIGNAL(clicked()),
    71 						malarmIconItem, SIGNAL(clicked()),
    75 						this, SLOT(handleAlarmStatusChanged()));
    72 						this, SLOT(handleAlarmStatusChanged()));
    76 				if (mParent) {
       
    77 					connect(
       
    78 							this,
       
    79 							SIGNAL(alarmStatusHasChanged(int)),
       
    80 							qobject_cast<ClockMainView*>(
       
    81 									static_cast<QGraphicsWidget*>(mParent)),
       
    82 							SLOT(handleAlarmStatusChanged(int)));
       
    83 				}
       
    84 			}
    73 			}
    85 			malarmIconItem->setIcon(alarmIconPath);
    74 			malarmIconItem->setIcon(alarmIconPath);
    86 		}
    75 		}
    87 	}
    76 	}
    88 }
    77 }
    92 
    81 
    93 	\return AlarmListItemPrototype* Pointer to the constructed view item.
    82 	\return AlarmListItemPrototype* Pointer to the constructed view item.
    94  */
    83  */
    95 ClockAlarmListItemPrototype *ClockAlarmListItemPrototype::createItem()
    84 ClockAlarmListItemPrototype *ClockAlarmListItemPrototype::createItem()
    96 {
    85 {
    97 	return new ClockAlarmListItemPrototype(mParent);
    86 	return new ClockAlarmListItemPrototype(*this);
    98 }
    87 }
    99 
    88 
   100 /*!
    89 /*!
   101 	SLOT which handles when the alarm push button is pressed.
    90 	SLOT which handles when the alarm push button is pressed.
   102  */
    91  */
   103 void ClockAlarmListItemPrototype::handleAlarmStatusChanged()
    92 void ClockAlarmListItemPrototype::handleAlarmStatusChanged()
   104 {
    93 {
   105 	int row = modelIndex().row();
    94 	int row = modelIndex().row();
   106 	emit alarmStatusHasChanged(row);
    95 	emit static_cast<ClockAlarmListItemPrototype*>(
       
    96 			prototype())->alarmStatusHasChanged(row);
   107 }
    97 }
   108 
    98 
   109 // End of file	--Don't remove this.
    99 // End of file	--Don't remove this.