QList<int> selected_rows;
QModelIndexList selected_indexes = daysList->selectionModel()->selectedRows();
foreach(QModelIndex index, selected_indexes) {
- selected_rows << index.row();
+ // Insert sort
+ int i = 0;
+ const int row = index.row();
+ while(selected_rows.at(i) < row) ++i;
+ selected_rows.insert(i, row);
}
emit selectedDays(selected_rows);
close();
}
void QMaemo5WeekDaysPickWidget::ensureConsistentSelection(QModelIndex index) {
+
qDebug("Received a click");
switch(index.row()) {
case NEVER:
// Select NEVER item
daysList->selectionModel()->select(daysList->model()->index(NEVER, 0), QItemSelectionModel::Select | QItemSelectionModel::Rows);
}
+ } else {
+ // If all days are selected, select EVERY_DAY
+ bool all_days_selected = true;
+ for(int i=MON; i<EVERY_DAY; ++i) {
+ if(!daysList->selectionModel()->isRowSelected(i, daysList->rootIndex())) {
+ all_days_selected = false;
+ break;
+ }
+ }
+ if(all_days_selected)
+ daysList->selectionModel()->select(daysList->model()->index(EVERY_DAY, 0), QItemSelectionModel::Select | QItemSelectionModel::Rows);
}
}
}