EvalSpinBox new "calculationVisible" property

This commit is contained in:
2020-11-11 22:29:08 +03:00
parent 925437f809
commit 649ec22a11
3 changed files with 14 additions and 3 deletions

View File

@@ -3,7 +3,7 @@ cmake_policy(SET CMP0017 NEW) # need include() with .cmake
project(qad) project(qad)
set(qad_MAJOR 1) set(qad_MAJOR 1)
set(qad_MINOR 14) set(qad_MINOR 14)
set(qad_REVISION 2) set(qad_REVISION 3)
set(qad_SUFFIX ) set(qad_SUFFIX )
set(qad_COMPANY SHS) set(qad_COMPANY SHS)
set(qad_DOMAIN org.SHS) set(qad_DOMAIN org.SHS)

View File

@@ -30,6 +30,7 @@ EvalSpinBox::EvalSpinBox(QWidget * parent): QAbstractSpinBox(parent) {
cw->setToolTip(tr("Clear")); cw->setToolTip(tr("Clear"));
cw->hide(); cw->hide();
cw_visible = false; cw_visible = false;
calc_visible = true;
//lineEdit()->setStyleSheet("color: darkgreen;"); //lineEdit()->setStyleSheet("color: darkgreen;");
//lineEdit()->setText(eval.expression() + " -> " + QString::number(value(), 'G', 10)); //lineEdit()->setText(eval.expression() + " -> " + QString::number(value(), 'G', 10));
cw->installEventFilter(this); cw->installEventFilter(this);
@@ -277,7 +278,8 @@ void EvalSpinBox::focusOutEvent(QFocusEvent * event) {
label->setText("<html><head/><body><p><span style=\"color:#005500;\">-&gt; " + QString::number(value(), 'G', 10) + "</span></p></body></html>"); label->setText("<html><head/><body><p><span style=\"color:#005500;\">-&gt; " + QString::number(value(), 'G', 10) + "</span></p></body></html>");
else else
label->setText(""); label->setText("");
label->show(); if (calc_visible)
label->show();
lineEdit()->blockSignals(true); lineEdit()->blockSignals(true);
if (!eval->isCorrect()) lineEdit()->setStyleSheet("color: darkred;"); if (!eval->isCorrect()) lineEdit()->setStyleSheet("color: darkred;");
else status->hide(); else status->hide();
@@ -338,3 +340,9 @@ void EvalSpinBox::setClearButtonVisible(bool visible) {
cw->setVisible((eval->expression() != dt || (dt.isEmpty() && eval->expression() == "0")) && cw_visible); cw->setVisible((eval->expression() != dt || (dt.isEmpty() && eval->expression() == "0")) && cw_visible);
resizeIcons(); resizeIcons();
} }
void EvalSpinBox::setCalculationVisible(bool visible) {
calc_visible = visible;
setExpression_();
}

View File

@@ -36,6 +36,7 @@ class QAD_WIDGETS_EXPORT EvalSpinBox: public QAbstractSpinBox
Q_PROPERTY(QString expression READ expression WRITE setExpression USER true) Q_PROPERTY(QString expression READ expression WRITE setExpression USER true)
Q_PROPERTY(QString defaultText READ defaultText WRITE setDefaultText) Q_PROPERTY(QString defaultText READ defaultText WRITE setDefaultText)
Q_PROPERTY(bool clearButtonVisible READ isClearButtonVisible WRITE setClearButtonVisible) Q_PROPERTY(bool clearButtonVisible READ isClearButtonVisible WRITE setClearButtonVisible)
Q_PROPERTY(bool calculationVisible READ isCalculationVisible WRITE setCalculationVisible)
Q_PROPERTY(int precision READ precision WRITE setPrecision) Q_PROPERTY(int precision READ precision WRITE setPrecision)
public: public:
@@ -46,6 +47,7 @@ public:
const QString & expression() const; const QString & expression() const;
const QString & defaultText() const {return dt;} const QString & defaultText() const {return dt;}
bool isClearButtonVisible() const {return cw_visible;} bool isClearButtonVisible() const {return cw_visible;}
bool isCalculationVisible() const {return calc_visible;}
bool isCleared() const; bool isCleared() const;
int precision() const {return precision_;} int precision() const {return precision_;}
@@ -73,7 +75,7 @@ protected:
QImage icon; QImage icon;
QImage clear_im; QImage clear_im;
QString dt; QString dt;
bool cw_visible; bool cw_visible, calc_visible;
int precision_; int precision_;
private: private:
@@ -94,6 +96,7 @@ public slots:
void setValue(double val); void setValue(double val);
void setDefaultText(const QString & t); void setDefaultText(const QString & t);
void setClearButtonVisible(bool visible); void setClearButtonVisible(bool visible);
void setCalculationVisible(bool visible);
void setPrecision(int precision) {precision_ = precision;} void setPrecision(int precision) {precision_ = precision;}
signals: signals: