Properly track modification status due to changes in merge or merge source.

This commit is contained in:
Jim Evins
2016-05-15 14:26:03 -04:00
parent 003641b8f2
commit a30af8eeab
3 changed files with 66 additions and 64 deletions
+4
View File
@@ -130,6 +130,8 @@ bool File::save( MainWindow *window )
} }
XmlLabelCreator::writeFile( window->model(), window->model()->fileName() ); XmlLabelCreator::writeFile( window->model(), window->model()->fileName() );
window->model()->clearModified();
return true; return true;
} }
@@ -170,6 +172,8 @@ bool File::saveAs( MainWindow *window )
XmlLabelCreator::writeFile( window->model(), fileName ); XmlLabelCreator::writeFile( window->model(), fileName );
window->model()->setFileName( fileName ); window->model()->setFileName( fileName );
window->model()->clearModified();
return true; return true;
} }
+60 -64
View File
@@ -183,7 +183,9 @@ void LabelModel::setTmplate( const glabels::Template* tmplate )
{ {
mTmplate = tmplate; mTmplate = tmplate;
mFrame = tmplate->frames().first(); mFrame = tmplate->frames().first();
mModified = true;
setModified();
emit changed(); emit changed();
emit sizeChanged(); emit sizeChanged();
@@ -209,7 +211,9 @@ void LabelModel::setRotate( bool rotate )
if (mRotate != rotate) if (mRotate != rotate)
{ {
mRotate = rotate; mRotate = rotate;
mModified = true;
setModified();
emit changed(); emit changed();
emit sizeChanged(); emit sizeChanged();
} }
@@ -288,11 +292,25 @@ void LabelModel::setMerge( Merge* merge )
delete mMerge; delete mMerge;
mMerge = merge; mMerge = merge;
connect( mMerge, SIGNAL(sourceChanged()), this, SLOT(onMergeSourceChanged()) );
setModified();
emit mergeChanged(); emit mergeChanged();
} }
} }
///
/// Set modified status
///
void LabelModel::setModified()
{
mModified = true;
emit modifiedChanged();
}
/// ///
/// Clear modified status /// Clear modified status
/// ///
@@ -314,10 +332,9 @@ void LabelModel::addObject( LabelModelObject* object )
connect( object, SIGNAL(changed()), this, SLOT(onObjectChanged()) ); connect( object, SIGNAL(changed()), this, SLOT(onObjectChanged()) );
connect( object, SIGNAL(moved()), this, SLOT(onObjectMoved()) ); connect( object, SIGNAL(moved()), this, SLOT(onObjectMoved()) );
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -331,10 +348,9 @@ void LabelModel::deleteObject( LabelModelObject* object )
disconnect( object, 0, this, 0 ); disconnect( object, 0, this, 0 );
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
delete object; delete object;
} }
@@ -388,10 +404,8 @@ Handle* LabelModel::handleAt( double scale,
/// ///
void LabelModel::onObjectChanged() void LabelModel::onObjectChanged()
{ {
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -400,10 +414,18 @@ void LabelModel::onObjectChanged()
/// ///
void LabelModel::onObjectMoved() void LabelModel::onObjectMoved()
{ {
mModified = true; setModified();
emit changed();
}
///
/// Merge Source Changed Slot
///
void LabelModel::onMergeSourceChanged()
{
setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -641,11 +663,10 @@ void LabelModel::deleteSelection()
deleteObject( object ); deleteObject( object );
} }
mModified = true; setModified();
emit changed(); emit changed();
emit selectionChanged(); emit selectionChanged();
emit modifiedChanged();
} }
@@ -667,10 +688,9 @@ void LabelModel::raiseSelectionToTop()
mObjectList.push_back( object ); mObjectList.push_back( object );
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -692,10 +712,9 @@ void LabelModel::lowerSelectionToBottom()
mObjectList.push_front( object ); mObjectList.push_front( object );
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -712,10 +731,9 @@ void LabelModel::rotateSelection( double thetaDegs )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -750,10 +768,9 @@ void LabelModel::flipSelectionHoriz()
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -770,10 +787,9 @@ void LabelModel::flipSelectionVert()
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -805,10 +821,9 @@ void LabelModel::alignSelectionLeft()
object->setPositionRelative( dx, 0 ); object->setPositionRelative( dx, 0 );
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -840,10 +855,9 @@ void LabelModel::alignSelectionRight()
object->setPositionRelative( dx, 0 ); object->setPositionRelative( dx, 0 );
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -892,10 +906,9 @@ void LabelModel::alignSelectionHCenter()
object->setPositionRelative( dx, 0 ); object->setPositionRelative( dx, 0 );
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -927,10 +940,9 @@ void LabelModel::alignSelectionTop()
object->setPositionRelative( 0, dy ); object->setPositionRelative( 0, dy );
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -962,10 +974,9 @@ void LabelModel::alignSelectionBottom()
object->setPositionRelative( 0, dy ); object->setPositionRelative( 0, dy );
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1014,10 +1025,9 @@ void LabelModel::alignSelectionVCenter()
object->setPositionRelative( 0, dy ); object->setPositionRelative( 0, dy );
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1039,10 +1049,9 @@ void LabelModel::centerSelectionHoriz()
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1064,10 +1073,9 @@ void LabelModel::centerSelectionVert()
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1084,10 +1092,9 @@ void LabelModel::moveSelection( const glabels::Distance& dx, const glabels::Dist
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1104,10 +1111,9 @@ void LabelModel::setSelectionFontFamily( const QString &fontFamily )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1124,10 +1130,9 @@ void LabelModel::setSelectionFontSize( double fontSize )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1144,10 +1149,9 @@ void LabelModel::setSelectionFontWeight( QFont::Weight fontWeight )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1164,10 +1168,9 @@ void LabelModel::setSelectionFontItalicFlag( bool fontItalicFlag )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1184,10 +1187,9 @@ void LabelModel::setSelectionTextHAlign( Qt::Alignment textHAlign )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1204,10 +1206,9 @@ void LabelModel::setSelectionTextVAlign( Qt::Alignment textVAlign )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1224,10 +1225,9 @@ void LabelModel::setSelectionTextLineSpacing( double textLineSpacing )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1244,10 +1244,9 @@ void LabelModel::setSelectionTextColorNode( ColorNode textColorNode )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1264,10 +1263,9 @@ void LabelModel::setSelectionLineWidth( const glabels::Distance& lineWidth )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1284,10 +1282,9 @@ void LabelModel::setSelectionLineColorNode( ColorNode lineColorNode )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
@@ -1304,10 +1301,9 @@ void LabelModel::setSelectionFillColorNode( ColorNode fillColorNode )
} }
} }
mModified = true; setModified();
emit changed(); emit changed();
emit modifiedChanged();
} }
+2
View File
@@ -80,6 +80,7 @@ signals:
///////////////////////////////// /////////////////////////////////
public: public:
bool isModified() const; bool isModified() const;
void setModified();
void clearModified(); void clearModified();
QString shortName(); QString shortName();
@@ -207,6 +208,7 @@ public:
private slots: private slots:
void onObjectChanged(); void onObjectChanged();
void onObjectMoved(); void onObjectMoved();
void onMergeSourceChanged();
///////////////////////////////// /////////////////////////////////