UserVariables branch merge
This commit is contained in:
+64
-7
@@ -57,13 +57,17 @@ namespace glabels
|
||||
Model::Model()
|
||||
: mUntitledInstance(0), mModified(true), mRotate(false)
|
||||
{
|
||||
mVariables = new Variables();
|
||||
mMerge = new merge::None();
|
||||
|
||||
connect( mVariables, SIGNAL(changed()), this, SLOT(onVariablesChanged()) );
|
||||
}
|
||||
|
||||
|
||||
Model::Model( merge::Merge* merge )
|
||||
Model::Model( merge::Merge* merge, Variables* variables )
|
||||
: mUntitledInstance(0), mModified(true), mRotate(false)
|
||||
{
|
||||
mVariables = variables; // Shared
|
||||
mMerge = merge; // Shared
|
||||
}
|
||||
|
||||
@@ -73,7 +77,8 @@ namespace glabels
|
||||
///
|
||||
Model::~Model()
|
||||
{
|
||||
// Final instance of mMerge to be deleted by Model owner
|
||||
qDeleteAll( mObjectList );
|
||||
// Final instance of mMerge and mVariables to be deleted by Model owner
|
||||
}
|
||||
|
||||
|
||||
@@ -82,7 +87,7 @@ namespace glabels
|
||||
///
|
||||
Model* Model::save() const
|
||||
{
|
||||
auto* savedModel = new Model( mMerge ); // mMerge shared between models
|
||||
auto* savedModel = new Model( mMerge, mVariables ); // mMerge and mVariables shared between models
|
||||
|
||||
if ( mFileName.isEmpty() && mUntitledInstance == 0 )
|
||||
{
|
||||
@@ -283,6 +288,38 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Get directory as a QDir.
|
||||
///
|
||||
QDir Model::dir() const
|
||||
{
|
||||
if ( mFileName.isEmpty() )
|
||||
{
|
||||
return QDir::current();
|
||||
}
|
||||
else
|
||||
{
|
||||
return QFileInfo( mFileName ).absoluteDir();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Get directory as a path.
|
||||
///
|
||||
QString Model::dirPath() const
|
||||
{
|
||||
if ( mFileName.isEmpty() )
|
||||
{
|
||||
return QDir::currentPath();
|
||||
}
|
||||
else
|
||||
{
|
||||
return QFileInfo( mFileName ).absolutePath();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Get short name.
|
||||
///
|
||||
@@ -309,6 +346,15 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Get variables object
|
||||
///
|
||||
Variables* Model::variables() const
|
||||
{
|
||||
return mVariables;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Get merge object
|
||||
///
|
||||
@@ -458,6 +504,17 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Variables Changed Slot
|
||||
///
|
||||
void Model::onVariablesChanged()
|
||||
{
|
||||
setModified();
|
||||
emit changed();
|
||||
emit variablesChanged();
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Merge Source Changed Slot
|
||||
///
|
||||
@@ -1366,7 +1423,7 @@ namespace glabels
|
||||
QClipboard *clipboard = QApplication::clipboard();
|
||||
|
||||
QByteArray buffer;
|
||||
XmlLabelCreator::serializeObjects( getSelection(), buffer );
|
||||
XmlLabelCreator::serializeObjects( getSelection(), this, buffer );
|
||||
|
||||
auto *mimeData = new QMimeData;
|
||||
mimeData->setData( MIME_TYPE, buffer );
|
||||
@@ -1422,7 +1479,7 @@ namespace glabels
|
||||
{
|
||||
// Native objects
|
||||
QByteArray buffer = mimeData->data( MIME_TYPE );
|
||||
QList <ModelObject*> objects = XmlLabelParser::deserializeObjects( buffer );
|
||||
QList <ModelObject*> objects = XmlLabelParser::deserializeObjects( buffer, this );
|
||||
|
||||
unselectAll();
|
||||
foreach ( ModelObject* object, objects )
|
||||
@@ -1459,11 +1516,11 @@ namespace glabels
|
||||
///
|
||||
/// Draw label objects
|
||||
///
|
||||
void Model::draw( QPainter* painter, bool inEditor, merge::Record* record ) const
|
||||
void Model::draw( QPainter* painter, bool inEditor, merge::Record* record, Variables* variables ) const
|
||||
{
|
||||
foreach ( ModelObject* object, mObjectList )
|
||||
{
|
||||
object->draw( painter, inEditor, record );
|
||||
object->draw( painter, inEditor, record, variables );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user