Immediately return memory on MR clicked if entire expression was unchanged (or empty); Fix tab order in edit variable dialog and of dialog buttons (OK and Cancel)

This commit is contained in:
Hanna K 2021-09-10 11:36:28 +02:00
parent 757a993234
commit bf77f10bc2
6 changed files with 24 additions and 11 deletions

View File

@ -95,8 +95,10 @@ CSVDialog::CSVDialog(bool do_import, QWidget *parent, MathStructure *current_res
delimiterEdit->setEnabled(false);
grid->addWidget(delimiterEdit, r, 1); r++;
connect(delimiterEdit, SIGNAL(textEdited(const QString&)), this, SLOT(onDelimiterEdited()));
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this);
okButton = buttonBox->button(QDialogButtonBox::Ok);
buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
buttonBox->button(QDialogButtonBox::Cancel)->setAutoDefault(false);
box->addWidget(buttonBox);
connect(nameEdit, SIGNAL(textEdited(const QString&)), this, SLOT(onNameEdited(const QString&)));
connect(buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), this, SLOT(reject()));

View File

@ -1691,7 +1691,9 @@ void ExpressionEdit::insertMatrix() {
MatrixWidget *w = new MatrixWidget(dialog);
w->setMatrixString(textCursor().selectedText());
box->addWidget(w);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, dialog);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel | QDialogButtonBox::Ok, Qt::Horizontal, dialog);
buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
buttonBox->button(QDialogButtonBox::Cancel)->setAutoDefault(false);
box->addWidget(buttonBox);
w->setFocus();
connect(buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), dialog, SLOT(accept()));

View File

@ -94,7 +94,9 @@ FunctionEditDialog::FunctionEditDialog(QWidget *parent) : QDialog(parent) {
ref1Button->setChecked(true);
ref2Button = new QRadioButton(tr("\\x, \\y, \\z, \\a, \\b, …"), this); group->addButton(ref2Button, 2); box->addWidget(ref2Button);
grid->addLayout(box, 3, 0, 1, 2);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel | QDialogButtonBox::Ok, Qt::Horizontal, this);
buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
buttonBox->button(QDialogButtonBox::Cancel)->setAutoDefault(false);
okButton = buttonBox->button(QDialogButtonBox::Ok);
topbox->addWidget(buttonBox);
connect(nameEdit, SIGNAL(textEdited(const QString&)), this, SLOT(onNameEdited(const QString&)));

View File

@ -1081,6 +1081,7 @@ void QalculateWindow::onMSClicked() {
}
void QalculateWindow::onMRClicked() {
onVariableClicked(settings->v_memory);
if(expressionEdit->toPlainText() == QString::fromStdString(settings->v_memory->preferredInputName(settings->printops.abbreviate_names, settings->printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) expressionEdit).name)) calculate();
}
void QalculateWindow::onMCClicked() {
settings->v_memory->set(m_zero);
@ -5450,7 +5451,9 @@ void QalculateWindow::onEntryEditMatrix() {
MatrixWidget *w = new MatrixWidget(dialog);
w->setMatrixString(entry->text());
box->addWidget(w);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, dialog);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel | QDialogButtonBox::Ok, Qt::Horizontal, dialog);
buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
buttonBox->button(QDialogButtonBox::Cancel)->setAutoDefault(false);
box->addWidget(buttonBox);
w->setFocus();
connect(buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), dialog, SLOT(accept()));

View File

@ -52,7 +52,9 @@ UnknownEditDialog::UnknownEditDialog(QWidget *parent) : QDialog(parent) {
grid->addWidget(signCombo, 3, 1);
typeCombo->setCurrentIndex(typeCombo->findData(CALCULATOR->defaultAssumptions()->type()));
signCombo->setCurrentIndex(signCombo->findData(CALCULATOR->defaultAssumptions()->sign()));
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel | QDialogButtonBox::Ok, Qt::Horizontal, this);
buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
buttonBox->button(QDialogButtonBox::Cancel)->setAutoDefault(false);
okButton = buttonBox->button(QDialogButtonBox::Ok);
box->addWidget(buttonBox);
connect(nameEdit, SIGNAL(textEdited(const QString&)), this, SLOT(onNameEdited(const QString&)));

View File

@ -30,12 +30,6 @@ VariableEditDialog::VariableEditDialog(QWidget *parent, bool allow_empty_value,
grid->addWidget(new QLabel(tr("Name:"), this), 0, 0);
nameEdit = new QLineEdit(this);
grid->addWidget(nameEdit, 0, 1);
temporaryBox = new QCheckBox(tr("Temporary"), this);
temporaryBox->setChecked(true);
grid->addWidget(temporaryBox, 2, 0, 1, 2, Qt::AlignRight);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
okButton = buttonBox->button(QDialogButtonBox::Ok);
box->addWidget(buttonBox);
if(b_matrix) {
matrixEdit = new MatrixWidget(this);
grid->addWidget(matrixEdit, 1, 0, 1, 2);
@ -48,6 +42,14 @@ VariableEditDialog::VariableEditDialog(QWidget *parent, bool allow_empty_value,
grid->addWidget(valueEdit, 1, 1);
connect(valueEdit, SIGNAL(textEdited(const QString&)), this, SLOT(onValueEdited(const QString&)));
}
temporaryBox = new QCheckBox(tr("Temporary"), this);
temporaryBox->setChecked(true);
grid->addWidget(temporaryBox, 2, 0, 1, 2, Qt::AlignRight);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel | QDialogButtonBox::Ok, Qt::Horizontal, this);
buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
buttonBox->button(QDialogButtonBox::Cancel)->setAutoDefault(false);
okButton = buttonBox->button(QDialogButtonBox::Ok);
box->addWidget(buttonBox);
nameEdit->setFocus();
connect(nameEdit, SIGNAL(textEdited(const QString&)), this, SLOT(onNameEdited(const QString&)));
connect(buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), this, SLOT(reject()));