[Kst] extragear/graphics/kst/src/widgets
George Staikos
staikos at kde.org
Wed Mar 7 08:05:18 CET 2007
We're in full freeze! Please post your patches to the list for
review first.
A quick review seems to indicate that it's fine to me.
On 6-Mar-07, at 12:18 PM, Eli Fidler wrote:
> SVN commit 640094 by fidler:
>
> fixed string editing and creation
>
> this should fix the remaining issues in bug 120772
>
>
> M +35 -46 stringselector.ui.h
>
>
> --- trunk/extragear/graphics/kst/src/widgets/stringselector.ui.h
> #640093:640094
> @@ -16,7 +16,6 @@
> connect(_newString, SIGNAL(clicked()), this, SLOT
> (createNewString()));
> connect(_editString, SIGNAL(clicked()), this, SLOT(editString
> ()));
> connect(_string, SIGNAL(activated(const QString&)), this,
> SIGNAL(selectionChanged(const QString&)));
> - connect(_string, SIGNAL(textChanged(const QString&)), this,
> SIGNAL(selectionChanged(const QString&)));
> connect(this, SIGNAL(selectionChanged(const QString&)), this,
> SLOT(selectionWatcher(const QString&)));
> }
>
> @@ -56,8 +55,14 @@
> qHeapSort(strings);
> _string->insertStringList(strings);
> if (found) {
> - _string->setCurrentText(prev);
> + if (_string->currentText() != prev) {
> + _string->setCurrentText(prev);
> + }
> }
> +
> + if (!_string->currentText().isNull()) {
> + selectionWatcher(_string->currentText());
> + }
>
> blockSignals(false);
> }
> @@ -66,30 +71,19 @@
> {
> StringEditor *se = new StringEditor(this, "string editor");
>
> - int rc = se->exec();
> - if (rc == QDialog::Accepted) {
> - bool ok = false;
> - double val = se->_value->text().toFloat(&ok);
> -
> - if (!ok) {
> - val = Equation::interpret(se->_value->text().latin1(), &ok);
> + int rc = se->exec();
> + if (rc == QDialog::Accepted) {
> + KstStringPtr s = new KstString(KstObjectTag(se->_name->text(),
> KstObjectTag::globalTagContext), 0L, se->_value->text());
> +
> + s->setOrphan(true);
> + s->setEditable(true);
> + emit newStringCreated();
> + update();
> + setSelection(s);
> + _editString->setEnabled(true);
> }
>
> - if (ok) {
> - KstStringPtr s = new KstString(KstObjectTag(se->_name-
> >text(), KstObjectTag::globalTagContext), 0L);
> -
> - s->setOrphan(true);
> - s->setEditable(true);
> - emit newStringCreated();
> - update();
> - setSelection(s);
> - _editString->setEnabled(true);
> - } else {
> - KMessageBox::sorry(this, tr("Error saving your new
> string."), tr("Kst"));
> - }
> - }
> -
> - delete se;
> + delete se;
> }
>
> void StringSelector::selectString()
> @@ -103,7 +97,7 @@
> }
> selection->sort();
> int rc = selection->exec();
> - if (rc == QDialog::Accepted) {
> + if (rc == QDialog::Accepted && _string->currentText() !=
> selection->selected()) {
> _string->setCurrentText(selection->selected());
> }
>
> @@ -124,28 +118,23 @@
>
> int rc = se->exec();
> if (rc == QDialog::Accepted) {
> - bool ok = false;
> - QString val = se->_value->text();
> + QString val = se->_value->text();
>
> - if (ok) {
> - KstStringPtr p = *KST::stringList.findTag(se->_name-
> >text());
> - if (p) {
> - p->setValue(val);
> - setSelection(p);
> - } else {
> - p = new KstString(KstObjectTag(se->_name->text(),
> KstObjectTag::globalTagContext), 0L, val);
> + KstStringPtr p = *KST::stringList.findTag(se->_name->text());
> + if (p) {
> + p->setValue(val);
> + setSelection(p);
> + } else {
> + p = new KstString(KstObjectTag(se->_name->text(),
> KstObjectTag::globalTagContext), 0L, val);
>
> - p->setOrphan(true);
> - p->setEditable(true);
> - emit newStringCreated();
> - update();
> - setSelection(p);
> - _editString->setEnabled(true);
> - }
> - } else {
> - KMessageBox::sorry(this, tr("Error saving your new
> string."), tr("Kst"));
> - }
> - }
> + p->setOrphan(true);
> + p->setEditable(true);
> + emit newStringCreated();
> + update();
> + setSelection(p);
> + _editString->setEnabled(true);
> + }
> + }
>
> delete se;
> }
> @@ -167,7 +156,7 @@
>
> void StringSelector::setSelection( const QString & tag )
> {
> - if (tag.isEmpty()) {
> + if (tag.isEmpty() || _string->currentText() == tag) {
> return;
> }
> blockSignals(true);
> _______________________________________________
> Kst mailing list
> Kst at kde.org
> https://mail.kde.org/mailman/listinfo/kst
--
George Staikos
KDE Developer http://www.kde.org/
Staikos Computing Services Inc. http://www.staikos.net/
More information about the Kst
mailing list