Implemented text auto shrink feature.

This commit is contained in:
Jim Evins
2018-07-08 20:39:14 -04:00
parent 0832acabf5
commit 12b02d2521
10 changed files with 451 additions and 282 deletions
+2
View File
@@ -246,6 +246,7 @@ namespace glabels
textVAlignGroup->button( mObject->textVAlign() )->setChecked( true );
textWrapModeCombo->setCurrentIndex( wrapIndex );
textLineSpacingSpin->setValue( mObject->textLineSpacing() );
textAutoShrinkCheck->setChecked( mObject->textAutoShrink() );
textEdit->setText( mObject->text() );
mBlocked = false;
@@ -718,6 +719,7 @@ namespace glabels
mObject->setTextVAlign( Qt::AlignmentFlag( textVAlignGroup->checkedId() ) );
mObject->setTextWrapMode( wrapMode );
mObject->setTextLineSpacing( textLineSpacingSpin->value() );
mObject->setTextAutoShrink( textAutoShrinkCheck->isChecked() );
mObject->setText( textEdit->toPlainText() );
mBlocked = false;
+107 -84
View File
@@ -32,6 +32,41 @@
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="titleImageLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap>:/icons/24x24/actions/glabels-object-properties.png</pixmap>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="titleLabel">
<property name="font">
<font>
<family>Sans Serif</family>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Object properties</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QTabWidget" name="notebook">
<property name="currentIndex">
@@ -297,6 +332,13 @@
</item>
</layout>
</item>
<item row="3" column="0" colspan="2">
<widget class="QCheckBox" name="textAutoShrinkCheck">
<property name="text">
<string>Allow printing to shrink text to fit object</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
@@ -331,14 +373,14 @@
</property>
</widget>
</item>
<item row="2" column="0">
<item row="3" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Style:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<item row="3" column="1">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="textFontBoldToggle">
@@ -418,7 +460,7 @@
</item>
</layout>
</item>
<item row="3" column="0">
<item row="4" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Color:</string>
@@ -455,7 +497,7 @@
</item>
</layout>
</item>
<item row="3" column="1">
<item row="4" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_23">
<item>
<widget class="glabels::ColorButton" name="textColorButton">
@@ -1476,41 +1518,6 @@
</widget>
</widget>
</item>
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="titleImageLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap>:/icons/24x24/actions/glabels-object-properties.png</pixmap>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="titleLabel">
<property name="font">
<font>
<family>Sans Serif</family>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Object properties</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<customwidgets>
@@ -1631,7 +1638,7 @@
<hints>
<hint type="sourcelabel">
<x>132</x>
<y>248</y>
<y>247</y>
</hint>
<hint type="destinationlabel">
<x>396</x>
@@ -1758,8 +1765,8 @@
<slot>onLineControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>178</x>
<y>143</y>
</hint>
<hint type="destinationlabel">
<x>392</x>
@@ -1774,8 +1781,8 @@
<slot>onLineControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>137</x>
<y>179</y>
</hint>
<hint type="destinationlabel">
<x>1</x>
@@ -1790,8 +1797,8 @@
<slot>onFillControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>136</x>
<y>263</y>
</hint>
<hint type="destinationlabel">
<x>6</x>
@@ -1806,8 +1813,8 @@
<slot>onPositionControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>159</x>
<y>142</y>
</hint>
<hint type="destinationlabel">
<x>399</x>
@@ -1822,8 +1829,8 @@
<slot>onPositionControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>159</x>
<y>179</y>
</hint>
<hint type="destinationlabel">
<x>325</x>
@@ -1838,8 +1845,8 @@
<slot>onRectSizeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>111</y>
<x>159</x>
<y>265</y>
</hint>
<hint type="destinationlabel">
<x>3</x>
@@ -1854,8 +1861,8 @@
<slot>onRectSizeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>111</y>
<x>159</x>
<y>302</y>
</hint>
<hint type="destinationlabel">
<x>0</x>
@@ -1870,8 +1877,8 @@
<slot>onResetImageSize()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>111</y>
<x>210</x>
<y>372</y>
</hint>
<hint type="destinationlabel">
<x>4</x>
@@ -1902,8 +1909,8 @@
<slot>onShadowControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>165</x>
<y>142</y>
</hint>
<hint type="destinationlabel">
<x>398</x>
@@ -1918,8 +1925,8 @@
<slot>onShadowControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>165</x>
<y>179</y>
</hint>
<hint type="destinationlabel">
<x>294</x>
@@ -1934,8 +1941,8 @@
<slot>onShadowControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>142</x>
<y>215</y>
</hint>
<hint type="destinationlabel">
<x>399</x>
@@ -1950,8 +1957,8 @@
<slot>onShadowControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>159</x>
<y>252</y>
</hint>
<hint type="destinationlabel">
<x>399</x>
@@ -1966,8 +1973,8 @@
<slot>onLineSizeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>116</y>
<x>174</x>
<y>456</y>
</hint>
<hint type="destinationlabel">
<x>5</x>
@@ -1982,8 +1989,8 @@
<slot>onLineSizeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>116</y>
<x>174</x>
<y>493</y>
</hint>
<hint type="destinationlabel">
<x>1</x>
@@ -1998,8 +2005,8 @@
<slot>onImageFileButtonClicked()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>133</x>
<y>175</y>
</hint>
<hint type="destinationlabel">
<x>394</x>
@@ -2014,8 +2021,8 @@
<slot>onImageKeySelected(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>302</x>
<y>175</y>
</hint>
<hint type="destinationlabel">
<x>397</x>
@@ -2062,8 +2069,8 @@
<slot>onBarcodeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>178</x>
<y>172</y>
</hint>
<hint type="destinationlabel">
<x>4</x>
@@ -2078,8 +2085,8 @@
<slot>onBarcodeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>105</x>
<y>106</y>
<x>164</x>
<y>204</y>
</hint>
<hint type="destinationlabel">
<x>1</x>
@@ -2094,8 +2101,8 @@
<slot>onBarcodeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>100</x>
<y>106</y>
<x>126</x>
<y>239</y>
</hint>
<hint type="destinationlabel">
<x>1</x>
@@ -2110,8 +2117,8 @@
<slot>onBarcodeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>112</y>
<x>132</x>
<y>325</y>
</hint>
<hint type="destinationlabel">
<x>398</x>
@@ -2126,8 +2133,8 @@
<slot>onBarcodeInsertFieldKeySelected(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>112</y>
<x>239</x>
<y>400</y>
</hint>
<hint type="destinationlabel">
<x>403</x>
@@ -2142,8 +2149,8 @@
<slot>onBarcodeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>119</x>
<y>106</y>
<x>178</x>
<y>140</y>
</hint>
<hint type="destinationlabel">
<x>5</x>
@@ -2167,6 +2174,22 @@
</hint>
</hints>
</connection>
<connection>
<sender>textAutoShrinkCheck</sender>
<signal>toggled(bool)</signal>
<receiver>ObjectEditor</receiver>
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>130</x>
<y>431</y>
</hint>
<hint type="destinationlabel">
<x>359</x>
<y>636</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>onChanged()</slot>
+20
View File
@@ -634,6 +634,26 @@ namespace glabels
}
///
/// Virtual Text Auto Shrink Property Default Getter
/// (Overridden by concrete class)
///
bool ModelObject::textAutoShrink() const
{
return false;
}
///
/// Virtual Text Auto Shrink Property Default Setter
/// (Overridden by concrete class)
///
void ModelObject::setTextAutoShrink( bool value )
{
// empty
}
///
/// Virtual Filename Node Property Default Getter
/// (Overridden by concrete class)
+7
View File
@@ -265,6 +265,13 @@ namespace glabels
virtual void setTextLineSpacing( double value );
//
// Virtual Text Property: textAutoShrink
//
virtual bool textAutoShrink() const;
virtual void setTextAutoShrink( bool value );
///////////////////////////////////////////////////////////////
// Image Properties Virtual Interface
///////////////////////////////////////////////////////////////
+95 -1
View File
@@ -71,6 +71,7 @@ namespace glabels
mTextVAlign = Qt::AlignTop;
mTextWrapMode = QTextOption::WordWrap;
mTextLineSpacing = 1;
mTextAutoShrink = false;
}
@@ -92,6 +93,7 @@ namespace glabels
Qt::Alignment textVAlign,
QTextOption::WrapMode textWrapMode,
double textLineSpacing,
bool textAutoShrink,
const QMatrix& matrix,
bool shadowState,
const Distance& shadowX,
@@ -124,6 +126,7 @@ namespace glabels
mTextVAlign = textVAlign;
mTextWrapMode = textWrapMode;
mTextLineSpacing = textLineSpacing;
mTextAutoShrink = textAutoShrink;
update(); // Initialize cached editor layouts
}
@@ -146,6 +149,7 @@ namespace glabels
mTextVAlign = object->mTextVAlign;
mTextWrapMode = object->mTextWrapMode;
mTextLineSpacing = object->mTextLineSpacing;
mTextAutoShrink = object->mTextAutoShrink;
update(); // Initialize cached editor layouts
}
@@ -428,6 +432,29 @@ namespace glabels
}
///
/// TextAutoShrink Property Getter
///
bool ModelTextObject::textAutoShrink() const
{
return mTextAutoShrink;
}
///
/// TextAutoShrink Property Setter
///
void ModelTextObject::setTextAutoShrink( bool value )
{
if ( mTextAutoShrink != value )
{
mTextAutoShrink = value;
update();
emit changed();
}
}
///
/// NaturalSize Property Getter
///
@@ -677,7 +704,7 @@ namespace glabels
QFont font;
font.setFamily( mFontFamily );
font.setPointSizeF( mFontSize );
font.setPointSizeF( mTextAutoShrink ? autoShrinkFontSize( record ) : mFontSize );
font.setWeight( mFontWeight );
font.setItalic( mFontItalicFlag );
font.setUnderline( mFontUnderlineFlag );
@@ -758,5 +785,72 @@ namespace glabels
painter->restore();
}
///
/// Determine auto shrink font size
///
double
ModelTextObject::autoShrinkFontSize( merge::Record* record ) const
{
QFont font;
font.setFamily( mFontFamily );
font.setWeight( mFontWeight );
font.setItalic( mFontItalicFlag );
font.setUnderline( mFontUnderlineFlag );
QTextOption textOption;
textOption.setAlignment( mTextHAlign );
textOption.setWrapMode( mTextWrapMode );
QTextDocument document( mText.expand( record ) );
double candidateSize = mFontSize;
while ( candidateSize > 1.0 )
{
font.setPointSizeF( candidateSize );
// Line spacing is affected by font size
QFontMetricsF fontMetrics( font );
double dy = fontMetrics.lineSpacing() * mTextLineSpacing;
// Do candidate layouts, letting text flow according to wrap mode
double x = 0;
double y = 0;
QRectF layoutsRect;
for ( int i = 0; i < document.blockCount(); i++ )
{
QTextLayout layout( document.findBlockByNumber(i).text() );
layout.setFont( font );
layout.setTextOption( textOption );
layout.setCacheEnabled(true);
layout.beginLayout();
for ( QTextLine l = layout.createLine(); l.isValid(); l = layout.createLine() )
{
l.setLineWidth( mW.pt() - 2*marginPts );
l.setPosition( QPointF( x, y ) );
y += dy;
}
layout.endLayout();
layoutsRect = layout.boundingRect().united( layoutsRect );
}
// Did this candidate fit in our object's bounding box?
if ( ( (layoutsRect.width() + 2*marginPts) <= mW.pt() ) &&
( (layoutsRect.height() + 2*marginPts) <= mH.pt() ) )
{
break;
}
// If not, let's try a slightly smaller font size
candidateSize -= 0.5;
}
return candidateSize;
}
}
}
+10
View File
@@ -61,6 +61,7 @@ namespace glabels
Qt::Alignment textVAlign,
QTextOption::WrapMode textWrapMode,
double textLineSpacing,
bool textAutoShrink,
const QMatrix& matrix = QMatrix(),
bool shadowState = false,
const Distance& shadowX = 0,
@@ -160,6 +161,13 @@ namespace glabels
void setTextLineSpacing( double value ) override;
//
// Text Property: textAutoShrink
//
bool textAutoShrink() const override;
void setTextAutoShrink( bool value ) override;
//
// Property: naturalSize
//
@@ -191,6 +199,7 @@ namespace glabels
void drawTextInEditor( QPainter* painter, const QColor& color ) const;
void drawText( QPainter* painter, const QColor&color, merge::Record* record ) const;
QString expandText( QString text, merge::Record* record ) const;
double autoShrinkFontSize( merge::Record* record ) const;
///////////////////////////////////////////////////////////////
@@ -208,6 +217,7 @@ namespace glabels
Qt::Alignment mTextVAlign;
QTextOption::WrapMode mTextWrapMode;
double mTextLineSpacing;
bool mTextAutoShrink;
QList<QTextLayout*> mEditorLayouts;
QPainterPath mHoverPath;
+2 -1
View File
@@ -338,10 +338,11 @@ namespace glabels
XmlUtil::setBoolAttr( node, "font_underline", object->fontUnderlineFlag() );
/* text attrs */
XmlUtil::setDoubleAttr( node, "line_spacing", object->textLineSpacing() );
XmlUtil::setAlignmentAttr( node, "align", object->textHAlign() );
XmlUtil::setAlignmentAttr( node, "valign", object->textVAlign() );
XmlUtil::setWrapModeAttr( node, "wrap", object->textWrapMode() );
XmlUtil::setDoubleAttr( node, "line_spacing", object->textLineSpacing() );
XmlUtil::setBoolAttr( node, "auto_shrink", object->textAutoShrink() );
/* affine attrs */
createAffineAttrs( node, object );
+2
View File
@@ -633,6 +633,7 @@ namespace glabels
Qt::Alignment textHAlign = XmlUtil::getAlignmentAttr( node, "align", Qt::AlignLeft );
Qt::Alignment textVAlign = XmlUtil::getAlignmentAttr( node, "valign", Qt::AlignTop );
QTextOption::WrapMode textWrapMode = XmlUtil::getWrapModeAttr( node, "wrap", QTextOption::WordWrap );
bool textAutoShrink = XmlUtil::getBoolAttr( node, "auto_shrink", false );
/* affine attrs */
double a[6];
@@ -682,6 +683,7 @@ namespace glabels
text,
fontFamily, fontSize, fontWeight, fontItalicFlag, fontUnderlineFlag,
textColorNode, textHAlign, textVAlign, textWrapMode, textLineSpacing,
textAutoShrink,
QMatrix( a[0], a[1], a[2], a[3], a[4], a[5] ),
shadowState, shadowX, shadowY, shadowOpacity, shadowColorNode );
}
+103 -98
View File
@@ -346,235 +346,240 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="42"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="77"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="48"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="83"/>
<source>Layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="54"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="89"/>
<source>Alignment:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="226"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="261"/>
<source>Line spacing:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="260"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="295"/>
<source>Wrap mode:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="270"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="305"/>
<source>Word</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="306"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="338"/>
<source>Allow printing to shrink text to fit object</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="348"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="320"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="362"/>
<source>Family:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="330"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="372"/>
<source>Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="337"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="379"/>
<source>Style:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="424"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="614"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="854"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="946"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1392"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="466"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="656"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="896"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="988"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1434"/>
<source>Color:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="516"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="558"/>
<source>Editor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="566"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="608"/>
<source>Barcode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="585"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="627"/>
<source>Style</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="593"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="635"/>
<source>Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="600"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="642"/>
<source>Show text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="607"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="649"/>
<source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="666"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="708"/>
<source>Barcode data</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="716"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="758"/>
<source>Image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="722"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="764"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="280"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="745"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="315"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="787"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="275"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="310"/>
<source>Anywhere</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="760"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="802"/>
<source>Select File...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="773"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="815"/>
<source>or</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="787"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="829"/>
<source>Select Merge Field...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="816"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="858"/>
<source>Line/Fill</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="824"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="866"/>
<source>Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="841"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1236"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="883"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1278"/>
<source>Width:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="932"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="974"/>
<source>Fill</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1000"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1042"/>
<source>Position/Size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1006"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1048"/>
<source>Position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1020"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1062"/>
<source>X:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1040"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1082"/>
<source>Y:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1072"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1154"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1114"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1196"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1086"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1128"/>
<source>Length:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1106"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1148"/>
<source>Angle:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1178"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1220"/>
<source>Original size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1185"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1227"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1277"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1319"/>
<source>Lock aspect ratio</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1292"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1334"/>
<source>Height:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1318"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1324"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1360"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1366"/>
<source>Shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1338"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1380"/>
<source>X offset:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1365"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1407"/>
<source>Y offset:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1399"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1441"/>
<source>Opacity:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1508"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="64"/>
<source>Object properties</source>
<translation type="unfinished"></translation>
</message>
@@ -2163,25 +2168,15 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="361"/>
<location filename="../glabels/ObjectEditor.cpp" line="362"/>
<source>Box object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="363"/>
<location filename="../glabels/ObjectEditor.cpp" line="384"/>
<location filename="../glabels/ObjectEditor.cpp" line="425"/>
<source>line/fill</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="364"/>
<location filename="../glabels/ObjectEditor.cpp" line="385"/>
<location filename="../glabels/ObjectEditor.cpp" line="406"/>
<location filename="../glabels/ObjectEditor.cpp" line="426"/>
<location filename="../glabels/ObjectEditor.cpp" line="447"/>
<location filename="../glabels/ObjectEditor.cpp" line="466"/>
<source>position/size</source>
<source>line/fill</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -2190,153 +2185,163 @@
<location filename="../glabels/ObjectEditor.cpp" line="407"/>
<location filename="../glabels/ObjectEditor.cpp" line="427"/>
<location filename="../glabels/ObjectEditor.cpp" line="448"/>
<location filename="../glabels/ObjectEditor.cpp" line="467"/>
<source>position/size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="366"/>
<location filename="../glabels/ObjectEditor.cpp" line="387"/>
<location filename="../glabels/ObjectEditor.cpp" line="408"/>
<location filename="../glabels/ObjectEditor.cpp" line="428"/>
<location filename="../glabels/ObjectEditor.cpp" line="449"/>
<source>shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="382"/>
<location filename="../glabels/ObjectEditor.cpp" line="383"/>
<source>Ellipse object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="403"/>
<location filename="../glabels/ObjectEditor.cpp" line="404"/>
<source>Image object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="405"/>
<location filename="../glabels/ObjectEditor.cpp" line="406"/>
<source>image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="423"/>
<location filename="../glabels/ObjectEditor.cpp" line="424"/>
<source>Line object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="444"/>
<location filename="../glabels/ObjectEditor.cpp" line="445"/>
<source>Text object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="446"/>
<location filename="../glabels/ObjectEditor.cpp" line="447"/>
<source>text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="463"/>
<location filename="../glabels/ObjectEditor.cpp" line="464"/>
<source>Barcode object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="465"/>
<location filename="../glabels/ObjectEditor.cpp" line="466"/>
<source>barcode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="491"/>
<location filename="../glabels/ObjectEditor.cpp" line="492"/>
<source>Object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="548"/>
<location filename="../glabels/ObjectEditor.cpp" line="549"/>
<source>Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="564"/>
<location filename="../glabels/ObjectEditor.cpp" line="565"/>
<source>Fill</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="587"/>
<location filename="../glabels/ObjectEditor.cpp" line="588"/>
<source>Image files (*.png *.jpg *.jpeg *.gif *.bmp *.pbm *.pgm *.ppm *.xbm *.xpm *.svg)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="588"/>
<location filename="../glabels/ObjectEditor.cpp" line="589"/>
<source>All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="589"/>
<location filename="../glabels/ObjectEditor.cpp" line="590"/>
<source>PNG - Portable Network Graphics (*.png)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="590"/>
<location filename="../glabels/ObjectEditor.cpp" line="591"/>
<source>BMP - Windows Bitmap (*.bmp)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="591"/>
<location filename="../glabels/ObjectEditor.cpp" line="592"/>
<source>GIF - Graphics Interchange Format (*.gif)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="592"/>
<location filename="../glabels/ObjectEditor.cpp" line="593"/>
<source>JPEG - Joint Photographic Experts Group (*.jpg *.jpeg)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="593"/>
<location filename="../glabels/ObjectEditor.cpp" line="594"/>
<source>PBM - Portable Bitmap (*.pbm)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="594"/>
<location filename="../glabels/ObjectEditor.cpp" line="595"/>
<source>PGM - Portable Graymap (*.pgm)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="595"/>
<location filename="../glabels/ObjectEditor.cpp" line="596"/>
<source>PPM - Portable Pixmap (*.ppm)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="596"/>
<location filename="../glabels/ObjectEditor.cpp" line="597"/>
<source>SVG - Scalable Vector Graphics (*.svg)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="597"/>
<location filename="../glabels/ObjectEditor.cpp" line="598"/>
<source>XBM - X11 Bitmap (*.xbm)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="598"/>
<location filename="../glabels/ObjectEditor.cpp" line="599"/>
<source>XPM - X11 Pixmap (*.xpm)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="602"/>
<location filename="../glabels/ObjectEditor.cpp" line="603"/>
<source>gLabels - Select image file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="607"/>
<location filename="../glabels/ObjectEditor.cpp" line="619"/>
<location filename="../glabels/ObjectEditor.cpp" line="608"/>
<location filename="../glabels/ObjectEditor.cpp" line="620"/>
<source>Set image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="630"/>
<location filename="../glabels/ObjectEditor.cpp" line="631"/>
<source>Move</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="648"/>
<location filename="../glabels/ObjectEditor.cpp" line="682"/>
<location filename="../glabels/ObjectEditor.cpp" line="649"/>
<location filename="../glabels/ObjectEditor.cpp" line="683"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="701"/>
<location filename="../glabels/ObjectEditor.cpp" line="702"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="784"/>
<location filename="../glabels/ObjectEditor.cpp" line="786"/>
<source>Shadow</source>
<translation type="unfinished"></translation>
</message>
@@ -3065,8 +3070,8 @@
<context>
<name>glabels::model::ModelTextObject</name>
<message>
<location filename="../model/ModelTextObject.cpp" line="450"/>
<location filename="../model/ModelTextObject.cpp" line="572"/>
<location filename="../model/ModelTextObject.cpp" line="477"/>
<location filename="../model/ModelTextObject.cpp" line="599"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
+103 -98
View File
@@ -346,235 +346,240 @@
<translation>Form</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="42"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="77"/>
<source>Text</source>
<translation>Text</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="48"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="83"/>
<source>Layout</source>
<translation>Anordnung</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="54"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="89"/>
<source>Alignment:</source>
<translation>Ausrichtung:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="226"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="261"/>
<source>Line spacing:</source>
<translation>Zeilenabstand:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="260"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="295"/>
<source>Wrap mode:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="270"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="305"/>
<source>Word</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="306"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="338"/>
<source>Allow printing to shrink text to fit object</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="348"/>
<source>Font</source>
<translation>Schrift</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="320"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="362"/>
<source>Family:</source>
<translation>Familie:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="330"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="372"/>
<source>Size:</source>
<translation>Größe:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="337"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="379"/>
<source>Style:</source>
<translation>Stil:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="424"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="614"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="854"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="946"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1392"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="466"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="656"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="896"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="988"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1434"/>
<source>Color:</source>
<translation>Farbe:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="516"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="558"/>
<source>Editor</source>
<translation>Editor</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="566"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="608"/>
<source>Barcode</source>
<translation>Strichcode</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="585"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="627"/>
<source>Style</source>
<translation>Stil</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="593"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="635"/>
<source>Type:</source>
<translation>Typ:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="600"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="642"/>
<source>Show text</source>
<translation>Text anzeigen</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="607"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="649"/>
<source>Checksum</source>
<translation>Prüfsumme</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="666"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="708"/>
<source>Barcode data</source>
<translation>Barcode-Daten</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="716"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="758"/>
<source>Image</source>
<translation>Bild</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="722"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="764"/>
<source>File</source>
<translation>Datei</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="280"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="745"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="315"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="787"/>
<source>None</source>
<translation>Keine</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="275"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="310"/>
<source>Anywhere</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="760"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="802"/>
<source>Select File...</source>
<translation>Datei auswählen </translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="773"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="815"/>
<source>or</source>
<translation>oder</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="787"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="829"/>
<source>Select Merge Field...</source>
<translation>Datenfeld auswählen </translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="816"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="858"/>
<source>Line/Fill</source>
<translation>Linie/Füllung</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="824"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="866"/>
<source>Line</source>
<translation>Linie</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="841"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1236"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="883"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1278"/>
<source>Width:</source>
<translation>Breite:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="932"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="974"/>
<source>Fill</source>
<translation>Füllung</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1000"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1042"/>
<source>Position/Size</source>
<translation>Position/Größe</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1006"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1048"/>
<source>Position</source>
<translation>Position</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1020"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1062"/>
<source>X:</source>
<translation>X:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1040"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1082"/>
<source>Y:</source>
<translation>Y:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1072"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1154"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1114"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1196"/>
<source>Size</source>
<translation>Größe</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1086"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1128"/>
<source>Length:</source>
<translation>Länge:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1106"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1148"/>
<source>Angle:</source>
<translation>Winkel:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1178"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1220"/>
<source>Original size:</source>
<translation>Originalgröße:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1185"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1227"/>
<source>Reset</source>
<translation>Zurücksetzen</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1277"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1319"/>
<source>Lock aspect ratio</source>
<translation>Seitenverhältnis beibehalten</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1292"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1334"/>
<source>Height:</source>
<translation>Höhe:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1318"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1324"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1360"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1366"/>
<source>Shadow</source>
<translation>Schattierung</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1338"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1380"/>
<source>X offset:</source>
<translation>X-Position:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1365"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1407"/>
<source>Y offset:</source>
<translation>Y-Position:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1399"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1441"/>
<source>Opacity:</source>
<translation>Deckkraft:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1508"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="64"/>
<source>Object properties</source>
<translation>Objekteigenschaften</translation>
</message>
@@ -2163,25 +2168,15 @@
<translation>Originalgröße</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="361"/>
<location filename="../glabels/ObjectEditor.cpp" line="362"/>
<source>Box object properties</source>
<translation>Eigenschaften des Rechteck-Objekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="363"/>
<location filename="../glabels/ObjectEditor.cpp" line="384"/>
<location filename="../glabels/ObjectEditor.cpp" line="425"/>
<source>line/fill</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="364"/>
<location filename="../glabels/ObjectEditor.cpp" line="385"/>
<location filename="../glabels/ObjectEditor.cpp" line="406"/>
<location filename="../glabels/ObjectEditor.cpp" line="426"/>
<location filename="../glabels/ObjectEditor.cpp" line="447"/>
<location filename="../glabels/ObjectEditor.cpp" line="466"/>
<source>position/size</source>
<source>line/fill</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -2190,153 +2185,163 @@
<location filename="../glabels/ObjectEditor.cpp" line="407"/>
<location filename="../glabels/ObjectEditor.cpp" line="427"/>
<location filename="../glabels/ObjectEditor.cpp" line="448"/>
<location filename="../glabels/ObjectEditor.cpp" line="467"/>
<source>position/size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="366"/>
<location filename="../glabels/ObjectEditor.cpp" line="387"/>
<location filename="../glabels/ObjectEditor.cpp" line="408"/>
<location filename="../glabels/ObjectEditor.cpp" line="428"/>
<location filename="../glabels/ObjectEditor.cpp" line="449"/>
<source>shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="382"/>
<location filename="../glabels/ObjectEditor.cpp" line="383"/>
<source>Ellipse object properties</source>
<translation>Eigenschaften des Ellipsenobjekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="403"/>
<location filename="../glabels/ObjectEditor.cpp" line="404"/>
<source>Image object properties</source>
<translation>Eigenschaften des Bildobjekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="405"/>
<location filename="../glabels/ObjectEditor.cpp" line="406"/>
<source>image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="423"/>
<location filename="../glabels/ObjectEditor.cpp" line="424"/>
<source>Line object properties</source>
<translation>Eigenschaften des Linienobjekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="444"/>
<location filename="../glabels/ObjectEditor.cpp" line="445"/>
<source>Text object properties</source>
<translation>Eigenschaften des Textobjekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="446"/>
<location filename="../glabels/ObjectEditor.cpp" line="447"/>
<source>text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="463"/>
<location filename="../glabels/ObjectEditor.cpp" line="464"/>
<source>Barcode object properties</source>
<translation>Eigenschaften des Strichcode-Objekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="465"/>
<location filename="../glabels/ObjectEditor.cpp" line="466"/>
<source>barcode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="491"/>
<location filename="../glabels/ObjectEditor.cpp" line="492"/>
<source>Object properties</source>
<translation type="unfinished">Objekteigenschaften</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="548"/>
<location filename="../glabels/ObjectEditor.cpp" line="549"/>
<source>Line</source>
<translation>Linie</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="564"/>
<location filename="../glabels/ObjectEditor.cpp" line="565"/>
<source>Fill</source>
<translation>Füllung</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="587"/>
<location filename="../glabels/ObjectEditor.cpp" line="588"/>
<source>Image files (*.png *.jpg *.jpeg *.gif *.bmp *.pbm *.pgm *.ppm *.xbm *.xpm *.svg)</source>
<translation>Bilddateien (*.png *.jpg *.jpeg *.gif *.bmp *.pbm *.pgm *.ppm *.xbm *.xpm *.svg)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="588"/>
<location filename="../glabels/ObjectEditor.cpp" line="589"/>
<source>All files (*)</source>
<translation>Alle Dateien (*)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="589"/>
<location filename="../glabels/ObjectEditor.cpp" line="590"/>
<source>PNG - Portable Network Graphics (*.png)</source>
<translation>PNG - Portable Network Graphics (*.png)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="590"/>
<location filename="../glabels/ObjectEditor.cpp" line="591"/>
<source>BMP - Windows Bitmap (*.bmp)</source>
<translation>BMP - Windows Bitmap (*.bmp)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="591"/>
<location filename="../glabels/ObjectEditor.cpp" line="592"/>
<source>GIF - Graphics Interchange Format (*.gif)</source>
<translation>GIF - Graphics Interchange Format (*.gif)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="592"/>
<location filename="../glabels/ObjectEditor.cpp" line="593"/>
<source>JPEG - Joint Photographic Experts Group (*.jpg *.jpeg)</source>
<translation>JPEG - Joint Photographic Experts Group (*.jpg *.jpeg)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="593"/>
<location filename="../glabels/ObjectEditor.cpp" line="594"/>
<source>PBM - Portable Bitmap (*.pbm)</source>
<translation>PBM - Portable Bitmap (*.pbm)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="594"/>
<location filename="../glabels/ObjectEditor.cpp" line="595"/>
<source>PGM - Portable Graymap (*.pgm)</source>
<translation>PGM - Portable Graymap (*.pgm)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="595"/>
<location filename="../glabels/ObjectEditor.cpp" line="596"/>
<source>PPM - Portable Pixmap (*.ppm)</source>
<translation>PPM - Portable Pixmap (*.ppm)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="596"/>
<location filename="../glabels/ObjectEditor.cpp" line="597"/>
<source>SVG - Scalable Vector Graphics (*.svg)</source>
<translation>SVG - Scalable Vector Graphics (*.svg)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="597"/>
<location filename="../glabels/ObjectEditor.cpp" line="598"/>
<source>XBM - X11 Bitmap (*.xbm)</source>
<translation>XBM - X11 Bitmap (*.xbm)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="598"/>
<location filename="../glabels/ObjectEditor.cpp" line="599"/>
<source>XPM - X11 Pixmap (*.xpm)</source>
<translation>XPM - X11 Pixmap (*.xpm)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="602"/>
<location filename="../glabels/ObjectEditor.cpp" line="603"/>
<source>gLabels - Select image file</source>
<translation>gLabels - Bilddatei wählen</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="607"/>
<location filename="../glabels/ObjectEditor.cpp" line="619"/>
<location filename="../glabels/ObjectEditor.cpp" line="608"/>
<location filename="../glabels/ObjectEditor.cpp" line="620"/>
<source>Set image</source>
<translation>Bild festlegen</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="630"/>
<location filename="../glabels/ObjectEditor.cpp" line="631"/>
<source>Move</source>
<translation>Verschieben</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="648"/>
<location filename="../glabels/ObjectEditor.cpp" line="682"/>
<location filename="../glabels/ObjectEditor.cpp" line="649"/>
<location filename="../glabels/ObjectEditor.cpp" line="683"/>
<source>Size</source>
<translation>Größe</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="701"/>
<location filename="../glabels/ObjectEditor.cpp" line="702"/>
<source>Text</source>
<translation>Text</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="784"/>
<location filename="../glabels/ObjectEditor.cpp" line="786"/>
<source>Shadow</source>
<translation>Schattierung</translation>
</message>
@@ -3065,8 +3070,8 @@
<context>
<name>glabels::model::ModelTextObject</name>
<message>
<location filename="../model/ModelTextObject.cpp" line="450"/>
<location filename="../model/ModelTextObject.cpp" line="572"/>
<location filename="../model/ModelTextObject.cpp" line="477"/>
<location filename="../model/ModelTextObject.cpp" line="599"/>
<source>Text</source>
<translation type="unfinished">Text</translation>
</message>