diff --git a/src/meshlab/mainwindow_RunTime.cpp b/src/meshlab/mainwindow_RunTime.cpp index 901131403..e7a4b765e 100644 --- a/src/meshlab/mainwindow_RunTime.cpp +++ b/src/meshlab/mainwindow_RunTime.cpp @@ -2613,7 +2613,6 @@ bool MainWindow::loadMesh(const QString& fileName, MeshIOInterface *pCurrentIOPl saveRecentFileList(fileName); - if(!meshDoc()->mm()->cm.textures.empty()) updateTexture(meshDoc()->mm()->id()); diff --git a/src/meshlab/ml_render_gui.cpp b/src/meshlab/ml_render_gui.cpp index fc1200210..84ae3b499 100644 --- a/src/meshlab/ml_render_gui.cpp +++ b/src/meshlab/ml_render_gui.cpp @@ -1492,6 +1492,15 @@ void MLRenderingGlobalToolbar::statusConsistencyCheck(const MLSceneGLSharedDataC isvalidforall &= rendact->isRenderingDataEnabled(it.value()); } rgact->setChecked(isvalidforall); + MLRenderingZeroOrOneActionGroup* actgroup = qobject_cast(rgact->actionGroup()); + if (actgroup != NULL) + { + if (rgact->isChecked()) + actgroup->setLastClicked(rgact); + else + if (actgroup->checkedAction() == NULL) + actgroup->setLastClicked(NULL); + } } } } @@ -1648,6 +1657,11 @@ MLRenderingZeroOrOneActionGroup::MLRenderingZeroOrOneActionGroup(QObject* parent connect(this, SIGNAL(triggered(QAction*)), this, SLOT(toggle(QAction*))); } +void MLRenderingZeroOrOneActionGroup::setLastClicked(MLRenderingGlobalAction* ga) +{ + _lastclicked = ga; +} + void MLRenderingZeroOrOneActionGroup::toggle(QAction* act) { if (act == NULL) @@ -1655,6 +1669,7 @@ void MLRenderingZeroOrOneActionGroup::toggle(QAction* act) MLRenderingGlobalAction* ract = qobject_cast(act); if (ract == NULL) return; + foreach(QAction* curract, actions()) { MLRenderingGlobalAction* rendcurract = qobject_cast(curract); @@ -1666,6 +1681,7 @@ void MLRenderingZeroOrOneActionGroup::toggle(QAction* act) else if ((ract == rendcurract) && (_lastclicked == ract)) _lastclicked = NULL; + } } } diff --git a/src/meshlab/ml_render_gui.h b/src/meshlab/ml_render_gui.h index 273e6b033..04bbbc7c6 100644 --- a/src/meshlab/ml_render_gui.h +++ b/src/meshlab/ml_render_gui.h @@ -43,6 +43,7 @@ public: public: bool isEsclusive() { return true; } + void setLastClicked(MLRenderingGlobalAction* ga); private slots : void setExclusive(bool) {} void toggle(QAction* act); @@ -301,7 +302,6 @@ private: MLRenderingGlobalAction* _solidvertcolglobact; MLRenderingGlobalAction* _solidfacecolglobact; MLRenderingGlobalAction* _solidtextcolglobact; - signals: void updateRenderingDataAccordingToAction(MLRenderingGlobalAction*); //void updateRenderingDataAccordingToAction(int, MLRenderingAction*,bool);