From 0832acabf5b0fc490adeb456227053fe31643045 Mon Sep 17 00:00:00 2001 From: Jim Evins Date: Wed, 4 Jul 2018 20:58:03 -0400 Subject: [PATCH] Added wrap mode attribute to text box. --- glabels/ObjectEditor.cpp | 18 ++ glabels/ui/ObjectEditor.ui | 319 ++++++++++++++++++++-------------- model/ModelObject.cpp | 20 +++ model/ModelObject.h | 7 + model/ModelTextObject.cpp | 87 +++++++--- model/ModelTextObject.h | 73 ++++---- model/XmlLabelCreator.cpp | 1 + model/XmlLabelParser.cpp | 9 +- model/XmlUtil.cpp | 50 ++++++ model/XmlUtil.h | 9 + templates/glabels-4.0.dtd | 2 + translations/glabels_C.ts | 206 ++++++++++++---------- translations/glabels_de_DE.ts | 206 ++++++++++++---------- 13 files changed, 626 insertions(+), 381 deletions(-) diff --git a/glabels/ObjectEditor.cpp b/glabels/ObjectEditor.cpp index f5a9aa1..17c93ee 100644 --- a/glabels/ObjectEditor.cpp +++ b/glabels/ObjectEditor.cpp @@ -228,6 +228,14 @@ namespace glabels { mBlocked = true; + int wrapIndex = 0; + switch (mObject->textWrapMode()) + { + case QTextOption::WordWrap: wrapIndex = 0; break; + case QTextOption::WrapAnywhere: wrapIndex = 1; break; + default: wrapIndex = 2; break; + } + textFontFamilyCombo->setCurrentText( mObject->fontFamily() ); textFontSizeSpin->setValue( mObject->fontSize() ); textFontBoldToggle->setChecked( mObject->fontWeight() == QFont::Bold ); @@ -236,6 +244,7 @@ namespace glabels textColorButton->setColorNode( mObject->textColorNode() ); textHAlignGroup->button( mObject->textHAlign() )->setChecked( true ); textVAlignGroup->button( mObject->textVAlign() )->setChecked( true ); + textWrapModeCombo->setCurrentIndex( wrapIndex ); textLineSpacingSpin->setValue( mObject->textLineSpacing() ); textEdit->setText( mObject->text() ); @@ -690,6 +699,14 @@ namespace glabels mBlocked = true; mUndoRedoModel->checkpoint( tr("Text") ); + + QTextOption::WrapMode wrapMode; + switch (textWrapModeCombo->currentIndex()) + { + case 0: wrapMode = QTextOption::WordWrap; break; + case 1: wrapMode = QTextOption::WrapAnywhere; break; + default: wrapMode = QTextOption::NoWrap; break; + } mObject->setFontFamily( textFontFamilyCombo->currentText() ); mObject->setFontSize( textFontSizeSpin->value() ); @@ -699,6 +716,7 @@ namespace glabels mObject->setTextColorNode( textColorButton->colorNode() ); mObject->setTextHAlign( Qt::AlignmentFlag( textHAlignGroup->checkedId() ) ); mObject->setTextVAlign( Qt::AlignmentFlag( textVAlignGroup->checkedId() ) ); + mObject->setTextWrapMode( wrapMode ); mObject->setTextLineSpacing( textLineSpacingSpin->value() ); mObject->setText( textEdit->toPlainText() ); diff --git a/glabels/ui/ObjectEditor.ui b/glabels/ui/ObjectEditor.ui index 5c65a1b..6e7d245 100644 --- a/glabels/ui/ObjectEditor.ui +++ b/glabels/ui/ObjectEditor.ui @@ -7,7 +7,7 @@ 0 0 400 - 859 + 640 @@ -35,7 +35,7 @@ - 1 + 0 @@ -47,18 +47,24 @@ Layout - + - - - - - Alignment: - - - - + + + Alignment: + + + + + + + 6 + + + + 3 + @@ -133,15 +139,11 @@ - - - - - - - - + + + 3 + @@ -216,54 +218,84 @@ - - - - Line spacing: + + + + + + Line spacing: + + + + + + + + + 3.000000000000000 + + + 0.010000000000000 - - - - - - 3.000000000000000 - - - 0.010000000000000 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - + + + + Qt::Horizontal + + + + 40 + 20 + + + - - - - Qt::Horizontal + + + + Wrap mode: - - - 40 - 20 - - - + + + + + + + + + Word + + + + + Anywhere + + + + + None + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + @@ -473,7 +505,7 @@ 20 - 142 + 6 @@ -1128,7 +1160,16 @@ 15 - + + 0 + + + 0 + + + 0 + + 0 @@ -1541,8 +1582,8 @@ onTextControlsChanged() - 111 - 220 + 119 + 212 396 @@ -1557,8 +1598,8 @@ onTextControlsChanged() - 154 - 220 + 159 + 212 396 @@ -1573,8 +1614,8 @@ onTextControlsChanged() - 197 - 220 + 199 + 212 395 @@ -1589,8 +1630,8 @@ onTextControlsChanged() - 121 - 262 + 132 + 248 396 @@ -1605,8 +1646,8 @@ onTextControlsChanged() - 148 - 352 + 157 + 333 396 @@ -1621,8 +1662,8 @@ onTextControlsChanged() - 191 - 352 + 198 + 333 398 @@ -1637,8 +1678,8 @@ onTextControlsChanged() - 234 - 352 + 238 + 333 395 @@ -1653,8 +1694,8 @@ onTextControlsChanged() - 148 - 398 + 284 + 333 393 @@ -1669,8 +1710,8 @@ onTextControlsChanged() - 191 - 398 + 325 + 333 396 @@ -1685,8 +1726,8 @@ onTextControlsChanged() - 234 - 398 + 365 + 333 397 @@ -1701,8 +1742,8 @@ onTextControlsChanged() - 195 - 438 + 184 + 407 394 @@ -1717,8 +1758,8 @@ onLineControlsChanged() - 182 - 135 + 119 + 106 392 @@ -1733,8 +1774,8 @@ onLineControlsChanged() - 129 - 175 + 119 + 106 1 @@ -1749,8 +1790,8 @@ onFillControlsChanged() - 128 - 260 + 119 + 106 6 @@ -1765,8 +1806,8 @@ onPositionControlsChanged() - 172 - 134 + 119 + 106 399 @@ -1781,8 +1822,8 @@ onPositionControlsChanged() - 172 - 174 + 119 + 106 325 @@ -1797,8 +1838,8 @@ onRectSizeControlsChanged() - 172 - 258 + 119 + 111 3 @@ -1813,8 +1854,8 @@ onRectSizeControlsChanged() - 172 - 298 + 119 + 111 0 @@ -1829,8 +1870,8 @@ onResetImageSize() - 201 - 368 + 119 + 111 4 @@ -1861,8 +1902,8 @@ onShadowControlsChanged() - 172 - 136 + 119 + 106 398 @@ -1877,8 +1918,8 @@ onShadowControlsChanged() - 172 - 176 + 119 + 106 294 @@ -1893,8 +1934,8 @@ onShadowControlsChanged() - 128 - 216 + 119 + 106 399 @@ -1909,8 +1950,8 @@ onShadowControlsChanged() - 167 - 258 + 119 + 106 399 @@ -1925,8 +1966,8 @@ onLineSizeControlsChanged() - 172 - 452 + 119 + 116 5 @@ -1941,8 +1982,8 @@ onLineSizeControlsChanged() - 181 - 492 + 119 + 116 1 @@ -1957,8 +1998,8 @@ onImageFileButtonClicked() - 125 - 172 + 119 + 106 394 @@ -1973,8 +2014,8 @@ onImageKeySelected(QString) - 313 - 172 + 119 + 106 397 @@ -2005,8 +2046,8 @@ onTextInsertFieldKeySelected(QString) - 240 - 699 + 239 + 599 395 @@ -2021,8 +2062,8 @@ onBarcodeControlsChanged() - 123 - 159 + 119 + 106 4 @@ -2037,8 +2078,8 @@ onBarcodeControlsChanged() - 94 - 187 + 105 + 106 1 @@ -2053,8 +2094,8 @@ onBarcodeControlsChanged() - 89 - 227 + 100 + 106 1 @@ -2069,8 +2110,8 @@ onBarcodeControlsChanged() - 255 - 405 + 119 + 112 398 @@ -2085,8 +2126,8 @@ onBarcodeInsertFieldKeySelected(QString) - 203 - 486 + 119 + 112 403 @@ -2101,8 +2142,8 @@ onBarcodeControlsChanged() - 114 - 121 + 119 + 106 5 @@ -2110,6 +2151,22 @@ + + textWrapModeCombo + currentIndexChanged(int) + ObjectEditor + onTextControlsChanged() + + + 144 + 352 + + + 395 + 599 + + + onChanged() diff --git a/model/ModelObject.cpp b/model/ModelObject.cpp index 11907d5..111fc32 100644 --- a/model/ModelObject.cpp +++ b/model/ModelObject.cpp @@ -594,6 +594,26 @@ namespace glabels } + /// + /// Virtual Text Wrap Mode Property Default Getter + /// (Overridden by concrete class) + /// + QTextOption::WrapMode ModelObject::textWrapMode() const + { + return QTextOption::WordWrap; + } + + + /// + /// Virtual Text Wrap Mode Property Default Setter + /// (Overridden by concrete class) + /// + void ModelObject::setTextWrapMode( QTextOption::WrapMode value ) + { + // empty + } + + /// /// Virtual Text Line Spacing Property Default Getter /// (Overridden by concrete class) diff --git a/model/ModelObject.h b/model/ModelObject.h index d443492..3a571a4 100644 --- a/model/ModelObject.h +++ b/model/ModelObject.h @@ -251,6 +251,13 @@ namespace glabels virtual void setTextVAlign( Qt::Alignment value ); + // + // Virtual Text Property: textWrapMode + // + virtual QTextOption::WrapMode textWrapMode() const; + virtual void setTextWrapMode( QTextOption::WrapMode value ); + + // // Virtual Text Property: textLineSpacing // diff --git a/model/ModelTextObject.cpp b/model/ModelTextObject.cpp index 40cc969..c20336e 100644 --- a/model/ModelTextObject.cpp +++ b/model/ModelTextObject.cpp @@ -69,6 +69,7 @@ namespace glabels mTextColorNode = ColorNode( QColor( 0, 0, 0 ) ); mTextHAlign = Qt::AlignLeft; mTextVAlign = Qt::AlignTop; + mTextWrapMode = QTextOption::WordWrap; mTextLineSpacing = 1; } @@ -76,26 +77,27 @@ namespace glabels /// /// Constructor /// - ModelTextObject::ModelTextObject( const Distance& x0, - const Distance& y0, - const Distance& w, - const Distance& h, - const QString& text, - const QString& fontFamily, - double fontSize, - QFont::Weight fontWeight, - bool fontItalicFlag, - bool fontUnderlineFlag, - ColorNode textColorNode, - Qt::Alignment textHAlign, - Qt::Alignment textVAlign, - double textLineSpacing, - const QMatrix& matrix, - bool shadowState, - const Distance& shadowX, - const Distance& shadowY, - double shadowOpacity, - const ColorNode& shadowColorNode ) + ModelTextObject::ModelTextObject( const Distance& x0, + const Distance& y0, + const Distance& w, + const Distance& h, + const QString& text, + const QString& fontFamily, + double fontSize, + QFont::Weight fontWeight, + bool fontItalicFlag, + bool fontUnderlineFlag, + ColorNode textColorNode, + Qt::Alignment textHAlign, + Qt::Alignment textVAlign, + QTextOption::WrapMode textWrapMode, + double textLineSpacing, + const QMatrix& matrix, + bool shadowState, + const Distance& shadowX, + const Distance& shadowY, + double shadowOpacity, + const ColorNode& shadowColorNode ) : ModelObject( x0, y0, w, h, matrix, shadowState, shadowX, shadowY, shadowOpacity, shadowColorNode ) @@ -120,6 +122,7 @@ namespace glabels mTextColorNode = textColorNode; mTextHAlign = textHAlign; mTextVAlign = textVAlign; + mTextWrapMode = textWrapMode; mTextLineSpacing = textLineSpacing; update(); // Initialize cached editor layouts @@ -141,6 +144,7 @@ namespace glabels mTextColorNode = object->mTextColorNode; mTextHAlign = object->mTextHAlign; mTextVAlign = object->mTextVAlign; + mTextWrapMode = object->mTextWrapMode; mTextLineSpacing = object->mTextLineSpacing; update(); // Initialize cached editor layouts @@ -378,6 +382,29 @@ namespace glabels } + /// + /// Text Wrap Mode Property Getter + /// + QTextOption::WrapMode ModelTextObject::textWrapMode() const + { + return mTextWrapMode; + } + + + /// + /// Text Wrap Mode Property Setter + /// + void ModelTextObject::setTextWrapMode( QTextOption::WrapMode value ) + { + if ( mTextWrapMode != value ) + { + mTextWrapMode = value; + update(); + emit changed(); + } + } + + /// /// TextLineSpacing Property Getter /// @@ -415,7 +442,7 @@ namespace glabels QTextOption textOption; textOption.setAlignment( mTextHAlign ); - textOption.setWrapMode( QTextOption::WordWrap ); + textOption.setWrapMode( mTextWrapMode ); QFontMetricsF fontMetrics( font ); double dy = fontMetrics.lineSpacing() * mTextLineSpacing; @@ -537,7 +564,7 @@ namespace glabels QTextOption textOption; textOption.setAlignment( mTextHAlign ); - textOption.setWrapMode( QTextOption::WordWrap ); + textOption.setWrapMode( mTextWrapMode ); QFontMetricsF fontMetrics( font ); double dy = fontMetrics.lineSpacing() * mTextLineSpacing; @@ -612,6 +639,10 @@ namespace glabels /// void ModelTextObject::drawTextInEditor( QPainter* painter, const QColor& color ) const { + painter->save(); + + painter->setClipRect( QRectF( 0, 0, mW.pt(), mH.pt() ) ); + if ( mText.isEmpty() ) { QColor mutedColor = color; @@ -627,6 +658,8 @@ namespace glabels { layout->draw( painter, QPointF( 0, 0 ) ); } + + painter->restore(); } @@ -638,6 +671,10 @@ namespace glabels const QColor& color, merge::Record* record ) const { + painter->save(); + + painter->setClipRect( QRectF( 0, 0, mW.pt(), mH.pt() ) ); + QFont font; font.setFamily( mFontFamily ); font.setPointSizeF( mFontSize ); @@ -647,7 +684,7 @@ namespace glabels QTextOption textOption; textOption.setAlignment( mTextHAlign ); - textOption.setWrapMode( QTextOption::WordWrap ); + textOption.setWrapMode( mTextWrapMode ); QFontMetricsF fontMetrics( font ); double dy = fontMetrics.lineSpacing() * mTextLineSpacing; @@ -684,7 +721,7 @@ namespace glabels double h = boundingRect.height(); - // Pass #2 -- adjust layout positions for vertical alignment and create hover path + // Pass #2 -- adjust layout positions for vertical alignment x = marginPts; switch ( mTextVAlign ) { @@ -717,6 +754,8 @@ namespace glabels // Cleanup qDeleteAll( layouts ); + + painter->restore(); } } diff --git a/model/ModelTextObject.h b/model/ModelTextObject.h index 9021491..654488c 100644 --- a/model/ModelTextObject.h +++ b/model/ModelTextObject.h @@ -46,26 +46,27 @@ namespace glabels public: ModelTextObject(); - ModelTextObject( const Distance& x0, - const Distance& y0, - const Distance& w, - const Distance& h, - const QString& text, - const QString& fontFamily, - double fontSize, - QFont::Weight fontWeight, - bool fontItalicFlag, - bool fontUnderlineFlag, - ColorNode textColorNode, - Qt::Alignment textHAlign, - Qt::Alignment textVAlign, - double textLineSpacing, - const QMatrix& matrix = QMatrix(), - bool shadowState = false, - const Distance& shadowX = 0, - const Distance& shadowY = 0, - double shadowOpacity = 1.0, - const ColorNode& shadowColorNode = ColorNode() ); + ModelTextObject( const Distance& x0, + const Distance& y0, + const Distance& w, + const Distance& h, + const QString& text, + const QString& fontFamily, + double fontSize, + QFont::Weight fontWeight, + bool fontItalicFlag, + bool fontUnderlineFlag, + ColorNode textColorNode, + Qt::Alignment textHAlign, + Qt::Alignment textVAlign, + QTextOption::WrapMode textWrapMode, + double textLineSpacing, + const QMatrix& matrix = QMatrix(), + bool shadowState = false, + const Distance& shadowX = 0, + const Distance& shadowY = 0, + double shadowOpacity = 1.0, + const ColorNode& shadowColorNode = ColorNode() ); ModelTextObject( const ModelTextObject* object ); @@ -145,6 +146,13 @@ namespace glabels void setTextVAlign( Qt::Alignment value ) override; + // + // Text Property: textWrapMode + // + QTextOption::WrapMode textWrapMode() const override; + void setTextWrapMode( QTextOption::WrapMode value ) override; + + // // Text Property: textLineSpacing // @@ -189,19 +197,20 @@ namespace glabels // Private Members /////////////////////////////////////////////////////////////// private: - RawText mText; - QString mFontFamily; - double mFontSize; - QFont::Weight mFontWeight; - bool mFontItalicFlag; - bool mFontUnderlineFlag; - ColorNode mTextColorNode; - Qt::Alignment mTextHAlign; - Qt::Alignment mTextVAlign; - double mTextLineSpacing; + RawText mText; + QString mFontFamily; + double mFontSize; + QFont::Weight mFontWeight; + bool mFontItalicFlag; + bool mFontUnderlineFlag; + ColorNode mTextColorNode; + Qt::Alignment mTextHAlign; + Qt::Alignment mTextVAlign; + QTextOption::WrapMode mTextWrapMode; + double mTextLineSpacing; - QList mEditorLayouts; - QPainterPath mHoverPath; + QList mEditorLayouts; + QPainterPath mHoverPath; }; diff --git a/model/XmlLabelCreator.cpp b/model/XmlLabelCreator.cpp index f7e2a74..21af581 100644 --- a/model/XmlLabelCreator.cpp +++ b/model/XmlLabelCreator.cpp @@ -341,6 +341,7 @@ namespace glabels 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() ); /* affine attrs */ createAffineAttrs( node, object ); diff --git a/model/XmlLabelParser.cpp b/model/XmlLabelParser.cpp index 766457b..f36dc02 100644 --- a/model/XmlLabelParser.cpp +++ b/model/XmlLabelParser.cpp @@ -629,9 +629,10 @@ namespace glabels bool fontUnderlineFlag = XmlUtil::getBoolAttr( node, "font_underline", false ); /* text attrs */ - double textLineSpacing = XmlUtil::getDoubleAttr( node, "line_spacing", 1 ); - Qt::Alignment textHAlign = XmlUtil::getAlignmentAttr( node, "align", Qt::AlignLeft ); - Qt::Alignment textVAlign = XmlUtil::getAlignmentAttr( node, "valign", Qt::AlignTop ); + double textLineSpacing = XmlUtil::getDoubleAttr( node, "line_spacing", 1 ); + 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 ); /* affine attrs */ double a[6]; @@ -680,7 +681,7 @@ namespace glabels return new ModelTextObject( x0, y0, w, h, text, fontFamily, fontSize, fontWeight, fontItalicFlag, fontUnderlineFlag, - textColorNode, textHAlign, textVAlign, textLineSpacing, + textColorNode, textHAlign, textVAlign, textWrapMode, textLineSpacing, QMatrix( a[0], a[1], a[2], a[3], a[4], a[5] ), shadowState, shadowX, shadowY, shadowOpacity, shadowColorNode ); } diff --git a/model/XmlUtil.cpp b/model/XmlUtil.cpp index 2280530..0d4a5fe 100644 --- a/model/XmlUtil.cpp +++ b/model/XmlUtil.cpp @@ -298,6 +298,33 @@ namespace glabels } + QTextOption::WrapMode XmlUtil::getWrapModeAttr( const QDomElement& node, + const QString& name, + QTextOption::WrapMode default_value ) + { + init(); + + QString valueString = node.attribute( name, "" ); + if ( valueString != "" ) + { + if ( valueString == "word" ) + { + return QTextOption::WordWrap; + } + else if ( valueString == "anywhere" ) + { + return QTextOption::WrapAnywhere; + } + else if ( valueString == "none" ) + { + return QTextOption::NoWrap; + } + } + + return default_value; + } + + void XmlUtil::setStringAttr( QDomElement& node, const QString& name, const QString& value ) @@ -406,5 +433,28 @@ namespace glabels } + void XmlUtil::setWrapModeAttr( QDomElement& node, + const QString& name, + QTextOption::WrapMode value ) + { + switch (value) + { + case QTextOption::WordWrap: + node.setAttribute( name, "word" ); + break; + case QTextOption::WrapAnywhere: + node.setAttribute( name, "anywhere" ); + break; + case QTextOption::NoWrap: + case QTextOption::ManualWrap: + node.setAttribute( name, "none" ); + break; + default: + node.setAttribute( name, "word" ); + break; + } + } + + } } diff --git a/model/XmlUtil.h b/model/XmlUtil.h index df9e4c4..833f0b8 100644 --- a/model/XmlUtil.h +++ b/model/XmlUtil.h @@ -28,6 +28,7 @@ #include #include #include +#include #include @@ -86,6 +87,10 @@ namespace glabels const QString& name, Qt::Alignment default_value ); + static QTextOption::WrapMode getWrapModeAttr( const QDomElement& node, + const QString& name, + QTextOption::WrapMode default_value ); + static void setStringAttr( QDomElement& node, const QString& name, @@ -119,6 +124,10 @@ namespace glabels const QString& name, Qt::Alignment value ); + static void setWrapModeAttr( QDomElement& node, + const QString& name, + QTextOption::WrapMode value ); + private: Units mUnits; diff --git a/templates/glabels-4.0.dtd b/templates/glabels-4.0.dtd index b302179..b6b8a62 100644 --- a/templates/glabels-4.0.dtd +++ b/templates/glabels-4.0.dtd @@ -42,6 +42,7 @@ + @@ -356,6 +357,7 @@ line_spacing %LENGTH_TYPE; #IMPLIED align %ALIGN_TYPE; #REQUIRED valign %VALIGN_TYPE; #REQUIRED + wrap %WRAP_MODE_TYPE; #IMPLIED auto_shrink %BOOLEAN_TYPE; #IMPLIED %affine_attrs; %shadow_attrs; diff --git a/translations/glabels_C.ts b/translations/glabels_C.ts index c67ff58..094f839 100644 --- a/translations/glabels_C.ts +++ b/translations/glabels_C.ts @@ -356,209 +356,225 @@ - + Alignment: - + Line spacing: - + + Wrap mode: + + + + + Word + + + + Font - + Family: - + Size: - + Style: - - - - - + + + + + Color: - + Editor - + Barcode - + Style - + Type: - + Show text - + Checksum - + Barcode data - + Image - + File - + + None - + + Anywhere + + + + Select File... - + or - + Select Merge Field... - + Line/Fill - + Line - - + + Width: - + Fill - + Position/Size - + Position - + X: - + Y: - - + + Size - + Length: - + Angle: - + Original size: - + Reset - + Lock aspect ratio - + Height: - - + + Shadow - + X offset: - + Y offset: - + Opacity: - + Object properties @@ -2147,180 +2163,180 @@ - + Box object properties - - - + + + line/fill - - - - - - + + + + + + position/size - - - - - + + + + + shadow - + Ellipse object properties - + Image object properties - + image - + Line object properties - + Text object properties - + text - + Barcode object properties - + barcode - + Object properties - + Line - + Fill - + Image files (*.png *.jpg *.jpeg *.gif *.bmp *.pbm *.pgm *.ppm *.xbm *.xpm *.svg) - + All files (*) - + PNG - Portable Network Graphics (*.png) - + BMP - Windows Bitmap (*.bmp) - + GIF - Graphics Interchange Format (*.gif) - + JPEG - Joint Photographic Experts Group (*.jpg *.jpeg) - + PBM - Portable Bitmap (*.pbm) - + PGM - Portable Graymap (*.pgm) - + PPM - Portable Pixmap (*.ppm) - + SVG - Scalable Vector Graphics (*.svg) - + XBM - X11 Bitmap (*.xbm) - + XPM - X11 Pixmap (*.xpm) - + gLabels - Select image file - - + + Set image - + Move - - + + Size - + Text - + Shadow @@ -3049,8 +3065,8 @@ glabels::model::ModelTextObject - - + + Text diff --git a/translations/glabels_de_DE.ts b/translations/glabels_de_DE.ts index a3e02c3..f5da691 100644 --- a/translations/glabels_de_DE.ts +++ b/translations/glabels_de_DE.ts @@ -356,209 +356,225 @@ Anordnung - + Alignment: Ausrichtung: - + Line spacing: Zeilenabstand: - + + Wrap mode: + + + + + Word + + + + Font Schrift - + Family: Familie: - + Size: Größe: - + Style: Stil: - - - - - + + + + + Color: Farbe: - + Editor Editor - + Barcode Strichcode - + Style Stil - + Type: Typ: - + Show text Text anzeigen - + Checksum Prüfsumme - + Barcode data Barcode-Daten - + Image Bild - + File Datei - + + None Keine - + + Anywhere + + + + Select File... Datei auswählen … - + or oder - + Select Merge Field... Datenfeld auswählen … - + Line/Fill Linie/Füllung - + Line Linie - - + + Width: Breite: - + Fill Füllung - + Position/Size Position/Größe - + Position Position - + X: X: - + Y: Y: - - + + Size Größe - + Length: Länge: - + Angle: Winkel: - + Original size: Originalgröße: - + Reset Zurücksetzen - + Lock aspect ratio Seitenverhältnis beibehalten - + Height: Höhe: - - + + Shadow Schattierung - + X offset: X-Position: - + Y offset: Y-Position: - + Opacity: Deckkraft: - + Object properties Objekteigenschaften @@ -2147,180 +2163,180 @@ Originalgröße - + Box object properties Eigenschaften des Rechteck-Objekts - - - + + + line/fill - - - - - - + + + + + + position/size - - - - - + + + + + shadow - + Ellipse object properties Eigenschaften des Ellipsenobjekts - + Image object properties Eigenschaften des Bildobjekts - + image - + Line object properties Eigenschaften des Linienobjekts - + Text object properties Eigenschaften des Textobjekts - + text - + Barcode object properties Eigenschaften des Strichcode-Objekts - + barcode - + Object properties Objekteigenschaften - + Line Linie - + Fill Füllung - + Image files (*.png *.jpg *.jpeg *.gif *.bmp *.pbm *.pgm *.ppm *.xbm *.xpm *.svg) Bilddateien (*.png *.jpg *.jpeg *.gif *.bmp *.pbm *.pgm *.ppm *.xbm *.xpm *.svg) - + All files (*) Alle Dateien (*) - + PNG - Portable Network Graphics (*.png) PNG - Portable Network Graphics (*.png) - + BMP - Windows Bitmap (*.bmp) BMP - Windows Bitmap (*.bmp) - + GIF - Graphics Interchange Format (*.gif) GIF - Graphics Interchange Format (*.gif) - + JPEG - Joint Photographic Experts Group (*.jpg *.jpeg) JPEG - Joint Photographic Experts Group (*.jpg *.jpeg) - + PBM - Portable Bitmap (*.pbm) PBM - Portable Bitmap (*.pbm) - + PGM - Portable Graymap (*.pgm) PGM - Portable Graymap (*.pgm) - + PPM - Portable Pixmap (*.ppm) PPM - Portable Pixmap (*.ppm) - + SVG - Scalable Vector Graphics (*.svg) SVG - Scalable Vector Graphics (*.svg) - + XBM - X11 Bitmap (*.xbm) XBM - X11 Bitmap (*.xbm) - + XPM - X11 Pixmap (*.xpm) XPM - X11 Pixmap (*.xpm) - + gLabels - Select image file gLabels - Bilddatei wählen - - + + Set image Bild festlegen - + Move Verschieben - - + + Size Größe - + Text Text - + Shadow Schattierung @@ -3049,8 +3065,8 @@ glabels::model::ModelTextObject - - + + Text Text