Paste image from clipboard.
This commit is contained in:
@@ -29,6 +29,7 @@
|
|||||||
|
|
||||||
#include "LabelModelObject.h"
|
#include "LabelModelObject.h"
|
||||||
#include "LabelModelTextObject.h"
|
#include "LabelModelTextObject.h"
|
||||||
|
#include "LabelModelImageObject.h"
|
||||||
#include "Region.h"
|
#include "Region.h"
|
||||||
#include "Size.h"
|
#include "Size.h"
|
||||||
#include "XmlLabelCreator.h"
|
#include "XmlLabelCreator.h"
|
||||||
@@ -1406,7 +1407,13 @@ namespace glabels
|
|||||||
else if ( mimeData->hasImage() )
|
else if ( mimeData->hasImage() )
|
||||||
{
|
{
|
||||||
// Create object from clipboard image
|
// Create object from clipboard image
|
||||||
// TODO: create an image object from image
|
LabelModelImageObject* object = new LabelModelImageObject();
|
||||||
|
object->setImage( qvariant_cast<QImage>(mimeData->imageData()) );
|
||||||
|
object->setSize( object->naturalSize() );
|
||||||
|
object->setPosition( (w()-object->w())/2.0, (h()-object->h())/2.0 );
|
||||||
|
addObject( object );
|
||||||
|
unselectAll();
|
||||||
|
selectObject( object );
|
||||||
}
|
}
|
||||||
else if ( mimeData->hasText() )
|
else if ( mimeData->hasText() )
|
||||||
{
|
{
|
||||||
@@ -1416,6 +1423,7 @@ namespace glabels
|
|||||||
object->setSize( object->naturalSize() );
|
object->setSize( object->naturalSize() );
|
||||||
object->setPosition( (w()-object->w())/2.0, (h()-object->h())/2.0 );
|
object->setPosition( (w()-object->w())/2.0, (h()-object->h())/2.0 );
|
||||||
addObject( object );
|
addObject( object );
|
||||||
|
unselectAll();
|
||||||
selectObject( object );
|
selectObject( object );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -119,6 +119,31 @@ namespace glabels
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Image Property Default Setter
|
||||||
|
///
|
||||||
|
void LabelModelImageObject::setImage( const QImage& value )
|
||||||
|
{
|
||||||
|
if ( !value.isNull() )
|
||||||
|
{
|
||||||
|
if ( mImage )
|
||||||
|
{
|
||||||
|
delete mImage;
|
||||||
|
}
|
||||||
|
if ( mSvg )
|
||||||
|
{
|
||||||
|
delete mSvg;
|
||||||
|
}
|
||||||
|
|
||||||
|
mImage = new QImage(value);
|
||||||
|
quint16 cs = qChecksum( (const char*)mImage->constBits(), mImage->byteCount() );
|
||||||
|
mFilenameNode = TextNode( false, QString("%image_%1%").arg( cs ) );
|
||||||
|
|
||||||
|
emit changed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// naturalSize Property Getter (assumes 72 DPI, i.e. 1pixel == 1pt)
|
/// naturalSize Property Getter (assumes 72 DPI, i.e. 1pixel == 1pt)
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -62,6 +62,11 @@ namespace glabels
|
|||||||
virtual TextNode filenameNode( void ) const;
|
virtual TextNode filenameNode( void ) const;
|
||||||
virtual void setFilenameNode( const TextNode& value );
|
virtual void setFilenameNode( const TextNode& value );
|
||||||
|
|
||||||
|
//
|
||||||
|
// Image Property: image
|
||||||
|
//
|
||||||
|
virtual void setImage( const QImage& value );
|
||||||
|
|
||||||
//
|
//
|
||||||
// Property: naturalSize
|
// Property: naturalSize
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -600,6 +600,16 @@ namespace glabels
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Virtual Image Property Default Setter
|
||||||
|
/// (Overridden by concrete class)
|
||||||
|
///
|
||||||
|
void LabelModelObject::setImage( const QImage& value )
|
||||||
|
{
|
||||||
|
// empty
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Virtual Line Width Property Default Getter
|
/// Virtual Line Width Property Default Getter
|
||||||
/// (Overridden by concrete class)
|
/// (Overridden by concrete class)
|
||||||
|
|||||||
@@ -254,6 +254,12 @@ namespace glabels
|
|||||||
virtual void setFilenameNode( const TextNode &value );
|
virtual void setFilenameNode( const TextNode &value );
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Virtual Image Property: image
|
||||||
|
//
|
||||||
|
virtual void setImage( const QImage& value );
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////
|
||||||
// Shape Properties Virtual Interface
|
// Shape Properties Virtual Interface
|
||||||
///////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user