diff --git a/ChangeLog.txt b/ChangeLog.txt index 7fffa005b..cb52a2484 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -28,6 +28,7 @@ - [#487] True dart point always goes to origin when the label is moved. - [#128] New Tool: Slash and Spread. - [#409] New feature: Export measurement file to Excel .csv. +- [#180] New feature: Search field in tape app and dialog Increments. # Version 0.4.5 - [#435] Valentina doesn't change the cursor. diff --git a/src/app/tape/tape.pri b/src/app/tape/tape.pri index a8671ed02..45d4322f4 100644 --- a/src/app/tape/tape.pri +++ b/src/app/tape/tape.pri @@ -12,8 +12,7 @@ SOURCES += \ $$PWD/dialogs/configpages/tapeconfigurationpage.cpp \ $$PWD/dialogs/configpages/tapepathpage.cpp \ $$PWD/dialogs/dialogexporttocsv.cpp \ - $$PWD/vlitepattern.cpp \ - $$PWD/vtablesearch.cpp + $$PWD/vlitepattern.cpp win32-msvc*:SOURCES += $$PWD/stable.cpp @@ -29,8 +28,7 @@ HEADERS += \ $$PWD/dialogs/configpages/tapeconfigurationpage.h \ $$PWD/dialogs/configpages/tapepathpage.h \ $$PWD/dialogs/dialogexporttocsv.h \ - $$PWD/vlitepattern.h \ - $$PWD/vtablesearch.h + $$PWD/vlitepattern.h FORMS += \ $$PWD/tmainwindow.ui \ diff --git a/src/app/valentina/dialogs/dialogincrements.cpp b/src/app/valentina/dialogs/dialogincrements.cpp index c308b3ff4..b13541c62 100644 --- a/src/app/valentina/dialogs/dialogincrements.cpp +++ b/src/app/valentina/dialogs/dialogincrements.cpp @@ -58,14 +58,18 @@ DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *par ui(new Ui::DialogIncrements), data(data), doc(doc), - formulaBaseHeight(0) + formulaBaseHeight(0), + search() { ui->setupUi(this); #if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0) ui->lineEditName->setClearButtonEnabled(true); + ui->lineEditFind->setClearButtonEnabled(true); #endif + search = QSharedPointer(new VTableSearch(ui->tableWidgetIncrement)); + formulaBaseHeight = ui->plainTextEditFormula->height(); qApp->Settings()->GetOsSeparator() ? setLocale(QLocale::system()) : setLocale(QLocale(QLocale::C)); @@ -102,6 +106,9 @@ DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *par connect(ui->lineEditName, &QLineEdit::editingFinished, this, &DialogIncrements::SaveIncrName); connect(ui->plainTextEditDescription, &QPlainTextEdit::textChanged, this, &DialogIncrements::SaveIncrDescription); connect(ui->plainTextEditFormula, &QPlainTextEdit::textChanged, this, &DialogIncrements::SaveIncrFormula); + connect(ui->lineEditFind, &QLineEdit::textEdited, this, &DialogIncrements::Find); + connect(ui->toolButtonFindPrevious, &QToolButton::clicked, this, &DialogIncrements::FindPrevious); + connect(ui->toolButtonFindNext, &QToolButton::clicked, this, &DialogIncrements::FindNext); if (ui->tableWidgetIncrement->rowCount() > 0) { @@ -428,6 +435,8 @@ void DialogIncrements::FullUpdateFromFile() FillLengthsCurves(); FillRadiusesArcs(); FillAnglesCurves(); + + search->RefreshList(ui->lineEditFind->text()); } //--------------------------------------------------------------------------------------------------------------------- @@ -775,6 +784,24 @@ void DialogIncrements::ShowIncrementDetails() } } +//--------------------------------------------------------------------------------------------------------------------- +void DialogIncrements::Find(const QString &term) +{ + search->Find(term); +} + +//--------------------------------------------------------------------------------------------------------------------- +void DialogIncrements::FindPrevious() +{ + search->FindPrevious(); +} + +//--------------------------------------------------------------------------------------------------------------------- +void DialogIncrements::FindNext() +{ + search->FindNext(); +} + //--------------------------------------------------------------------------------------------------------------------- DialogIncrements::~DialogIncrements() { diff --git a/src/app/valentina/dialogs/dialogincrements.h b/src/app/valentina/dialogs/dialogincrements.h index 03a07e8e0..33f6402a5 100644 --- a/src/app/valentina/dialogs/dialogincrements.h +++ b/src/app/valentina/dialogs/dialogincrements.h @@ -31,6 +31,7 @@ #include "../vtools/dialogs/tools/dialogtool.h" #include "../xml/vpattern.h" +#include "../vmisc/vtablesearch.h" class VIndividualMeasurements; class QTableWidget; @@ -72,6 +73,9 @@ private slots: void DeployFormula(); void Fx(); void FullUpdateFromFile(); + void Find(const QString &term); + void FindPrevious(); + void FindNext(); private: Q_DISABLE_COPY(DialogIncrements) @@ -87,6 +91,8 @@ private: int formulaBaseHeight; + QSharedPointer search; + template void FillTable(const QMap &varTable, QTableWidget *table); diff --git a/src/app/valentina/dialogs/dialogincrements.ui b/src/app/valentina/dialogs/dialogincrements.ui index 9f82196e8..6c807b301 100644 --- a/src/app/valentina/dialogs/dialogincrements.ui +++ b/src/app/valentina/dialogs/dialogincrements.ui @@ -39,13 +39,56 @@ QTabWidget::North - 3 + 0 Increments + + + + 0 + + + + + Find: + + + + + + + Search + + + + + + + ... + + + + :/icons/win.icon.theme/16x16/actions/go-previous.png:/icons/win.icon.theme/16x16/actions/go-previous.png + + + + + + + ... + + + + :/icons/win.icon.theme/16x16/actions/go-next.png:/icons/win.icon.theme/16x16/actions/go-next.png + + + + + @@ -230,8 +273,7 @@ - - + .. @@ -245,8 +287,7 @@ - - + .. @@ -620,6 +661,7 @@ + diff --git a/src/libs/vmisc/vmisc.pri b/src/libs/vmisc/vmisc.pri index b75dfda45..fbfb5e6d4 100644 --- a/src/libs/vmisc/vmisc.pri +++ b/src/libs/vmisc/vmisc.pri @@ -10,7 +10,8 @@ SOURCES += \ $$PWD/vcommonsettings.cpp \ $$PWD/vtapesettings.cpp \ $$PWD/commandoptions.cpp \ - $$PWD/qxtcsvmodel.cpp + $$PWD/qxtcsvmodel.cpp \ + $$PWD/vtablesearch.cpp win32-msvc*:SOURCES += $$PWD/stable.cpp @@ -29,7 +30,8 @@ HEADERS += \ $$PWD/vlockguard.h \ $$PWD/vsysexits.h \ $$PWD/commandoptions.h \ - $$PWD/qxtcsvmodel.h + $$PWD/qxtcsvmodel.h \ + $$PWD/vtablesearch.h # Qt's versions # 5.0.0, 5.0.1, 5.0.2 diff --git a/src/app/tape/vtablesearch.cpp b/src/libs/vmisc/vtablesearch.cpp similarity index 100% rename from src/app/tape/vtablesearch.cpp rename to src/libs/vmisc/vtablesearch.cpp diff --git a/src/app/tape/vtablesearch.h b/src/libs/vmisc/vtablesearch.h similarity index 100% rename from src/app/tape/vtablesearch.h rename to src/libs/vmisc/vtablesearch.h