--- a/src/hbwidgets/popups/hbselectiondialog_p.cpp Fri Sep 17 08:32:10 2010 +0300
+++ b/src/hbwidgets/popups/hbselectiondialog_p.cpp Mon Oct 04 00:38:12 2010 +0300
@@ -292,7 +292,6 @@
d->close();
}
updateCounter();
- //d->_p_SelectionChanged();
}
@@ -352,7 +351,7 @@
:HbDialogPrivate()
{
bOwnItems = false;
- action1 = action2 = 0;
+// action1 = action2 = 0;
}
HbSelectionDialogPrivate::~HbSelectionDialogPrivate()
@@ -381,6 +380,14 @@
Q_Q(HbSelectionDialog);
if(mSelectionMode == HbAbstractItemView::MultiSelection)
{
+ if(action1){
+ QItemSelectionModel *model = 0;
+ model = selectionModel();
+ if(model->selectedRows().count()==0)
+ action1->setEnabled(false);
+ else
+ action1->setEnabled(true);
+ }
emit q->selectionChanged();
}
}
@@ -389,16 +396,15 @@
{
Q_Q(HbSelectionDialog);
if(selectionMode == HbAbstractItemView::SingleSelection || selectionMode == HbAbstractItemView::NoSelection){
-
if(action1) {
q->disconnect(action1,SIGNAL(triggered()),q,SLOT(accept()));
q->removeAction(action1);
}
if(action2 == NULL){
- action2 =new HbAction(hbTrId("txt_common_button_cancel"),q);
- q->connect(action2,SIGNAL(triggered()),q,SLOT(reject()));
+ action2 =new HbAction(hbTrId("txt_common_button_cancel"),q);
}
if(q->actions().contains(action2) == false){
+ q->connect(action2,SIGNAL(triggered()),q,SLOT(reject()));
q->insertAction(0,action2);
}
}
@@ -406,18 +412,17 @@
if(action2 == NULL){
action2 =new HbAction(hbTrId("txt_common_button_cancel"),q);
+ }
+ if(q->actions().contains(action2) == false){
q->connect(action2,SIGNAL(triggered()),q,SLOT(reject()));
q->insertAction(0,action2);
- }
- if(q->actions().contains(action2) == false)
- q->insertAction(0,action2);
-
+ }
if(action1 == NULL){
action1 =new HbAction(hbTrId("txt_common_button_ok"),q);
+ }
+ if(q->actions().contains(action1) == false)
+ {
q->connect(action1,SIGNAL(triggered()),q,SLOT(accept()));
- }
- if(q->actions().contains(action1) == false)
- {
q->insertAction(q->actions().first(),action1);
}
}