Summary: | autocompletion in vector dialogs only works after data has already been opened | ||
---|---|---|---|
Product: | [Applications] kst | Reporter: | Matthew Truch <matt> |
Component: | general | Assignee: | George Staikos <staikos> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | ||
Priority: | NOR | ||
Version First Reported In: | 1.x | ||
Target Milestone: | --- | ||
Platform: | RedHat Enterprise Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Matthew Truch
2003-09-25 04:33:33 UTC
This has been on my TODO list for a while now. I have to get working on it. Subject: kdeextragear-2/kst/kst CVS commit by staikos: Implement auto completion immediately. CCMAIL: 64893-done@bugs.kde.org M +30 -12 kstquickcurvesdialog_i.cpp 1.26 M +2 -2 kstquickcurvesdialog_i.h 1.11 --- kdeextragear-2/kst/kst/kstquickcurvesdialog_i.cpp #1.25:1.26 @@ -24,4 +24,5 @@ #include <qspinbox.h> #include <qlabel.h> +#include <kdebug.h> #include <kfiledialog.h> #include <klocale.h> @@ -49,4 +50,6 @@ KstQuickCurvesDialogI::KstQuickCurvesDia | KFile::LocalOnly); + connect(FileName, SIGNAL(textChanged(const QString&)), this, SLOT(updateCompletion())); + _xaxisCompletion = XAxis->completionObject(); XAxis->setAutoDeleteCompletionObject(true); @@ -65,4 +68,30 @@ void KstQuickCurvesDialogI::showQuickCur +void KstQuickCurvesDialogI::updateCompletion() { + /* put INDEX as a default in the X axis list */ + XAxis->clear(); + YAxis->clear(); + + /* update filename list and fill axes combo boxes */ + KstDataSourcePtr ds = *KST::dataSourceList.findFileName(FileName->url()); + if (!ds) { + ds = KstDataSource::loadSource(FileName->url()); + if (ds) { // FIXME we should eventually make KstDataSource::loadFieldList() + KST::dataSourceList.append(ds); + } + } + + if (ds) { + XAxis->insertStringList(ds->fieldList()); + _xaxisCompletion->insertItems(ds->fieldList()); + YAxis->insertStringList(ds->fieldList()); + _yaxisCompletion->insertItems(ds->fieldList()); + } + + XAxis->setCurrentText("INDEX"); + YAxis->setCurrentText(QString::null); +} + + void KstQuickCurvesDialogI::update() { unsigned int i; @@ -72,20 +101,9 @@ void KstQuickCurvesDialogI::update() { KstVCurveList curves = kstObjectSubList<KstDataObject, KstVCurve>(KST::dataObjectList); - /* put INDEX as a default in the X axis list */ - XAxis->clear(); - YAxis->clear(); - - /* update filename list and fill axes combo boxes */ j = KST::dataSourceList.count() - 1; if (j >= 0) { FileName->setURL(KST::dataSourceList[j]->fileName()); - XAxis->insertStringList(KST::dataSourceList[j]->fieldList()); - _xaxisCompletion->insertItems(KST::dataSourceList[j]->fieldList()); - YAxis->insertStringList(KST::dataSourceList[j]->fieldList()); - _yaxisCompletion->insertItems(KST::dataSourceList[j]->fieldList()); } - - XAxis->setCurrentText("INDEX"); - YAxis->setCurrentText(QString::null); + updateCompletion(); KstRVectorList rvl = kstObjectSubList<KstVector,KstRVector>(KST::vectorList); --- kdeextragear-2/kst/kst/kstquickcurvesdialog_i.h #1.10:1.11 @@ -43,6 +43,6 @@ public slots: bool addPlot(); private slots: - bool apply(bool autolabel); - void apply() { apply(false); } + bool apply(bool autolabel = false); + void updateCompletion(); signals: |