diff --git a/ChangeLog.txt b/ChangeLog.txt index 5264a8e92..5293fe92c 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,5 +1,7 @@ # Version 0.5.0 - [#505] New installer script based on Inno Setup 5. +- Size of preferences dialog in both Valentina and Tape app is now preserved between sessions +- [#479] Preferences dialog is now extendable and when it is opened again, it will be resized to its previous size. - [#508] Settings saved to INI files in different folders. - [#193] Undeletable zombie arc objects. - New feature. Groups. @@ -27,6 +29,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/dialogs/tapeconfigdialog.cpp b/src/app/tape/dialogs/tapeconfigdialog.cpp index cb489ee24..cf60198e1 100644 --- a/src/app/tape/dialogs/tapeconfigdialog.cpp +++ b/src/app/tape/dialogs/tapeconfigdialog.cpp @@ -89,11 +89,12 @@ TapeConfigDialog::TapeConfigDialog(QWidget *parent) QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(horizontalLayout); - mainLayout->addStretch(1); mainLayout->addSpacing(12); mainLayout->addLayout(buttonsLayout); setLayout(mainLayout); + mainLayout->setStretch(0, 1); + setWindowTitle(tr("Config Dialog")); qApp->TapeSettings()->GetOsSeparator() ? setLocale(QLocale::system()) : setLocale(QLocale(QLocale::C)); @@ -147,12 +148,30 @@ void TapeConfigDialog::showEvent(QShowEvent *event) } // do your init stuff here - setMaximumSize(size()); setMinimumSize(size()); + QSize sz = qApp->Settings()->GetPreferenceDialogSize(); + if (sz.isEmpty() == false) + { + resize(sz); + } + isInitialized = true;//first show windows are held } +//--------------------------------------------------------------------------------------------------------------------- +void TapeConfigDialog::resizeEvent(QResizeEvent *event) +{ + Q_UNUSED(event); + // remember the size for the next time this dialog is opened, but only + // if widget was already initialized, which rules out the resize at + // dialog creating, which would + if (isInitialized == true) + { + qApp->Settings()->SetPreferenceDialogSize(size()); + } +} + //--------------------------------------------------------------------------------------------------------------------- void TapeConfigDialog::createIcons() { diff --git a/src/app/tape/dialogs/tapeconfigdialog.h b/src/app/tape/dialogs/tapeconfigdialog.h index b88a8c83f..54e2f6ac8 100644 --- a/src/app/tape/dialogs/tapeconfigdialog.h +++ b/src/app/tape/dialogs/tapeconfigdialog.h @@ -50,6 +50,7 @@ protected: virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE; virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE; virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE; + virtual void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE; private: Q_DISABLE_COPY(TapeConfigDialog) QListWidget *contentsWidget; 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/tape/tmainwindow.cpp b/src/app/tape/tmainwindow.cpp index b76562758..4133df72f 100644 --- a/src/app/tape/tmainwindow.cpp +++ b/src/app/tape/tmainwindow.cpp @@ -459,24 +459,6 @@ void TMainWindow::CreateFromExisting() } } -//--------------------------------------------------------------------------------------------------------------------- -void TMainWindow::Find(const QString &term) -{ - search->Find(term); -} - -//--------------------------------------------------------------------------------------------------------------------- -void TMainWindow::FindPrevious() -{ - search->FindPrevious(); -} - -//--------------------------------------------------------------------------------------------------------------------- -void TMainWindow::FindNext() -{ - search->FindNext(); -} - //--------------------------------------------------------------------------------------------------------------------- void TMainWindow::closeEvent(QCloseEvent *event) { @@ -2018,9 +2000,9 @@ void TMainWindow::InitWindow() connect(ui->comboBoxPMSystem, static_cast(&QComboBox::currentIndexChanged), this, &TMainWindow::SavePMSystem); - connect(ui->lineEditFind, &QLineEdit::textEdited, this, &TMainWindow::Find); - connect(ui->toolButtonFindPrevious, &QToolButton::clicked, this, &TMainWindow::FindPrevious); - connect(ui->toolButtonFindNext, &QToolButton::clicked, this, &TMainWindow::FindNext); + connect(ui->lineEditFind, &QLineEdit::textEdited, [=] (const QString &term){search->Find(term);}); + connect(ui->toolButtonFindPrevious, &QToolButton::clicked, [=] (){search->FindPrevious();}); + connect(ui->toolButtonFindNext, &QToolButton::clicked, [=] (){search->FindNext();}); ui->plainTextEditNotes->setPlainText(m->Notes()); connect(ui->plainTextEditNotes, &QPlainTextEdit::textChanged, this, &TMainWindow::SaveNotes); diff --git a/src/app/tape/tmainwindow.h b/src/app/tape/tmainwindow.h index 587387ee7..e349f391a 100644 --- a/src/app/tape/tmainwindow.h +++ b/src/app/tape/tmainwindow.h @@ -35,7 +35,7 @@ #include "../vmisc/def.h" #include "../vmisc/vlockguard.h" #include "../vformat/vmeasurements.h" -#include "vtablesearch.h" +#include "../vmisc/vtablesearch.h" namespace Ui { @@ -129,9 +129,6 @@ private slots: void NewWindow(); void Preferences(); void PatternUnitChanged(int index); - void Find(const QString &term); - void FindPrevious(); - void FindNext(); private: Q_DISABLE_COPY(TMainWindow) diff --git a/src/app/valentina/dialogs/configdialog.cpp b/src/app/valentina/dialogs/configdialog.cpp index bc88e25d0..5ae67a90a 100644 --- a/src/app/valentina/dialogs/configdialog.cpp +++ b/src/app/valentina/dialogs/configdialog.cpp @@ -87,9 +87,9 @@ ConfigDialog::ConfigDialog(QWidget *parent) : QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(horizontalLayout); - mainLayout->addStretch(1); mainLayout->addSpacing(12); mainLayout->addLayout(buttonsLayout); + mainLayout->setStretch(0, 1); setLayout(mainLayout); setWindowTitle(tr("Config Dialog")); @@ -145,12 +145,30 @@ void ConfigDialog::showEvent(QShowEvent *event) } // do your init stuff here - setMaximumSize(size()); setMinimumSize(size()); + QSize sz = qApp->Settings()->GetPreferenceDialogSize(); + if (sz.isEmpty() == false) + { + resize(sz); + } + isInitialized = true;//first show windows are held } +//--------------------------------------------------------------------------------------------------------------------- +void ConfigDialog::resizeEvent(QResizeEvent *event) +{ + Q_UNUSED(event); + // remember the size for the next time this dialog is opened, but only + // if widget was already initialized, which rules out the resize at + // dialog creating, which would + if (isInitialized == true) + { + qApp->Settings()->SetPreferenceDialogSize(size()); + } +} + //--------------------------------------------------------------------------------------------------------------------- void ConfigDialog::createIcons() { diff --git a/src/app/valentina/dialogs/configdialog.h b/src/app/valentina/dialogs/configdialog.h index bb1932032..f64321588 100644 --- a/src/app/valentina/dialogs/configdialog.h +++ b/src/app/valentina/dialogs/configdialog.h @@ -49,6 +49,7 @@ protected: virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE; virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE; virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE; + virtual void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE; private: Q_DISABLE_COPY(ConfigDialog) QListWidget *contentsWidget; diff --git a/src/app/valentina/dialogs/dialogincrements.cpp b/src/app/valentina/dialogs/dialogincrements.cpp index c308b3ff4..6ddb5c78f 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, [=](const QString &term){search->Find(term);}); + connect(ui->toolButtonFindPrevious, &QToolButton::clicked, [=](){search->FindPrevious();}); + connect(ui->toolButtonFindNext, &QToolButton::clicked, [=](){search->FindNext();}); if (ui->tableWidgetIncrement->rowCount() > 0) { @@ -428,6 +435,8 @@ void DialogIncrements::FullUpdateFromFile() FillLengthsCurves(); FillRadiusesArcs(); FillAnglesCurves(); + + search->RefreshList(ui->lineEditFind->text()); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/valentina/dialogs/dialogincrements.h b/src/app/valentina/dialogs/dialogincrements.h index 03a07e8e0..d54ef48b3 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; @@ -87,6 +88,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/vcommonsettings.cpp b/src/libs/vmisc/vcommonsettings.cpp index 35fc9d9c1..82daa3b75 100644 --- a/src/libs/vmisc/vcommonsettings.cpp +++ b/src/libs/vmisc/vcommonsettings.cpp @@ -64,6 +64,7 @@ const QString VCommonSettings::SettingGeneralRestoreFileList = QString const QString VCommonSettings::SettingGeneralGeometry = QStringLiteral("geometry"); const QString VCommonSettings::SettingGeneralWindowState = QStringLiteral("windowState"); const QString VCommonSettings::SettingGeneralToolbarsState = QStringLiteral("toolbarsState"); +const QString VCommonSettings::SettingPreferenceDialogSize = QStringLiteral("preferenceDialogSize"); static const QString commonIniFilename = QStringLiteral("common"); @@ -416,3 +417,15 @@ void VCommonSettings::SetToolbarsState(const QByteArray &value) { setValue(SettingGeneralToolbarsState, value); } + +//--------------------------------------------------------------------------------------------------------------------- +QSize VCommonSettings::GetPreferenceDialogSize() const +{ + return value(SettingPreferenceDialogSize, QSize(0, 0)).toSize(); +} + +//--------------------------------------------------------------------------------------------------------------------- +void VCommonSettings::SetPreferenceDialogSize(const QSize& sz) +{ + setValue(SettingPreferenceDialogSize, sz); +} diff --git a/src/libs/vmisc/vcommonsettings.h b/src/libs/vmisc/vcommonsettings.h index 8cc2092de..d8e516282 100644 --- a/src/libs/vmisc/vcommonsettings.h +++ b/src/libs/vmisc/vcommonsettings.h @@ -99,6 +99,9 @@ public: QByteArray GetToolbarsState() const; void SetToolbarsState(const QByteArray &value); + QSize GetPreferenceDialogSize() const; + void SetPreferenceDialogSize(const QSize& sz); + private: Q_DISABLE_COPY(VCommonSettings) @@ -124,6 +127,7 @@ private: static const QString SettingGeneralGeometry; static const QString SettingGeneralWindowState; static const QString SettingGeneralToolbarsState; + static const QString SettingPreferenceDialogSize; }; #endif // VCOMMONSETTINGS_H 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 diff --git a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolcurveintersectaxis.cpp b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolcurveintersectaxis.cpp index fb6c5c6c0..8108b1976 100644 --- a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolcurveintersectaxis.cpp +++ b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolcurveintersectaxis.cpp @@ -38,7 +38,7 @@ #include "../vgeometry/vsplinepath.h" #include "../vgeometry/vabstractcubicbezier.h" #include "../vgeometry/vabstractcubicbezierpath.h" -#include "../../../../../visualization/line/vistoolcurveintersectaxis.h" +#include "../vtools/visualization/line/vistoolcurveintersectaxis.h" #include "../toolcut/vtoolcutsplinepath.h" const QString VToolCurveIntersectAxis::ToolType = QStringLiteral("curveIntersectAxis");