[Kst] [Bug 129101] Can create empty entry in Differentiate Curves Selected list
Andrew Walker
arwalker at sumusltd.com
Tue Jun 13 19:51:34 CEST 2006
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=129101
arwalker sumusltd com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From arwalker sumusltd com 2006-06-13 19:51 -------
SVN commit 551110 by arwalker:
BUG:129101 Do not assume a listbox has a selected entry. Do not equate the current item with being selected.
M +33 -13 kstcurvedifferentiate_i.cpp
--- trunk/extragear/graphics/kst/src/libkstapp/kstcurvedifferentiate_i.cpp #551109:551110
@ -81,6 +81,7 @
}
+
void KstCurveDifferentiateI::updateCurveDifferentiate() {
updateButtons();
}
@ -92,11 +93,25 @
raise();
}
+
void KstCurveDifferentiateI::updateButtons() {
- _remove->setEnabled(selectedListBox->currentItem() >= 0);
- _add->setEnabled(availableListBox->currentItem() >= 0);
+ int i = selectedListBox->currentItem();
+ if (i >= 0 && selectedListBox->isSelected(i)) {
+ _remove->setEnabled(true);
+ } else {
+ _remove->setEnabled(false);
+ }
+
+ i = availableListBox->currentItem();
+ if (i >= 0 && availableListBox->isSelected(i)) {
+ _add->setEnabled(true);
+ } else {
+ _add->setEnabled(false);
+ }
+
_up->setEnabled(selectedListBox->currentItem() > 0);
- _down->setEnabled(selectedListBox->currentItem() < (int)selectedListBox->count() - 1);
+ _down->setEnabled(selectedListBox->currentItem() >= 0 &&
+ selectedListBox->currentItem() < (int)selectedListBox->count() - 1);
}
@ -170,6 +185,7 @
}
}
+
void KstCurveDifferentiateI::getOptions( ) {
_lineColorOrder = selectedListBox->index(selectedListBox->findItem(i18n("Line Color"), ExactMatch));
_pointStyleOrder = selectedListBox->index(selectedListBox->findItem(i18n("Point Style"), ExactMatch));
@ -213,22 +229,26 @
void KstCurveDifferentiateI::upButtonClicked() {
// move item up
int i = selectedListBox->currentItem();
- QString text = selectedListBox->currentText();
- selectedListBox->removeItem(i);
- selectedListBox->insertItem(text, i-1);
- selectedListBox->setSelected(i-1, true);
- updateButtons();
+ if (i != -1) {
+ QString text = selectedListBox->currentText();
+ selectedListBox->removeItem(i);
+ selectedListBox->insertItem(text, i-1);
+ selectedListBox->setSelected(i-1, true);
+ updateButtons();
+ }
}
void KstCurveDifferentiateI::downButtonClicked() {
// move item down
int i = selectedListBox->currentItem();
- QString text = selectedListBox->currentText();
- selectedListBox->removeItem(i);
- selectedListBox->insertItem(text, i+1);
- selectedListBox->setSelected(i+1, true);
- updateButtons();
+ if (i != -1) {
+ QString text = selectedListBox->currentText();
+ selectedListBox->removeItem(i);
+ selectedListBox->insertItem(text, i+1);
+ selectedListBox->setSelected(i+1, true);
+ updateButtons();
+ }
}
More information about the Kst
mailing list