Fix reopening config button when closing
This commit is contained in:
parent
fc207ebefc
commit
31aa0e1fbc
2 changed files with 34 additions and 1 deletions
|
@ -1923,9 +1923,15 @@ using namespace DVGui;
|
||||||
|
|
||||||
ColumnTransparencyPopup::ColumnTransparencyPopup(XsheetViewer *viewer,
|
ColumnTransparencyPopup::ColumnTransparencyPopup(XsheetViewer *viewer,
|
||||||
QWidget *parent)
|
QWidget *parent)
|
||||||
: QWidget(parent, Qt::Popup), m_viewer(viewer), m_lockBtn(nullptr) {
|
: QWidget(parent, Qt::Popup)
|
||||||
|
, m_viewer(viewer)
|
||||||
|
, m_lockBtn(nullptr)
|
||||||
|
, m_keepClosed(false) {
|
||||||
setFixedWidth(8 + 78 + 8 + 100 + 8 + 8 + 8 + 7);
|
setFixedWidth(8 + 78 + 8 + 100 + 8 + 8 + 8 + 7);
|
||||||
|
|
||||||
|
m_keepClosedTimer = new QTimer(this);
|
||||||
|
m_keepClosedTimer->setSingleShot(true);
|
||||||
|
|
||||||
m_slider = new QSlider(Qt::Horizontal, this);
|
m_slider = new QSlider(Qt::Horizontal, this);
|
||||||
m_slider->setMinimum(1);
|
m_slider->setMinimum(1);
|
||||||
m_slider->setMaximum(100);
|
m_slider->setMaximum(100);
|
||||||
|
@ -2019,6 +2025,9 @@ m_value->setFont(font);*/
|
||||||
ret = ret && connect(m_lockBtn, SIGNAL(clicked(bool)), this,
|
ret = ret && connect(m_lockBtn, SIGNAL(clicked(bool)), this,
|
||||||
SLOT(onLockButtonClicked(bool)));
|
SLOT(onLockButtonClicked(bool)));
|
||||||
|
|
||||||
|
ret = ret && connect(m_keepClosedTimer, SIGNAL(timeout()), this,
|
||||||
|
SLOT(resetKeepClosed()));
|
||||||
|
|
||||||
assert(ret);
|
assert(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2106,6 +2115,16 @@ void ColumnTransparencyPopup::mouseReleaseEvent(QMouseEvent *e) {
|
||||||
// hide();
|
// hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ColumnTransparencyPopup::hideEvent(QHideEvent *e) {
|
||||||
|
m_keepClosedTimer->start(300);
|
||||||
|
m_keepClosed = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ColumnTransparencyPopup::resetKeepClosed() {
|
||||||
|
if (m_keepClosedTimer) m_keepClosedTimer->stop();
|
||||||
|
m_keepClosed = false;
|
||||||
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
SoundColumnPopup::SoundColumnPopup(QWidget *parent)
|
SoundColumnPopup::SoundColumnPopup(QWidget *parent)
|
||||||
|
@ -2214,6 +2233,10 @@ void ColumnArea::openTransparencyPopup() {
|
||||||
TXshColumn *column = m_viewer->getXsheet()->getColumn(m_col);
|
TXshColumn *column = m_viewer->getXsheet()->getColumn(m_col);
|
||||||
if (!column || column->isEmpty()) return;
|
if (!column || column->isEmpty()) return;
|
||||||
|
|
||||||
|
if (m_columnTransparencyPopup->getcolumn() == column &&
|
||||||
|
m_columnTransparencyPopup->isKeepClosed())
|
||||||
|
return;
|
||||||
|
|
||||||
if (!column->isCamstandVisible()) {
|
if (!column->isCamstandVisible()) {
|
||||||
column->setCamstandVisible(true);
|
column->setCamstandVisible(true);
|
||||||
TApp::instance()->getCurrentScene()->notifySceneChanged();
|
TApp::instance()->getCurrentScene()->notifySceneChanged();
|
||||||
|
|
|
@ -222,13 +222,21 @@ class ColumnTransparencyPopup final : public QWidget {
|
||||||
XsheetViewer *m_viewer;
|
XsheetViewer *m_viewer;
|
||||||
QPushButton *m_lockBtn;
|
QPushButton *m_lockBtn;
|
||||||
|
|
||||||
|
QTimer *m_keepClosedTimer;
|
||||||
|
bool m_keepClosed;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ColumnTransparencyPopup(XsheetViewer *viewer, QWidget *parent);
|
ColumnTransparencyPopup(XsheetViewer *viewer, QWidget *parent);
|
||||||
void setColumn(TXshColumn *column);
|
void setColumn(TXshColumn *column);
|
||||||
|
TXshColumn *getcolumn() { return m_column; }
|
||||||
|
|
||||||
|
bool isKeepClosed() { return m_keepClosed; }
|
||||||
|
void setKeepClosed(bool keepClosed) { m_keepClosed = keepClosed; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// void mouseMoveEvent ( QMouseEvent * e );
|
// void mouseMoveEvent ( QMouseEvent * e );
|
||||||
void mouseReleaseEvent(QMouseEvent *e) override;
|
void mouseReleaseEvent(QMouseEvent *e) override;
|
||||||
|
void hideEvent(QHideEvent *e) override;
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void onSliderReleased();
|
void onSliderReleased();
|
||||||
|
@ -238,6 +246,8 @@ protected slots:
|
||||||
|
|
||||||
void onFilterColorChanged(int id);
|
void onFilterColorChanged(int id);
|
||||||
void onLockButtonClicked(bool on);
|
void onLockButtonClicked(bool on);
|
||||||
|
|
||||||
|
void resetKeepClosed();
|
||||||
};
|
};
|
||||||
|
|
||||||
class SoundColumnPopup final : public QWidget {
|
class SoundColumnPopup final : public QWidget {
|
||||||
|
|
Loading…
Reference in a new issue