Correct modes interaction

This commit is contained in:
akl 2013-10-25 08:17:17 +00:00
parent 4fc25cf22b
commit 1b285d81c4
2 changed files with 21 additions and 7 deletions

View File

@ -246,7 +246,7 @@ void CurveCreator_Widget::onSelectionChanged()
anEnabledAct << UP_ID; anEnabledAct << UP_ID;
} }
if( aSelSections.size() == 1 ){ if( aSelSections.size() == 1 ){
anEnabledAct << CREATION_MODE_ID << EDITION_MODE_ID; anEnabledAct << CREATION_MODE_ID << EDITION_MODE_ID << DETECTION_MODE_ID;
} }
if( aSelSections[ aSelSections.size() - 1 ] < ( myCurve->getNbSections() - 1 ) ){ if( aSelSections[ aSelSections.size() - 1 ] < ( myCurve->getNbSections() - 1 ) ){
anEnabledAct << DOWN_ID; anEnabledAct << DOWN_ID;
@ -361,16 +361,22 @@ void CurveCreator_Widget::onModeChanged(bool checked)
QAction* anAction = (QAction*)sender(); QAction* anAction = (QAction*)sender();
switch(myActionMap.key(anAction)) { switch(myActionMap.key(anAction)) {
case CREATION_MODE_ID: case CREATION_MODE_ID:
myActionMap[EDITION_MODE_ID]->setChecked(false); if (myActionMap[EDITION_MODE_ID]->isChecked())
myActionMap[DETECTION_MODE_ID]->setChecked(false); myActionMap[EDITION_MODE_ID]->trigger();
else if (myActionMap[DETECTION_MODE_ID]->isChecked())
myActionMap[DETECTION_MODE_ID]->trigger();
break; break;
case EDITION_MODE_ID: case EDITION_MODE_ID:
myActionMap[CREATION_MODE_ID]->setChecked(false); if (myActionMap[CREATION_MODE_ID]->isChecked())
myActionMap[DETECTION_MODE_ID]->setChecked(false); myActionMap[CREATION_MODE_ID]->trigger();
else if (myActionMap[DETECTION_MODE_ID]->isChecked())
myActionMap[DETECTION_MODE_ID]->trigger();
break; break;
case DETECTION_MODE_ID: case DETECTION_MODE_ID:
myActionMap[CREATION_MODE_ID]->setChecked(false); if (myActionMap[CREATION_MODE_ID]->isChecked())
myActionMap[EDITION_MODE_ID]->setChecked(false); myActionMap[CREATION_MODE_ID]->trigger();
else if (myActionMap[EDITION_MODE_ID]->isChecked())
myActionMap[EDITION_MODE_ID]->trigger();
break; break;
} }
} }

View File

@ -5335,6 +5335,14 @@ Ignoring units will cause model scaling (as dimensions are supposed to be specif
<source>EDITION_MODE_TLT</source> <source>EDITION_MODE_TLT</source>
<translation>Edition mode</translation> <translation>Edition mode</translation>
</message> </message>
<message>
<source>DETECTION_MODE</source>
<translation>Detection mode</translation>
</message>
<message>
<source>DETECTION_MODE_TLT</source>
<translation>Detection mode</translation>
</message>
<message> <message>
<source>INSERT_POINT_BEFORE</source> <source>INSERT_POINT_BEFORE</source>
<translation>Insert point before</translation> <translation>Insert point before</translation>