16 */ |
16 */ |
17 #include <QGraphicsWidget> |
17 #include <QGraphicsWidget> |
18 |
18 |
19 #include "hbaction.h" |
19 #include "hbaction.h" |
20 #include "hblabel.h" |
20 #include "hblabel.h" |
21 #include "HbDialog.h" |
21 #include "hbdialog.h" |
22 |
22 |
23 HbDialog *HbDialog::currentInstance = 0; |
23 HbDialog *HbDialog::currentInstance = 0; |
24 bool HbDialog::execReturnPrimary = true; |
24 bool HbDialog::execReturnPrimary = true; |
25 bool HbDialog::primaryReturnNull = false; |
25 bool HbDialog::primaryReturnNull = false; |
26 bool HbDialog::secondaryReturnNull = false; |
26 bool HbDialog::secondaryReturnNull = false; |
27 |
27 |
28 HbDialog::HbDialog(QGraphicsItem *parent) : |
28 HbDialog::HbDialog(QGraphicsItem *parent) : |
29 HbWidget(parent), |
29 HbWidget(parent), |
30 mHeadingWidget(0), |
30 mHeadingWidget(0), |
31 mContentWidget(0), |
31 mContentWidget(0), |
32 mPrimaryAction(0), |
|
33 mSecondaryAction(0), |
|
34 mTimeout(NoTimeout), |
32 mTimeout(NoTimeout), |
35 mDismissPolicy(NoDismiss) |
33 mDismissPolicy(NoDismiss) |
36 |
34 |
37 { |
35 { |
38 mMinSize.setHeight(0); |
36 mMinSize.setHeight(0); |
58 { |
54 { |
59 connect(this, SIGNAL(finished(HbAction*)), receiver, SLOT(member)); |
55 connect(this, SIGNAL(finished(HbAction*)), receiver, SLOT(member)); |
60 } |
56 } |
61 if(execReturnPrimary) |
57 if(execReturnPrimary) |
62 { |
58 { |
63 emit finished(mPrimaryAction); |
59 HbAction *action = 0; |
|
60 if(mActions.count() >= 1) |
|
61 { |
|
62 action = mActions[0]; |
|
63 } |
|
64 emit finished(action); |
64 } |
65 } |
65 else |
66 else |
66 { |
67 { |
67 emit finished(mSecondaryAction); |
68 HbAction *action = 0; |
|
69 if(mActions.count() >= 2) |
|
70 { |
|
71 action = mActions[1]; |
|
72 } |
|
73 emit finished(action); |
68 } |
74 } |
69 if(receiver && member) |
75 if(receiver && member) |
70 { |
76 { |
71 disconnect(this, SIGNAL(finished(HbAction*)), receiver, SLOT(member)); |
77 disconnect(this, SIGNAL(finished(HbAction*)), receiver, SLOT(member)); |
72 } |
78 } |
79 |
85 |
80 void HbDialog::setTimeout(HbDialog::DefaultTimeout timeout) |
86 void HbDialog::setTimeout(HbDialog::DefaultTimeout timeout) |
81 { |
87 { |
82 mTimeout = timeout; |
88 mTimeout = timeout; |
83 } |
89 } |
84 |
90 |
85 void HbDialog::setHeadingWidget(QGraphicsWidget *headingWidget) |
91 void HbDialog::setHeadingWidget(QGraphicsWidget *headingWidget) |
86 { |
92 { |
87 mHeadingWidget = headingWidget; |
93 mHeadingWidget = headingWidget; |
88 } |
94 } |
89 |
95 |
90 void HbDialog::setContentWidget(QGraphicsWidget *contentWidget) |
96 void HbDialog::setContentWidget(QGraphicsWidget *contentWidget) |
91 { |
97 { |
92 mContentWidget = contentWidget; |
98 mContentWidget = contentWidget; |
93 } |
99 } |
94 |
100 |
95 void HbDialog::setPrimaryAction(HbAction *action) |
|
96 { |
|
97 mPrimaryAction = action; |
|
98 } |
|
99 |
|
100 HbAction* HbDialog::primaryAction() |
|
101 { |
|
102 if(primaryReturnNull) |
|
103 { |
|
104 return 0; |
|
105 } |
|
106 return mPrimaryAction; |
|
107 } |
|
108 |
|
109 void HbDialog::setSecondaryAction(HbAction *action) |
|
110 { |
|
111 mSecondaryAction = action; |
|
112 } |
|
113 |
|
114 HbAction* HbDialog::secondaryAction() |
|
115 { |
|
116 if(secondaryReturnNull) |
|
117 { |
|
118 return 0; |
|
119 } |
|
120 return mSecondaryAction; |
|
121 } |
|
122 |
|
123 void HbDialog::addAction(HbAction *action) |
101 void HbDialog::addAction(HbAction *action) |
124 { |
102 { |
125 mActions.append(action); |
103 mActions.append(action); |
126 } |
104 } |
127 |
105 |
128 void HbDialog::setMinimumSize(QSize size) |
106 void HbDialog::setMinimumSize(QSize size) |
129 { |
107 { |
130 mMinSize.setHeight(size.height()); |
108 mMinSize.setHeight(size.height()); |
131 mMinSize.setWidth(size.width()); |
109 mMinSize.setWidth(size.width()); |
132 } |
110 } |
134 void HbDialog::setMaximumSize(QSize size) |
112 void HbDialog::setMaximumSize(QSize size) |
135 { |
113 { |
136 mMaxSize.setHeight(size.height()); |
114 mMaxSize.setHeight(size.height()); |
137 mMaxSize.setWidth(size.width()); |
115 mMaxSize.setWidth(size.width()); |
138 } |
116 } |
139 |
|
140 HbAction* HbDialog::exec() |
|
141 { |
|
142 if(execReturnPrimary) |
|
143 { |
|
144 return mPrimaryAction; |
|
145 } |
|
146 return mSecondaryAction; |
|
147 } |
|