Save basic information in file.
--HG-- branch : feature
This commit is contained in:
parent
a9edee47e5
commit
5ba6d62d94
|
@ -17,7 +17,11 @@
|
|||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
<string>About Tape</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset resource="../share/resources/tapeicon.qrc">
|
||||
<normaloff>:/tapeicon/64x64/logo.png</normaloff>:/tapeicon/64x64/logo.png</iconset>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
|
|
|
@ -76,13 +76,13 @@ Unit DialogNewMeasurements::MUnit() const
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
int DialogNewMeasurements::BaseSize() const
|
||||
{
|
||||
return ui->comboBoxBaseSize->currentData().toInt();
|
||||
return ui->comboBoxBaseSize->currentText().toInt();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
int DialogNewMeasurements::BaseHeight() const
|
||||
{
|
||||
return ui->comboBoxBaseHeight->currentData().toInt();
|
||||
return ui->comboBoxBaseHeight->currentText().toInt();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -163,6 +163,57 @@ void TMainWindow::AboutApplication()
|
|||
aboutDialog->show();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveGivenName()
|
||||
{
|
||||
m->SetGivenName(ui->lineEditGivenName->text());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveFamilyName()
|
||||
{
|
||||
m->SetFamilyName(ui->lineEditFamilyName->text());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveEmail()
|
||||
{
|
||||
m->SetEmail(ui->lineEditEmail->text());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveSex(int index)
|
||||
{
|
||||
m->SetSex(static_cast<SexType>(ui->comboBoxSex->itemData(index).toInt()));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveBirthDate(const QDate &date)
|
||||
{
|
||||
m->SetBirthDate(date);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SaveNotes()
|
||||
{
|
||||
m->SetNotes(ui->plainTextEditNotes->toPlainText());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
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);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::SetupMenu()
|
||||
{
|
||||
|
@ -179,17 +230,11 @@ void TMainWindow::SetupMenu()
|
|||
connect(ui->actionSaveAs, &QAction::triggered, this, &TMainWindow::FileSaveAs);
|
||||
ui->actionSaveAs->setShortcuts(QKeySequence::SaveAs);
|
||||
|
||||
QAction *separatorAct = new QAction(this);
|
||||
separatorAct->setSeparator(true);
|
||||
ui->menuFile->insertAction(ui->actionQuit, separatorAct);
|
||||
connect(ui->actionReadOnly, &QAction::triggered, this, &TMainWindow::ReadOnly);
|
||||
|
||||
connect(ui->actionQuit, &QAction::triggered, this, &TMainWindow::close);
|
||||
ui->actionQuit->setShortcuts(QKeySequence::Quit);
|
||||
|
||||
// Edit
|
||||
//ui->actionUndo->setShortcuts(QKeySequence::Undo);
|
||||
//ui->actionRedo->setShortcuts(QKeySequence::Redo);
|
||||
|
||||
// Window
|
||||
connect(ui->menuWindow, &QMenu::aboutToShow, this, &TMainWindow::AboutToShowWindowMenu);
|
||||
AboutToShowWindowMenu();
|
||||
|
@ -211,13 +256,19 @@ void TMainWindow::InitWindow()
|
|||
if (mType == MeasurementsType::Standard)
|
||||
{
|
||||
ui->labelMType->setText(tr("Standard measurements"));
|
||||
ui->labelBaseSizeValue->setText(QString().setNum(m->BaseSize()) + VDomDocument::UnitsToStr(m->MUnit(), true));
|
||||
ui->labelBaseHeightValue->setText(QString().setNum(m->BaseHeight()) +
|
||||
VDomDocument::UnitsToStr(m->MUnit(), true));
|
||||
ui->labelBaseSizeValue->setText(QString().setNum(m->BaseSize()) + " " +
|
||||
VDomDocument::UnitsToStr(m->MUnit(), true));
|
||||
ui->labelBaseHeightValue->setText(QString().setNum(m->BaseHeight()) + " " +
|
||||
VDomDocument::UnitsToStr(m->MUnit(), true));
|
||||
|
||||
// Tab Measurements
|
||||
delete ui->labelValue;
|
||||
delete ui->horizontalLayoutValue;
|
||||
delete ui->plainTextEditFormula;
|
||||
delete ui->pushButtonGrowLength;
|
||||
delete ui->toolButtonExprLength;
|
||||
delete ui->labelEqual;
|
||||
delete ui->labelResultCalculation;
|
||||
|
||||
// Tab Information
|
||||
delete ui->labelGivenName;
|
||||
|
@ -254,6 +305,26 @@ void TMainWindow::InitWindow()
|
|||
delete ui->labelBaseSizeValue;
|
||||
delete ui->labelBaseHeight;
|
||||
delete ui->labelBaseHeightValue;
|
||||
|
||||
ui->lineEditGivenName->setText(m->GivenName());
|
||||
ui->lineEditFamilyName->setText(m->FamilyName());
|
||||
|
||||
ui->comboBoxSex->addItem(tr("male"), QVariant(static_cast<int>(SexType::Male)));
|
||||
ui->comboBoxSex->addItem(tr("female"), QVariant(static_cast<int>(SexType::Female)));
|
||||
const qint32 index = ui->comboBoxSex->findData(static_cast<int>(m->Sex()));
|
||||
ui->comboBoxSex->setCurrentIndex(index);
|
||||
|
||||
ui->dateEditBirthDate->setDate(m->BirthDate());
|
||||
ui->lineEditEmail->setText(m->Email());
|
||||
ui->plainTextEditNotes->setPlainText(m->Notes());
|
||||
|
||||
connect(ui->lineEditGivenName, &QLineEdit::editingFinished, this, &TMainWindow::SaveGivenName);
|
||||
connect(ui->lineEditFamilyName, &QLineEdit::editingFinished, this, &TMainWindow::SaveFamilyName);
|
||||
connect(ui->lineEditEmail, &QLineEdit::editingFinished, this, &TMainWindow::SaveEmail);
|
||||
connect(ui->comboBoxSex, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
||||
&TMainWindow::SaveSex);
|
||||
connect(ui->dateEditBirthDate, &QDateEdit::dateChanged, this, &TMainWindow::SaveBirthDate);
|
||||
connect(ui->plainTextEditNotes, &QPlainTextEdit::textChanged, this, &TMainWindow::SaveNotes);
|
||||
}
|
||||
|
||||
ui->actionAddCustom->setEnabled(true);
|
||||
|
|
|
@ -58,6 +58,13 @@ private slots:
|
|||
void AboutToShowWindowMenu();
|
||||
void ShowWindow();
|
||||
void AboutApplication();
|
||||
void SaveGivenName();
|
||||
void SaveFamilyName();
|
||||
void SaveEmail();
|
||||
void SaveSex(int index);
|
||||
void SaveBirthDate(const QDate & date);
|
||||
void SaveNotes();
|
||||
void ReadOnly(bool ro);
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(TMainWindow)
|
||||
|
|
|
@ -606,13 +606,7 @@
|
|||
<addaction name="actionAboutQt"/>
|
||||
<addaction name="actionAboutTape"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuEdit">
|
||||
<property name="title">
|
||||
<string>Edit</string>
|
||||
</property>
|
||||
</widget>
|
||||
<addaction name="menuFile"/>
|
||||
<addaction name="menuEdit"/>
|
||||
<addaction name="menuWindow"/>
|
||||
<addaction name="menuHelp"/>
|
||||
</widget>
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<enum>QTabWidget::North</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tabStandard">
|
||||
<property name="sizePolicy">
|
||||
|
@ -108,7 +108,7 @@
|
|||
</size>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="pagePersonalInformation">
|
||||
<property name="enabled">
|
||||
|
@ -118,8 +118,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>559</width>
|
||||
<height>82</height>
|
||||
<width>939</width>
|
||||
<height>411</height>
|
||||
</rect>
|
||||
</property>
|
||||
<attribute name="icon">
|
||||
|
|
|
@ -377,7 +377,15 @@ QString VDomDocument::UniqueTagText(const QString &tagName, const QString &defVa
|
|||
const QDomElement domElement = domNode.toElement();
|
||||
if (domElement.isNull() == false)
|
||||
{
|
||||
return domElement.text();
|
||||
const QString text = domElement.text();
|
||||
if (text.isEmpty())
|
||||
{
|
||||
return defVal;
|
||||
}
|
||||
else
|
||||
{
|
||||
return text;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ const QString VMeasurements::TagGivenName = QStringLiteral("given-name");
|
|||
const QString VMeasurements::TagBirthDate = QStringLiteral("birth-date");
|
||||
const QString VMeasurements::TagSex = QStringLiteral("sex");
|
||||
const QString VMeasurements::TagEmail = QStringLiteral("email");
|
||||
const QString VMeasurements::TagReadOnly = QStringLiteral("read-only");
|
||||
|
||||
const QString VMeasurements::AttrBase = QStringLiteral("base");
|
||||
|
||||
|
@ -198,6 +199,32 @@ void VMeasurements::SetEmail(const QString &text)
|
|||
setTagText(TagEmail, text);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
bool VMeasurements::ReadOnly() const
|
||||
{
|
||||
if (UniqueTagText(TagReadOnly, "false") == "true")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VMeasurements::SetReadOnly(bool ro)
|
||||
{
|
||||
if (ro)
|
||||
{
|
||||
setTagText(TagReadOnly, "true");
|
||||
}
|
||||
else
|
||||
{
|
||||
setTagText(TagReadOnly, "false");
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QString VMeasurements::GenderToStr(const SexType &sex)
|
||||
{
|
||||
|
@ -244,6 +271,11 @@ void VMeasurements::CreateEmptyStandardFile(Unit unit, int baseSize, int baseHei
|
|||
version.appendChild(newNodeText);
|
||||
mElement.appendChild(version);
|
||||
|
||||
QDomElement ro = createElement(TagReadOnly);
|
||||
const QDomText roNodeText = createTextNode(false);
|
||||
ro.appendChild(roNodeText);
|
||||
mElement.appendChild(ro);
|
||||
|
||||
mElement.appendChild(createElement(TagNotes));
|
||||
|
||||
QDomElement mUnit = createElement(TagUnit);
|
||||
|
@ -278,6 +310,11 @@ void VMeasurements::CreateEmptyIndividualFile(Unit unit)
|
|||
version.appendChild(newNodeText);
|
||||
mElement.appendChild(version);
|
||||
|
||||
QDomElement ro = createElement(TagReadOnly);
|
||||
const QDomText roNodeText = createTextNode(false);
|
||||
ro.appendChild(roNodeText);
|
||||
mElement.appendChild(ro);
|
||||
|
||||
mElement.appendChild(createElement(TagNotes));
|
||||
|
||||
QDomElement mUnit = createElement(TagUnit);
|
||||
|
|
|
@ -66,6 +66,9 @@ public:
|
|||
QString Email() const;
|
||||
void SetEmail(const QString &text);
|
||||
|
||||
bool ReadOnly() const;
|
||||
void SetReadOnly(bool ro);
|
||||
|
||||
static const QString TagVST;
|
||||
static const QString TagVIT;
|
||||
static const QString TagBodyMeasurements;
|
||||
|
@ -79,6 +82,7 @@ public:
|
|||
static const QString TagBirthDate;
|
||||
static const QString TagSex;
|
||||
static const QString TagEmail;
|
||||
static const QString TagReadOnly;
|
||||
|
||||
static const QString AttrBase;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user