In some cases need just disable GUI (Read only mode) without writing in file.
--HG-- branch : feature
This commit is contained in:
parent
6294fcc753
commit
3c32c869a6
Binary file not shown.
Before Width: | Height: | Size: 375 B After Width: | Height: | Size: 583 B |
Binary file not shown.
Before Width: | Height: | Size: 385 B After Width: | Height: | Size: 616 B |
|
@ -151,12 +151,13 @@ void TMainWindow::LoadFile(const QString &path)
|
|||
InitWindow();
|
||||
|
||||
RefreshData();
|
||||
ReadOnly(m->ReadOnly());
|
||||
|
||||
if (ui->tableWidget->rowCount() > 0)
|
||||
{
|
||||
ui->tableWidget->selectRow(0);
|
||||
}
|
||||
|
||||
GUIReadOnly(m->ReadOnly()); // Keep last
|
||||
}
|
||||
catch (VException &e)
|
||||
{
|
||||
|
@ -209,6 +210,8 @@ void TMainWindow::FileNew()
|
|||
MeasurementsWasSaved(false);
|
||||
|
||||
InitWindow();
|
||||
|
||||
GUIReadOnly(m->ReadOnly()); // Keep last
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -420,101 +423,71 @@ void TMainWindow::AboutApplication()
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveGivenName()
|
||||
{
|
||||
if (m->GivenName() != ui->lineEditGivenName->text())
|
||||
{
|
||||
m->SetGivenName(ui->lineEditGivenName->text());
|
||||
MeasurementsWasSaved(false);
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveFamilyName()
|
||||
{
|
||||
if (m->FamilyName() != ui->lineEditFamilyName->text())
|
||||
{
|
||||
m->SetFamilyName(ui->lineEditFamilyName->text());
|
||||
MeasurementsWasSaved(false);
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveEmail()
|
||||
{
|
||||
if (m->Email() != ui->lineEditEmail->text())
|
||||
{
|
||||
m->SetEmail(ui->lineEditEmail->text());
|
||||
MeasurementsWasSaved(false);
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveSex(int index)
|
||||
{
|
||||
m->SetSex(static_cast<SexType>(ui->comboBoxSex->itemData(index).toInt()));
|
||||
const SexType type = static_cast<SexType>(ui->comboBoxSex->itemData(index).toInt());
|
||||
if (m->Sex() != type)
|
||||
{
|
||||
m->SetSex(type);
|
||||
MeasurementsWasSaved(false);
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveBirthDate(const QDate &date)
|
||||
{
|
||||
if (m->BirthDate() != date)
|
||||
{
|
||||
m->SetBirthDate(date);
|
||||
MeasurementsWasSaved(false);
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveNotes()
|
||||
{
|
||||
if (m->Notes() != ui->plainTextEditNotes->toPlainText())
|
||||
{
|
||||
m->SetNotes(ui->plainTextEditNotes->toPlainText());
|
||||
MeasurementsWasSaved(false);
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::ReadOnly(bool ro)
|
||||
{
|
||||
ui->actionReadOnly->setChecked(ro);
|
||||
if (ro)
|
||||
{
|
||||
ui->actionReadOnly->setIcon(QIcon("://tapeicon/24x24/padlock_locked.png"));
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->actionReadOnly->setIcon(QIcon("://tapeicon/24x24/padlock_opened.png"));
|
||||
}
|
||||
m->SetReadOnly(ro);
|
||||
MeasurementsWasSaved(false);
|
||||
|
||||
ui->plainTextEditNotes->setReadOnly(ro);
|
||||
ui->actionAddCustom->setDisabled(ro);
|
||||
ui->actionAddKnown->setDisabled(ro);
|
||||
|
||||
if (not ro)
|
||||
{
|
||||
if (QTableWidgetItem *nameField = ui->tableWidget->item(ui->tableWidget->currentRow(), 0))
|
||||
{
|
||||
if (nameField->text().indexOf(CustomSign) == 0) // Check if custom
|
||||
{
|
||||
ui->lineEditName->setReadOnly(ro);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->lineEditName->setReadOnly(ro);
|
||||
}
|
||||
ui->plainTextEditDescription->setReadOnly(ro);
|
||||
|
||||
if (mType == MeasurementsType::Individual)
|
||||
{
|
||||
ui->lineEditGivenName->setReadOnly(ro);
|
||||
ui->lineEditFamilyName->setReadOnly(ro);
|
||||
ui->dateEditBirthDate->setReadOnly(ro);
|
||||
ui->comboBoxSex->setDisabled(ro);
|
||||
ui->lineEditEmail->setReadOnly(ro);
|
||||
|
||||
ui->plainTextEditFormula->setReadOnly(ro);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->doubleSpinBoxBaseValue->setDisabled(ro);
|
||||
ui->doubleSpinBoxInSizes->setDisabled(ro);
|
||||
ui->doubleSpinBoxInHeights->setDisabled(ro);
|
||||
|
||||
gradationHeights->setDisabled(ro);
|
||||
gradationSizes->setDisabled(ro);
|
||||
}
|
||||
|
||||
Controls(); // Buttons remove, up, down
|
||||
GUIReadOnly(ro);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -854,11 +827,23 @@ void TMainWindow::ShowMData()
|
|||
{
|
||||
ui->plainTextEditDescription->setReadOnly(false);
|
||||
ui->lineEditName->setReadOnly(false);
|
||||
ui->lineEditFullName->setReadOnly(false);
|
||||
|
||||
if (mType == MeasurementsType::Individual)
|
||||
{
|
||||
ui->plainTextEditFormula->setReadOnly(false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->plainTextEditDescription->setReadOnly(false);
|
||||
ui->lineEditName->setReadOnly(false);
|
||||
ui->plainTextEditDescription->setReadOnly(true);
|
||||
ui->lineEditName->setReadOnly(true);
|
||||
ui->lineEditFullName->setReadOnly(true);
|
||||
|
||||
if (mType == MeasurementsType::Individual)
|
||||
{
|
||||
ui->plainTextEditFormula->setReadOnly(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1140,6 +1125,7 @@ void TMainWindow::InitWindow()
|
|||
SCASSERT(m != nullptr);
|
||||
ui->labelToolTip->setVisible(false);
|
||||
ui->tabWidget->setVisible(true);
|
||||
ui->tabWidget->setCurrentIndex(0);
|
||||
|
||||
ui->plainTextEditNotes->setEnabled(true);
|
||||
|
||||
|
@ -1557,10 +1543,6 @@ void TMainWindow::Controls()
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::MFields(bool enabled)
|
||||
{
|
||||
ui->lineEditName->setEnabled(enabled);
|
||||
ui->plainTextEditDescription->setEnabled(enabled);
|
||||
ui->lineEditFullName->setEnabled(enabled);
|
||||
|
||||
if (mType == MeasurementsType::Standard)
|
||||
{
|
||||
ui->doubleSpinBoxBaseValue->setEnabled(enabled);
|
||||
|
@ -1569,7 +1551,6 @@ void TMainWindow::MFields(bool enabled)
|
|||
}
|
||||
else
|
||||
{
|
||||
ui->plainTextEditFormula->setEnabled(enabled);
|
||||
ui->pushButtonGrow->setEnabled(enabled);
|
||||
ui->toolButtonExpr->setEnabled(enabled);
|
||||
}
|
||||
|
@ -1633,6 +1614,68 @@ void TMainWindow::Open(const QString &pathTo, const QString &filter)
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::GUIReadOnly(bool ro)
|
||||
{
|
||||
ui->actionReadOnly->setChecked(ro);
|
||||
if (ro)
|
||||
{
|
||||
ui->actionReadOnly->setIcon(QIcon("://tapeicon/24x24/padlock_locked.png"));
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->actionReadOnly->setIcon(QIcon("://tapeicon/24x24/padlock_opened.png"));
|
||||
}
|
||||
|
||||
ui->plainTextEditNotes->setReadOnly(ro);
|
||||
ui->actionAddCustom->setDisabled(ro);
|
||||
ui->actionAddKnown->setDisabled(ro);
|
||||
|
||||
ui->lineEditName->setDisabled(false);
|
||||
if (not ro)
|
||||
{
|
||||
if (QTableWidgetItem *nameField = ui->tableWidget->item(ui->tableWidget->currentRow(), 0))
|
||||
{
|
||||
if (nameField->text().indexOf(CustomSign) == 0) // Check if custom
|
||||
{
|
||||
ui->lineEditName->setReadOnly(ro);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->lineEditName->setReadOnly(ro);
|
||||
}
|
||||
|
||||
ui->plainTextEditDescription->setDisabled(false);
|
||||
ui->plainTextEditDescription->setReadOnly(ro);
|
||||
ui->lineEditFullName->setDisabled(false);
|
||||
ui->lineEditFullName->setReadOnly(ro);
|
||||
|
||||
if (mType == MeasurementsType::Individual)
|
||||
{
|
||||
ui->lineEditGivenName->setReadOnly(ro);
|
||||
ui->lineEditFamilyName->setReadOnly(ro);
|
||||
ui->dateEditBirthDate->setReadOnly(ro);
|
||||
ui->comboBoxSex->setDisabled(ro);
|
||||
ui->lineEditEmail->setReadOnly(ro);
|
||||
|
||||
ui->plainTextEditFormula->setDisabled(false);
|
||||
ui->plainTextEditFormula->setReadOnly(ro);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->doubleSpinBoxBaseValue->setDisabled(ro);
|
||||
ui->doubleSpinBoxInSizes->setDisabled(ro);
|
||||
ui->doubleSpinBoxInHeights->setDisabled(ro);
|
||||
|
||||
gradationHeights->setDisabled(ro);
|
||||
gradationSizes->setDisabled(ro);
|
||||
}
|
||||
|
||||
Controls(); // Buttons remove, up, down
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SetDecimals()
|
||||
{
|
||||
|
|
|
@ -69,6 +69,7 @@ private slots:
|
|||
void AboutToShowWindowMenu();
|
||||
void ShowWindow();
|
||||
void AboutApplication();
|
||||
|
||||
void SaveGivenName();
|
||||
void SaveFamilyName();
|
||||
void SaveEmail();
|
||||
|
@ -144,6 +145,7 @@ private:
|
|||
void EvalFormula(const QString &formula, VContainer *data, QLabel *label);
|
||||
|
||||
void Open(const QString &pathTo, const QString &filter);
|
||||
void GUIReadOnly(bool ro);
|
||||
};
|
||||
|
||||
#endif // TMAINWINDOW_H
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tabMeasurements">
|
||||
<attribute name="icon">
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
<xs:sequence>
|
||||
<xs:element name="version" type="formatVersion"></xs:element>
|
||||
<xs:element name="read-only" type="xs:boolean"></xs:element>
|
||||
<xs:element name="unit" type="units"></xs:element>
|
||||
<xs:element name="notes" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="personal" minOccurs="0" maxOccurs="1">
|
||||
<xs:element name="unit" type="units"></xs:element>
|
||||
<xs:element name="personal">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="family-name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="given-name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="birth-date" type="xs:date" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="sex" type="sex" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="email" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="given-name" type="xs:string"></xs:element>
|
||||
<xs:element name="family-name" type="xs:string"></xs:element>
|
||||
<xs:element name="birth-date" type="xs:date"></xs:element>
|
||||
<xs:element name="sex" type="sex"></xs:element>
|
||||
<xs:element name="email" type="xs:string"></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
|
|
@ -304,7 +304,7 @@ void VMeasurements::SetGivenName(const QString &text)
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QDate VMeasurements::BirthDate() const
|
||||
{
|
||||
const QString date = UniqueTagText(TagBirthDate, "1900-01-01");
|
||||
const QString date = UniqueTagText(TagBirthDate, "1990-02-15");
|
||||
return QDate::fromString(date, "yyyy-MM-dd");
|
||||
}
|
||||
|
||||
|
@ -541,8 +541,18 @@ void VMeasurements::CreateEmptyIndividualFile(Unit unit)
|
|||
|
||||
QDomElement personal = createElement(TagPersonal);
|
||||
personal.appendChild(createElement(TagGivenName));
|
||||
personal.appendChild(createElement(TagBirthDate));
|
||||
personal.appendChild(createElement(TagSex));
|
||||
personal.appendChild(createElement(TagFamilyName));
|
||||
|
||||
QDomElement date = createElement(TagBirthDate);
|
||||
const QDomText newDate = createTextNode(QDate(1990, 02, 15).toString("yyyy-MM-dd"));
|
||||
date.appendChild(newDate);
|
||||
personal.appendChild(date);
|
||||
|
||||
QDomElement sex = createElement(TagSex);
|
||||
const QDomText newSex = createTextNode(GenderToStr(SexType::Male));
|
||||
sex.appendChild(newSex);
|
||||
personal.appendChild(sex);
|
||||
|
||||
personal.appendChild(createElement(TagEmail));
|
||||
mElement.appendChild(personal);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user