21 // System includes |
21 // System includes |
22 #include <QMap> |
22 #include <QMap> |
23 #include <QHash> |
23 #include <QHash> |
24 #include <HbIcon> |
24 #include <HbIcon> |
25 #include <HbEffect> |
25 #include <HbEffect> |
|
26 #include <QColor> |
26 |
27 |
27 // User includes |
28 // User includes |
28 #include "radiostripbase.h" |
29 #include "radiostripbase.h" |
29 #include "radio_global.h" |
30 #include "radio_global.h" |
|
31 #include "radiowidgetsexport.h" |
30 |
32 |
31 // Forward declarations |
33 // Forward declarations |
32 class RadioUiEngine; |
34 class RadioUiEngine; |
33 class RadioFrequencyItem; |
35 class RadioFrequencyItem; |
34 class RadioStation; |
36 class RadioStation; |
35 class HbPushButton; |
37 class HbPushButton; |
36 class QTimer; |
38 class QTimer; |
37 |
39 |
38 const int KOneHertz = KFrequencyMultiplier; |
|
39 const int KHalfHertz = KOneHertz / 2; |
|
40 const int KOneTabDistance = 15; |
|
41 const uint KOneTabInHz = 0.2 * KOneHertz; |
|
42 const qreal KPixelInHz = KOneTabInHz / KOneTabDistance; |
|
43 //const int KCharWidth = 8; // TODO: Remove hardcoding |
|
44 const int KWidth = KOneTabDistance * 5; |
|
45 const int KHeight = 50; //TODO: Remove hardcoding |
|
46 |
40 |
47 // Class declaration |
41 // Class declaration |
48 class RadioFrequencyStrip : public RadioStripBase |
42 class WIDGETS_DLL_EXPORT RadioFrequencyStrip : public RadioStripBase |
49 { |
43 { |
50 Q_OBJECT |
44 Q_OBJECT |
51 Q_PROPERTY( HbIcon leftButtonIcon READ leftButtonIcon WRITE setLeftButtonIcon ) |
45 Q_PROPERTY( HbIcon leftButtonIcon READ leftButtonIcon WRITE setLeftButtonIcon ) |
52 Q_PROPERTY( HbIcon rightButtonIcon READ rightButtonIcon WRITE setRightButtonIcon ) |
46 Q_PROPERTY( HbIcon rightButtonIcon READ rightButtonIcon WRITE setRightButtonIcon ) |
53 |
47 |
54 friend class RadioFrequencyItem; |
48 friend class RadioFrequencyItem; |
55 |
49 |
56 public: |
50 public: |
57 |
51 |
58 RadioFrequencyStrip( uint minFrequency, |
52 RadioFrequencyStrip( RadioUiEngine* engine = 0 ); |
59 uint maxFrequency, |
|
60 uint stepSize, |
|
61 uint currentFrequency, |
|
62 RadioUiEngine* engine = 0 ); |
|
63 |
53 |
64 void setLeftButtonIcon( const HbIcon& leftButtonIcon ); |
54 void setLeftButtonIcon( const HbIcon& leftButtonIcon ); |
65 HbIcon leftButtonIcon() const; |
55 HbIcon leftButtonIcon() const; |
66 |
56 |
67 void setRightButtonIcon( const HbIcon& rightButtonIcon ); |
57 void setRightButtonIcon( const HbIcon& rightButtonIcon ); |
77 public slots: |
67 public slots: |
78 |
68 |
79 void favoriteChanged( const RadioStation& station ); |
69 void favoriteChanged( const RadioStation& station ); |
80 void stationAdded( const RadioStation& station ); |
70 void stationAdded( const RadioStation& station ); |
81 void stationRemoved( const RadioStation& station ); |
71 void stationRemoved( const RadioStation& station ); |
82 void setFrequency( const uint frequency, int commandSender = 0 ); |
72 void setFrequency( const uint frequency, int reason = 0 ); |
|
73 void setScanningMode( bool isScanning ); |
83 |
74 |
84 signals: |
75 signals: |
85 |
76 |
86 void frequencyChanged( uint frequency, int sender ); // sender is always CommandSender::RadioFrequencyStrip |
77 void frequencyChanged( uint frequency, int sender ); // sender is always CommandSender::RadioFrequencyStrip |
87 void frequencyIsFavorite( bool favorite ); |
78 void frequencyIsFavorite( bool favorite ); |
105 |
96 |
106 // from base class QGraphicsWidget |
97 // from base class QGraphicsWidget |
107 |
98 |
108 void resizeEvent ( QGraphicsSceneResizeEvent* event ); |
99 void resizeEvent ( QGraphicsSceneResizeEvent* event ); |
109 void showEvent( QShowEvent* event ); |
100 void showEvent( QShowEvent* event ); |
|
101 void changeEvent( QEvent* event ); |
110 |
102 |
111 // from base class HbScrollArea |
103 // from base class HbScrollArea |
112 |
104 |
113 void mousePressEvent( QGraphicsSceneMouseEvent* event ); |
105 void mousePressEvent( QGraphicsSceneMouseEvent* event ); |
114 void mouseReleaseEvent( QGraphicsSceneMouseEvent* event ); |
106 void mouseReleaseEvent( QGraphicsSceneMouseEvent* event ); |
162 bool mLocalStation; |
154 bool mLocalStation; |
163 RadioFrequencyItem* mItem; |
155 RadioFrequencyItem* mItem; |
164 |
156 |
165 }; |
157 }; |
166 |
158 |
|
159 RadioUiEngine* mUiEngine; |
|
160 |
167 uint mMinFrequency; |
161 uint mMinFrequency; |
168 |
162 |
169 uint mMaxFrequency; |
163 uint mMaxFrequency; |
170 |
164 |
171 uint mFrequencyStepSize; |
165 uint mFrequencyStepSize; |
172 |
166 |
173 RadioUiEngine* mEngine; |
167 uint mFrequency; |
174 |
168 |
175 QGraphicsPixmapItem* mSelectorImage; |
169 QGraphicsPixmapItem* mSelectorImage; |
176 |
170 |
177 qreal mSeparatorPos; |
171 qreal mSeparatorPos; |
178 |
172 |
179 short mMaxWidth; |
173 short mMaxWidth; |
180 |
174 |
181 qreal mSelectorPos; |
175 qreal mSelectorPos; |
182 |
|
183 uint mFrequency; |
|
184 |
176 |
185 QList<RadioFrequencyItem*> mFrequencyItems; |
177 QList<RadioFrequencyItem*> mFrequencyItems; |
186 |
178 |
187 bool mFavoriteSelected; |
179 bool mFavoriteSelected; |
188 |
180 |