Skip to content

Commit

Permalink
Merge pull request #348 from FashionFreedom/Issue#347-Measurements-co…
Browse files Browse the repository at this point in the history
…ntext-menu

Fix issue #347
  • Loading branch information
slspencer committed Nov 5, 2020
2 parents 3615cd2 + e7be27d commit 787caa3
Show file tree
Hide file tree
Showing 10 changed files with 304 additions and 304 deletions.
Expand Up @@ -163,7 +163,7 @@ void SeamlyMePreferencesConfigurationPage::Apply()

// Part about measurments will not be updated automatically
qApp->RetranslateTables();
qApp->RetranslateGroups();
qApp->retranslateGroups();
}

if (m_defGradationChanged)
Expand Down
451 changes: 219 additions & 232 deletions src/app/seamlyme/dialogs/dialogmdatabase.cpp

Large diffs are not rendered by default.

105 changes: 54 additions & 51 deletions src/app/seamlyme/dialogs/dialogmdatabase.h
Expand Up @@ -2,7 +2,7 @@
* *
* Copyright (C) 2017 Seamly, LLC *
* *
* https://github.com/fashionfreedom/seamly2d *
* https://github.com/fashionfreedom/seamly2d *
* *
***************************************************************************
**
Expand Down Expand Up @@ -66,31 +66,31 @@ class MeasurementDatabaseDialog : public QDialog
Q_OBJECT

public:
explicit MeasurementDatabaseDialog(const QStringList &measurements, QWidget *parent = nullptr);
explicit MeasurementDatabaseDialog(QWidget *parent = nullptr);
virtual ~MeasurementDatabaseDialog() Q_DECL_OVERRIDE;
explicit MeasurementDatabaseDialog(const QStringList &measurements, QWidget *parent = nullptr);
explicit MeasurementDatabaseDialog(QWidget *parent = nullptr);
virtual ~MeasurementDatabaseDialog() Q_DECL_OVERRIDE;

void RetranslateGroups();
void retranslateGroups();

QStringList getNewMeasurementNames() const;
static QString imgTag(const QString &number);
QStringList getNewMeasurementNames() const;
static QString imageUrl(const QString &number);

protected:
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
virtual bool eventFilter(QObject *target, QEvent *event) Q_DECL_OVERRIDE;
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
virtual bool eventFilter(QObject *target, QEvent *event) Q_DECL_OVERRIDE;

private slots:
void UpdateChecks(QTreeWidgetItem *item, int column);
void ShowDescription(QTreeWidgetItem *item, int column);
void TreeMenu(const QPoint &pos);
void Recheck();
void updateChecks(QTreeWidgetItem *item, int column);
void showDescription(QTreeWidgetItem *item, int column);
void treeContextMenu(const QPoint &pos);
void recheckState();

private:
Q_DISABLE_COPY(MeasurementDatabaseDialog)
Ui::DialogMDataBase *ui;
bool selectMode;
QStringList measurements;
QStringList newMeasurements;
bool selectMode;
QStringList measurements;
QStringList newMeasurements;

const QString groupAText = "A. " + MeasurementDatabaseDialog::tr("Direct Height", "Measurement section");
const QString groupBText = "B. " + MeasurementDatabaseDialog::tr("Direct Width", "Measurement section");
Expand All @@ -110,41 +110,44 @@ private slots:
const QString groupPText = "P. " + MeasurementDatabaseDialog::tr("Historical & Specialty", "Measurement section");
const QString groupQText = "Q. " + MeasurementDatabaseDialog::tr("Patternmaking measurements", "Measurement section");

QTreeWidgetItem *groupA;
QTreeWidgetItem *groupB;
QTreeWidgetItem *groupC;
QTreeWidgetItem *groupD;
QTreeWidgetItem *groupE;
QTreeWidgetItem *groupF;
QTreeWidgetItem *groupG;
QTreeWidgetItem *groupH;
QTreeWidgetItem *groupI;
QTreeWidgetItem *groupJ;
QTreeWidgetItem *groupK;
QTreeWidgetItem *groupL;
QTreeWidgetItem *groupM;
QTreeWidgetItem *groupN;
QTreeWidgetItem *groupO;
QTreeWidgetItem *groupP;
QTreeWidgetItem *groupQ;

void initDataBase(const QStringList &measurements = QStringList());
void initGroup(QTreeWidgetItem **group, const QString &groupName, const QStringList &groupList,
const QStringList &newMeasurements = QStringList());

Q_REQUIRED_RESULT QTreeWidgetItem *AddGroup(const QString &text);

void addMeasurement(QTreeWidgetItem *group, const QString &groupName, const QStringList &newMeasurements);

void readSettings();
void writeSettings();
void filter(const QString term);

void retranslateGroup(QTreeWidgetItem *group, const QString &groupText, const QStringList &measurements);
void retranslateMeasurement(QTreeWidgetItem *group, int index, const QString &name);

void changeCheckState(QTreeWidgetItem *group, Qt::CheckState check);
Qt::CheckState GlobalCheckState() const;
QTreeWidgetItem *groupA;
QTreeWidgetItem *groupB;
QTreeWidgetItem *groupC;
QTreeWidgetItem *groupD;
QTreeWidgetItem *groupE;
QTreeWidgetItem *groupF;
QTreeWidgetItem *groupG;
QTreeWidgetItem *groupH;
QTreeWidgetItem *groupI;
QTreeWidgetItem *groupJ;
QTreeWidgetItem *groupK;
QTreeWidgetItem *groupL;
QTreeWidgetItem *groupM;
QTreeWidgetItem *groupN;
QTreeWidgetItem *groupO;
QTreeWidgetItem *groupP;
QTreeWidgetItem *groupQ;

void initDataBase(const QStringList &measurements = QStringList());
void initGroup(QTreeWidgetItem **group, const QString &groupName, const QStringList &groupList,
const QStringList &measurementList = QStringList());

Q_REQUIRED_RESULT QTreeWidgetItem *addMeasurementGroup(const QString &text);

void addMeasurement(QTreeWidgetItem *group, const QString &groupName,
const QStringList &newMeasurements);

void readSettings();
void writeSettings();
void filterGroups(const QString searchString);
void filterGroup(QTreeWidgetItem *group, const QString &searchString);

void retranslateGroup(QTreeWidgetItem *group, const QString &groupName,
const QStringList &measurements);
void retranslateMeasurement(QTreeWidgetItem *group, int index, const QString &name);

void changeCheckState(QTreeWidgetItem *group, Qt::CheckState state);
Qt::CheckState globalCheckState() const;
};

#endif // DIALOGMDATABASE_H
11 changes: 10 additions & 1 deletion src/app/seamlyme/dialogs/dialogmdatabase.ui
Expand Up @@ -13,8 +13,14 @@
<height>550</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>750</width>
<height>550</height>
</size>
</property>
<property name="windowTitle">
<string>Measurement data base</string>
<string>ME Database - Add known measurement</string>
</property>
<property name="windowIcon">
<iconset resource="../share/resources/seamlymeicon.qrc">
Expand Down Expand Up @@ -45,6 +51,9 @@
<property name="placeholderText">
<string>Search</string>
</property>
<property name="clearButtonEnabled">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
Expand Down
4 changes: 2 additions & 2 deletions src/app/seamlyme/mapplication.cpp
Expand Up @@ -554,11 +554,11 @@ void MApplication::ShowDataBase()
}

//---------------------------------------------------------------------------------------------------------------------
void MApplication::RetranslateGroups()
void MApplication::retranslateGroups()
{
if (not dataBase.isNull())
{
dataBase->RetranslateGroups();
dataBase->retranslateGroups();
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/app/seamlyme/mapplication.h
Expand Up @@ -95,7 +95,7 @@ class MApplication : public VAbstractApplication
QString diagramsPath() const;

void ShowDataBase();
void RetranslateGroups();
void retranslateGroups();
void RetranslateTables();

void ParseCommandLine(const SocketConnection &connection, const QStringList &arguments);
Expand Down
2 changes: 1 addition & 1 deletion src/app/seamlyme/tmainwindow.cpp
Expand Up @@ -1577,7 +1577,7 @@ void TMainWindow::ShowMDiagram(const QString &name)
{
ui->labelDiagram->setText(QString("<html><head/><body><p align=\"center\">%1</p>"
"<p align=\"center\"><b>%2</b>. <i>%3</i></p></body></html>")
.arg(MeasurementDatabaseDialog::imgTag(number)).arg(number).arg(trv->GuiText(name)));
.arg(MeasurementDatabaseDialog::imageUrl(number)).arg(number).arg(trv->GuiText(name)));
}
// This part is very ugly, can't find better way to resize dockWidget.
ui->labelDiagram->adjustSize();
Expand Down
23 changes: 12 additions & 11 deletions src/app/seamlyme/tmainwindow.ui
Expand Up @@ -272,8 +272,8 @@
<string notr="true"/>
</property>
<property name="icon">
<iconset theme="go-down">
<normaloff>../../libs/vtools/dialogs/support</normaloff>../../libs/vtools/dialogs/support</iconset>
<iconset resource="../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/32x32/move_down.png</normaloff>:/icon/32x32/move_down.png</iconset>
</property>
<property name="iconSize">
<size>
Expand Down Expand Up @@ -366,8 +366,8 @@
<string notr="true">...</string>
</property>
<property name="icon">
<iconset theme="go-top">
<normaloff>.</normaloff>.</iconset>
<iconset resource="../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/32x32/move_top.png</normaloff>:/icon/32x32/move_top.png</iconset>
</property>
</widget>
</item>
Expand All @@ -383,8 +383,8 @@
<string notr="true">...</string>
</property>
<property name="icon">
<iconset theme="go-up">
<normaloff>.</normaloff>.</iconset>
<iconset resource="../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/32x32/move_up.png</normaloff>:/icon/32x32/move_up.png</iconset>
</property>
</widget>
</item>
Expand All @@ -400,8 +400,8 @@
<string notr="true">...</string>
</property>
<property name="icon">
<iconset theme="go-down">
<normaloff>.</normaloff>.</iconset>
<iconset resource="../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/32x32/move_down.png</normaloff>:/icon/32x32/move_down.png</iconset>
</property>
</widget>
</item>
Expand All @@ -417,8 +417,8 @@
<string notr="true">...</string>
</property>
<property name="icon">
<iconset theme="go-bottom">
<normaloff>.</normaloff>.</iconset>
<iconset resource="../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/32x32/move_bottom.png</normaloff>:/icon/32x32/move_bottom.png</iconset>
</property>
</widget>
</item>
Expand Down Expand Up @@ -850,7 +850,7 @@
<x>0</x>
<y>0</y>
<width>835</width>
<height>19</height>
<height>21</height>
</rect>
</property>
<widget class="QMenu" name="menuFile">
Expand Down Expand Up @@ -1209,6 +1209,7 @@
<layoutdefault spacing="6" margin="11"/>
<resources>
<include location="share/resources/seamlymeicon.qrc"/>
<include location="../../libs/vmisc/share/resources/icon.qrc"/>
</resources>
<connections/>
</ui>
4 changes: 2 additions & 2 deletions src/libs/vmisc/vseamlymesettings.cpp
Expand Up @@ -69,13 +69,13 @@ VSeamlyMeSettings::VSeamlyMeSettings(Format format, Scope scope, const QString &
}

//---------------------------------------------------------------------------------------------------------------------
QByteArray VSeamlyMeSettings::GetDataBaseGeometry() const
QByteArray VSeamlyMeSettings::getDataBaseGeometry() const
{
return value(settingDataBaseGeometry).toByteArray();
}

//---------------------------------------------------------------------------------------------------------------------
void VSeamlyMeSettings::SetDataBaseGeometry(const QByteArray &value)
void VSeamlyMeSettings::setDataBaseGeometry(const QByteArray &value)
{
setValue(settingDataBaseGeometry, value);
}
Expand Down
4 changes: 2 additions & 2 deletions src/libs/vmisc/vseamlymesettings.h
Expand Up @@ -69,8 +69,8 @@ class VSeamlyMeSettings : public VCommonSettings
VSeamlyMeSettings(Format format, Scope scope, const QString &organization, const QString &application = QString(),
QObject *parent = nullptr);

QByteArray GetDataBaseGeometry() const;
void SetDataBaseGeometry(const QByteArray &value);
QByteArray getDataBaseGeometry() const;
void setDataBaseGeometry(const QByteArray &value);

void SetDefHeight(int value);
int GetDefHeight() const;
Expand Down

0 comments on commit 787caa3

Please sign in to comment.