Added wrap mode attribute to text box.

This commit is contained in:
Jim Evins
2018-07-04 20:58:03 -04:00
parent 03a8e29396
commit 0832acabf5
13 changed files with 626 additions and 381 deletions
+18
View File
@@ -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() );
@@ -691,6 +700,14 @@ namespace glabels
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() );
mObject->setFontWeight( textFontBoldToggle->isChecked() ? QFont::Bold : QFont::Normal );
@@ -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() );
+188 -131
View File
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>400</width>
<height>859</height>
<height>640</height>
</rect>
</property>
<property name="sizePolicy">
@@ -35,7 +35,7 @@
<item row="1" column="0">
<widget class="QTabWidget" name="notebook">
<property name="currentIndex">
<number>1</number>
<number>0</number>
</property>
<widget class="QWidget" name="textPage">
<attribute name="title">
@@ -47,18 +47,24 @@
<property name="title">
<string>Layout</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Alignment:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Alignment:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_16">
<property name="spacing">
<number>6</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="rightMargin">
<number>3</number>
</property>
<item>
<widget class="QPushButton" name="textHAlignLeftToggle">
<property name="text">
@@ -133,15 +139,11 @@
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="1">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="leftMargin">
<number>3</number>
</property>
<item>
<widget class="QPushButton" name="textVAlignTopToggle">
<property name="text">
@@ -216,54 +218,84 @@
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Line spacing:</string>
</layout>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Line spacing:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_19">
<item>
<widget class="QDoubleSpinBox" name="textLineSpacingSpin">
<property name="maximum">
<double>3.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_19">
<item>
<widget class="QDoubleSpinBox" name="textLineSpacingSpin">
<property name="maximum">
<double>3.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_16">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
<item>
<spacer name="horizontalSpacer_16">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Wrap mode:</string>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</widget>
</item>
<item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_25">
<item>
<widget class="QComboBox" name="textWrapModeCombo">
<item>
<property name="text">
<string>Word</string>
</property>
</item>
<item>
<property name="text">
<string>Anywhere</string>
</property>
</item>
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
@@ -473,7 +505,7 @@
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>142</height>
<height>6</height>
</size>
</property>
</spacer>
@@ -1128,7 +1160,16 @@
<property name="spacing">
<number>15</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@@ -1541,8 +1582,8 @@
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>111</x>
<y>220</y>
<x>119</x>
<y>212</y>
</hint>
<hint type="destinationlabel">
<x>396</x>
@@ -1557,8 +1598,8 @@
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>154</x>
<y>220</y>
<x>159</x>
<y>212</y>
</hint>
<hint type="destinationlabel">
<x>396</x>
@@ -1573,8 +1614,8 @@
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>197</x>
<y>220</y>
<x>199</x>
<y>212</y>
</hint>
<hint type="destinationlabel">
<x>395</x>
@@ -1589,8 +1630,8 @@
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>121</x>
<y>262</y>
<x>132</x>
<y>248</y>
</hint>
<hint type="destinationlabel">
<x>396</x>
@@ -1605,8 +1646,8 @@
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>148</x>
<y>352</y>
<x>157</x>
<y>333</y>
</hint>
<hint type="destinationlabel">
<x>396</x>
@@ -1621,8 +1662,8 @@
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>191</x>
<y>352</y>
<x>198</x>
<y>333</y>
</hint>
<hint type="destinationlabel">
<x>398</x>
@@ -1637,8 +1678,8 @@
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>234</x>
<y>352</y>
<x>238</x>
<y>333</y>
</hint>
<hint type="destinationlabel">
<x>395</x>
@@ -1653,8 +1694,8 @@
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>148</x>
<y>398</y>
<x>284</x>
<y>333</y>
</hint>
<hint type="destinationlabel">
<x>393</x>
@@ -1669,8 +1710,8 @@
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>191</x>
<y>398</y>
<x>325</x>
<y>333</y>
</hint>
<hint type="destinationlabel">
<x>396</x>
@@ -1685,8 +1726,8 @@
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>234</x>
<y>398</y>
<x>365</x>
<y>333</y>
</hint>
<hint type="destinationlabel">
<x>397</x>
@@ -1701,8 +1742,8 @@
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>195</x>
<y>438</y>
<x>184</x>
<y>407</y>
</hint>
<hint type="destinationlabel">
<x>394</x>
@@ -1717,8 +1758,8 @@
<slot>onLineControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>182</x>
<y>135</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>392</x>
@@ -1733,8 +1774,8 @@
<slot>onLineControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>129</x>
<y>175</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>1</x>
@@ -1749,8 +1790,8 @@
<slot>onFillControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>128</x>
<y>260</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>6</x>
@@ -1765,8 +1806,8 @@
<slot>onPositionControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>172</x>
<y>134</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>399</x>
@@ -1781,8 +1822,8 @@
<slot>onPositionControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>172</x>
<y>174</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>325</x>
@@ -1797,8 +1838,8 @@
<slot>onRectSizeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>172</x>
<y>258</y>
<x>119</x>
<y>111</y>
</hint>
<hint type="destinationlabel">
<x>3</x>
@@ -1813,8 +1854,8 @@
<slot>onRectSizeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>172</x>
<y>298</y>
<x>119</x>
<y>111</y>
</hint>
<hint type="destinationlabel">
<x>0</x>
@@ -1829,8 +1870,8 @@
<slot>onResetImageSize()</slot>
<hints>
<hint type="sourcelabel">
<x>201</x>
<y>368</y>
<x>119</x>
<y>111</y>
</hint>
<hint type="destinationlabel">
<x>4</x>
@@ -1861,8 +1902,8 @@
<slot>onShadowControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>172</x>
<y>136</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>398</x>
@@ -1877,8 +1918,8 @@
<slot>onShadowControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>172</x>
<y>176</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>294</x>
@@ -1893,8 +1934,8 @@
<slot>onShadowControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>128</x>
<y>216</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>399</x>
@@ -1909,8 +1950,8 @@
<slot>onShadowControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>167</x>
<y>258</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>399</x>
@@ -1925,8 +1966,8 @@
<slot>onLineSizeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>172</x>
<y>452</y>
<x>119</x>
<y>116</y>
</hint>
<hint type="destinationlabel">
<x>5</x>
@@ -1941,8 +1982,8 @@
<slot>onLineSizeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>181</x>
<y>492</y>
<x>119</x>
<y>116</y>
</hint>
<hint type="destinationlabel">
<x>1</x>
@@ -1957,8 +1998,8 @@
<slot>onImageFileButtonClicked()</slot>
<hints>
<hint type="sourcelabel">
<x>125</x>
<y>172</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>394</x>
@@ -1973,8 +2014,8 @@
<slot>onImageKeySelected(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>313</x>
<y>172</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>397</x>
@@ -2005,8 +2046,8 @@
<slot>onTextInsertFieldKeySelected(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>240</x>
<y>699</y>
<x>239</x>
<y>599</y>
</hint>
<hint type="destinationlabel">
<x>395</x>
@@ -2021,8 +2062,8 @@
<slot>onBarcodeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>123</x>
<y>159</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>4</x>
@@ -2037,8 +2078,8 @@
<slot>onBarcodeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>94</x>
<y>187</y>
<x>105</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>1</x>
@@ -2053,8 +2094,8 @@
<slot>onBarcodeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>89</x>
<y>227</y>
<x>100</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>1</x>
@@ -2069,8 +2110,8 @@
<slot>onBarcodeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>255</x>
<y>405</y>
<x>119</x>
<y>112</y>
</hint>
<hint type="destinationlabel">
<x>398</x>
@@ -2085,8 +2126,8 @@
<slot>onBarcodeInsertFieldKeySelected(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>203</x>
<y>486</y>
<x>119</x>
<y>112</y>
</hint>
<hint type="destinationlabel">
<x>403</x>
@@ -2101,8 +2142,8 @@
<slot>onBarcodeControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>114</x>
<y>121</y>
<x>119</x>
<y>106</y>
</hint>
<hint type="destinationlabel">
<x>5</x>
@@ -2110,6 +2151,22 @@
</hint>
</hints>
</connection>
<connection>
<sender>textWrapModeCombo</sender>
<signal>currentIndexChanged(int)</signal>
<receiver>ObjectEditor</receiver>
<slot>onTextControlsChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>144</x>
<y>352</y>
</hint>
<hint type="destinationlabel">
<x>395</x>
<y>599</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>onChanged()</slot>
+20
View File
@@ -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)
+7
View File
@@ -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
//
+63 -24
View File
@@ -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();
}
}
+41 -32
View File
@@ -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<QTextLayout*> mEditorLayouts;
QPainterPath mHoverPath;
QList<QTextLayout*> mEditorLayouts;
QPainterPath mHoverPath;
};
+1
View File
@@ -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 );
+5 -4
View File
@@ -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 );
}
+50
View File
@@ -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;
}
}
}
}
+9
View File
@@ -28,6 +28,7 @@
#include <QFont>
#include <QString>
#include <Qt>
#include <QTextOption>
#include <cstdint>
@@ -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;
+2
View File
@@ -42,6 +42,7 @@
<!-- Text related enumerations/types -->
<!ENTITY % ALIGN_TYPE "(left | right | center)">
<!ENTITY % VALIGN_TYPE "(top | bottom | center)">
<!ENTITY % WRAP_MODE_TYPE "(word | anywhere | none)">
<!ENTITY % FONT_WEIGHT_TYPE "(normal | bold)">
<!-- Barcode related enumerations/types -->
@@ -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;
+111 -95
View File
@@ -356,209 +356,225 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="56"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="54"/>
<source>Alignment:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="222"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="226"/>
<source>Line spacing:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="274"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="260"/>
<source>Wrap mode:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="270"/>
<source>Word</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="306"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="288"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="320"/>
<source>Family:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="298"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="330"/>
<source>Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="305"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="337"/>
<source>Style:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="392"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="582"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="822"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="914"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1351"/>
<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"/>
<source>Color:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="484"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="516"/>
<source>Editor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="534"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="566"/>
<source>Barcode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="553"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="585"/>
<source>Style</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="561"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="593"/>
<source>Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="568"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="600"/>
<source>Show text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="575"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="607"/>
<source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="634"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="666"/>
<source>Barcode data</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="684"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="716"/>
<source>Image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="690"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="722"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="713"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="280"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="745"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="728"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="275"/>
<source>Anywhere</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="760"/>
<source>Select File...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="741"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="773"/>
<source>or</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="755"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="787"/>
<source>Select Merge Field...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="784"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="816"/>
<source>Line/Fill</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="792"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="824"/>
<source>Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="809"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1195"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="841"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1236"/>
<source>Width:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="900"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="932"/>
<source>Fill</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="968"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1000"/>
<source>Position/Size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="974"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1006"/>
<source>Position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="988"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1020"/>
<source>X:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1008"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1040"/>
<source>Y:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1040"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1122"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1072"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1154"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1054"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1086"/>
<source>Length:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1074"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1106"/>
<source>Angle:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1137"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1178"/>
<source>Original size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1144"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1185"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1236"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1277"/>
<source>Lock aspect ratio</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1251"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1292"/>
<source>Height:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1277"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1283"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1318"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1324"/>
<source>Shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1297"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1338"/>
<source>X offset:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1324"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1365"/>
<source>Y offset:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1358"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1399"/>
<source>Opacity:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1467"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1508"/>
<source>Object properties</source>
<translation type="unfinished"></translation>
</message>
@@ -2147,180 +2163,180 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="352"/>
<location filename="../glabels/ObjectEditor.cpp" line="361"/>
<source>Box object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="354"/>
<location filename="../glabels/ObjectEditor.cpp" line="375"/>
<location filename="../glabels/ObjectEditor.cpp" line="416"/>
<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="355"/>
<location filename="../glabels/ObjectEditor.cpp" line="376"/>
<location filename="../glabels/ObjectEditor.cpp" line="397"/>
<location filename="../glabels/ObjectEditor.cpp" line="417"/>
<location filename="../glabels/ObjectEditor.cpp" line="438"/>
<location filename="../glabels/ObjectEditor.cpp" line="457"/>
<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>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="356"/>
<location filename="../glabels/ObjectEditor.cpp" line="377"/>
<location filename="../glabels/ObjectEditor.cpp" line="398"/>
<location filename="../glabels/ObjectEditor.cpp" line="418"/>
<location filename="../glabels/ObjectEditor.cpp" line="439"/>
<location filename="../glabels/ObjectEditor.cpp" line="365"/>
<location filename="../glabels/ObjectEditor.cpp" line="386"/>
<location filename="../glabels/ObjectEditor.cpp" line="407"/>
<location filename="../glabels/ObjectEditor.cpp" line="427"/>
<location filename="../glabels/ObjectEditor.cpp" line="448"/>
<source>shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="373"/>
<location filename="../glabels/ObjectEditor.cpp" line="382"/>
<source>Ellipse object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="394"/>
<location filename="../glabels/ObjectEditor.cpp" line="403"/>
<source>Image object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="396"/>
<location filename="../glabels/ObjectEditor.cpp" line="405"/>
<source>image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="414"/>
<location filename="../glabels/ObjectEditor.cpp" line="423"/>
<source>Line object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="435"/>
<location filename="../glabels/ObjectEditor.cpp" line="444"/>
<source>Text object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="437"/>
<location filename="../glabels/ObjectEditor.cpp" line="446"/>
<source>text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="454"/>
<location filename="../glabels/ObjectEditor.cpp" line="463"/>
<source>Barcode object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="456"/>
<location filename="../glabels/ObjectEditor.cpp" line="465"/>
<source>barcode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="482"/>
<location filename="../glabels/ObjectEditor.cpp" line="491"/>
<source>Object properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="539"/>
<location filename="../glabels/ObjectEditor.cpp" line="548"/>
<source>Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="555"/>
<location filename="../glabels/ObjectEditor.cpp" line="564"/>
<source>Fill</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="578"/>
<location filename="../glabels/ObjectEditor.cpp" line="587"/>
<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="579"/>
<location filename="../glabels/ObjectEditor.cpp" line="588"/>
<source>All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="580"/>
<location filename="../glabels/ObjectEditor.cpp" line="589"/>
<source>PNG - Portable Network Graphics (*.png)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="581"/>
<location filename="../glabels/ObjectEditor.cpp" line="590"/>
<source>BMP - Windows Bitmap (*.bmp)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="582"/>
<location filename="../glabels/ObjectEditor.cpp" line="591"/>
<source>GIF - Graphics Interchange Format (*.gif)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="583"/>
<location filename="../glabels/ObjectEditor.cpp" line="592"/>
<source>JPEG - Joint Photographic Experts Group (*.jpg *.jpeg)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="584"/>
<location filename="../glabels/ObjectEditor.cpp" line="593"/>
<source>PBM - Portable Bitmap (*.pbm)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="585"/>
<location filename="../glabels/ObjectEditor.cpp" line="594"/>
<source>PGM - Portable Graymap (*.pgm)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="586"/>
<location filename="../glabels/ObjectEditor.cpp" line="595"/>
<source>PPM - Portable Pixmap (*.ppm)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="587"/>
<location filename="../glabels/ObjectEditor.cpp" line="596"/>
<source>SVG - Scalable Vector Graphics (*.svg)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="588"/>
<location filename="../glabels/ObjectEditor.cpp" line="597"/>
<source>XBM - X11 Bitmap (*.xbm)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="589"/>
<location filename="../glabels/ObjectEditor.cpp" line="598"/>
<source>XPM - X11 Pixmap (*.xpm)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="593"/>
<location filename="../glabels/ObjectEditor.cpp" line="602"/>
<source>gLabels - Select image file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="598"/>
<location filename="../glabels/ObjectEditor.cpp" line="610"/>
<location filename="../glabels/ObjectEditor.cpp" line="607"/>
<location filename="../glabels/ObjectEditor.cpp" line="619"/>
<source>Set image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="621"/>
<location filename="../glabels/ObjectEditor.cpp" line="630"/>
<source>Move</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="639"/>
<location filename="../glabels/ObjectEditor.cpp" line="673"/>
<location filename="../glabels/ObjectEditor.cpp" line="648"/>
<location filename="../glabels/ObjectEditor.cpp" line="682"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="692"/>
<location filename="../glabels/ObjectEditor.cpp" line="701"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="766"/>
<location filename="../glabels/ObjectEditor.cpp" line="784"/>
<source>Shadow</source>
<translation type="unfinished"></translation>
</message>
@@ -3049,8 +3065,8 @@
<context>
<name>glabels::model::ModelTextObject</name>
<message>
<location filename="../model/ModelTextObject.cpp" line="423"/>
<location filename="../model/ModelTextObject.cpp" line="545"/>
<location filename="../model/ModelTextObject.cpp" line="450"/>
<location filename="../model/ModelTextObject.cpp" line="572"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
+111 -95
View File
@@ -356,209 +356,225 @@
<translation>Anordnung</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="56"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="54"/>
<source>Alignment:</source>
<translation>Ausrichtung:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="222"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="226"/>
<source>Line spacing:</source>
<translation>Zeilenabstand:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="274"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="260"/>
<source>Wrap mode:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="270"/>
<source>Word</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="306"/>
<source>Font</source>
<translation>Schrift</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="288"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="320"/>
<source>Family:</source>
<translation>Familie:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="298"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="330"/>
<source>Size:</source>
<translation>Größe:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="305"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="337"/>
<source>Style:</source>
<translation>Stil:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="392"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="582"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="822"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="914"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1351"/>
<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"/>
<source>Color:</source>
<translation>Farbe:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="484"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="516"/>
<source>Editor</source>
<translation>Editor</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="534"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="566"/>
<source>Barcode</source>
<translation>Strichcode</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="553"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="585"/>
<source>Style</source>
<translation>Stil</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="561"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="593"/>
<source>Type:</source>
<translation>Typ:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="568"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="600"/>
<source>Show text</source>
<translation>Text anzeigen</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="575"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="607"/>
<source>Checksum</source>
<translation>Prüfsumme</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="634"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="666"/>
<source>Barcode data</source>
<translation>Barcode-Daten</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="684"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="716"/>
<source>Image</source>
<translation>Bild</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="690"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="722"/>
<source>File</source>
<translation>Datei</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="713"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="280"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="745"/>
<source>None</source>
<translation>Keine</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="728"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="275"/>
<source>Anywhere</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="760"/>
<source>Select File...</source>
<translation>Datei auswählen </translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="741"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="773"/>
<source>or</source>
<translation>oder</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="755"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="787"/>
<source>Select Merge Field...</source>
<translation>Datenfeld auswählen </translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="784"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="816"/>
<source>Line/Fill</source>
<translation>Linie/Füllung</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="792"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="824"/>
<source>Line</source>
<translation>Linie</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="809"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1195"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="841"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1236"/>
<source>Width:</source>
<translation>Breite:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="900"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="932"/>
<source>Fill</source>
<translation>Füllung</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="968"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1000"/>
<source>Position/Size</source>
<translation>Position/Größe</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="974"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1006"/>
<source>Position</source>
<translation>Position</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="988"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1020"/>
<source>X:</source>
<translation>X:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1008"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1040"/>
<source>Y:</source>
<translation>Y:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1040"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1122"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1072"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1154"/>
<source>Size</source>
<translation>Größe</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1054"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1086"/>
<source>Length:</source>
<translation>Länge:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1074"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1106"/>
<source>Angle:</source>
<translation>Winkel:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1137"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1178"/>
<source>Original size:</source>
<translation>Originalgröße:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1144"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1185"/>
<source>Reset</source>
<translation>Zurücksetzen</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1236"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1277"/>
<source>Lock aspect ratio</source>
<translation>Seitenverhältnis beibehalten</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1251"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1292"/>
<source>Height:</source>
<translation>Höhe:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1277"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1283"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1318"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1324"/>
<source>Shadow</source>
<translation>Schattierung</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1297"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1338"/>
<source>X offset:</source>
<translation>X-Position:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1324"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1365"/>
<source>Y offset:</source>
<translation>Y-Position:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1358"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1399"/>
<source>Opacity:</source>
<translation>Deckkraft:</translation>
</message>
<message>
<location filename="../glabels/ui/ObjectEditor.ui" line="1467"/>
<location filename="../glabels/ui/ObjectEditor.ui" line="1508"/>
<source>Object properties</source>
<translation>Objekteigenschaften</translation>
</message>
@@ -2147,180 +2163,180 @@
<translation>Originalgröße</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="352"/>
<location filename="../glabels/ObjectEditor.cpp" line="361"/>
<source>Box object properties</source>
<translation>Eigenschaften des Rechteck-Objekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="354"/>
<location filename="../glabels/ObjectEditor.cpp" line="375"/>
<location filename="../glabels/ObjectEditor.cpp" line="416"/>
<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="355"/>
<location filename="../glabels/ObjectEditor.cpp" line="376"/>
<location filename="../glabels/ObjectEditor.cpp" line="397"/>
<location filename="../glabels/ObjectEditor.cpp" line="417"/>
<location filename="../glabels/ObjectEditor.cpp" line="438"/>
<location filename="../glabels/ObjectEditor.cpp" line="457"/>
<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>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="356"/>
<location filename="../glabels/ObjectEditor.cpp" line="377"/>
<location filename="../glabels/ObjectEditor.cpp" line="398"/>
<location filename="../glabels/ObjectEditor.cpp" line="418"/>
<location filename="../glabels/ObjectEditor.cpp" line="439"/>
<location filename="../glabels/ObjectEditor.cpp" line="365"/>
<location filename="../glabels/ObjectEditor.cpp" line="386"/>
<location filename="../glabels/ObjectEditor.cpp" line="407"/>
<location filename="../glabels/ObjectEditor.cpp" line="427"/>
<location filename="../glabels/ObjectEditor.cpp" line="448"/>
<source>shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="373"/>
<location filename="../glabels/ObjectEditor.cpp" line="382"/>
<source>Ellipse object properties</source>
<translation>Eigenschaften des Ellipsenobjekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="394"/>
<location filename="../glabels/ObjectEditor.cpp" line="403"/>
<source>Image object properties</source>
<translation>Eigenschaften des Bildobjekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="396"/>
<location filename="../glabels/ObjectEditor.cpp" line="405"/>
<source>image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="414"/>
<location filename="../glabels/ObjectEditor.cpp" line="423"/>
<source>Line object properties</source>
<translation>Eigenschaften des Linienobjekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="435"/>
<location filename="../glabels/ObjectEditor.cpp" line="444"/>
<source>Text object properties</source>
<translation>Eigenschaften des Textobjekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="437"/>
<location filename="../glabels/ObjectEditor.cpp" line="446"/>
<source>text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="454"/>
<location filename="../glabels/ObjectEditor.cpp" line="463"/>
<source>Barcode object properties</source>
<translation>Eigenschaften des Strichcode-Objekts</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="456"/>
<location filename="../glabels/ObjectEditor.cpp" line="465"/>
<source>barcode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="482"/>
<location filename="../glabels/ObjectEditor.cpp" line="491"/>
<source>Object properties</source>
<translation type="unfinished">Objekteigenschaften</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="539"/>
<location filename="../glabels/ObjectEditor.cpp" line="548"/>
<source>Line</source>
<translation>Linie</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="555"/>
<location filename="../glabels/ObjectEditor.cpp" line="564"/>
<source>Fill</source>
<translation>Füllung</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="578"/>
<location filename="../glabels/ObjectEditor.cpp" line="587"/>
<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="579"/>
<location filename="../glabels/ObjectEditor.cpp" line="588"/>
<source>All files (*)</source>
<translation>Alle Dateien (*)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="580"/>
<location filename="../glabels/ObjectEditor.cpp" line="589"/>
<source>PNG - Portable Network Graphics (*.png)</source>
<translation>PNG - Portable Network Graphics (*.png)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="581"/>
<location filename="../glabels/ObjectEditor.cpp" line="590"/>
<source>BMP - Windows Bitmap (*.bmp)</source>
<translation>BMP - Windows Bitmap (*.bmp)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="582"/>
<location filename="../glabels/ObjectEditor.cpp" line="591"/>
<source>GIF - Graphics Interchange Format (*.gif)</source>
<translation>GIF - Graphics Interchange Format (*.gif)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="583"/>
<location filename="../glabels/ObjectEditor.cpp" line="592"/>
<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="584"/>
<location filename="../glabels/ObjectEditor.cpp" line="593"/>
<source>PBM - Portable Bitmap (*.pbm)</source>
<translation>PBM - Portable Bitmap (*.pbm)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="585"/>
<location filename="../glabels/ObjectEditor.cpp" line="594"/>
<source>PGM - Portable Graymap (*.pgm)</source>
<translation>PGM - Portable Graymap (*.pgm)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="586"/>
<location filename="../glabels/ObjectEditor.cpp" line="595"/>
<source>PPM - Portable Pixmap (*.ppm)</source>
<translation>PPM - Portable Pixmap (*.ppm)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="587"/>
<location filename="../glabels/ObjectEditor.cpp" line="596"/>
<source>SVG - Scalable Vector Graphics (*.svg)</source>
<translation>SVG - Scalable Vector Graphics (*.svg)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="588"/>
<location filename="../glabels/ObjectEditor.cpp" line="597"/>
<source>XBM - X11 Bitmap (*.xbm)</source>
<translation>XBM - X11 Bitmap (*.xbm)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="589"/>
<location filename="../glabels/ObjectEditor.cpp" line="598"/>
<source>XPM - X11 Pixmap (*.xpm)</source>
<translation>XPM - X11 Pixmap (*.xpm)</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="593"/>
<location filename="../glabels/ObjectEditor.cpp" line="602"/>
<source>gLabels - Select image file</source>
<translation>gLabels - Bilddatei wählen</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="598"/>
<location filename="../glabels/ObjectEditor.cpp" line="610"/>
<location filename="../glabels/ObjectEditor.cpp" line="607"/>
<location filename="../glabels/ObjectEditor.cpp" line="619"/>
<source>Set image</source>
<translation>Bild festlegen</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="621"/>
<location filename="../glabels/ObjectEditor.cpp" line="630"/>
<source>Move</source>
<translation>Verschieben</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="639"/>
<location filename="../glabels/ObjectEditor.cpp" line="673"/>
<location filename="../glabels/ObjectEditor.cpp" line="648"/>
<location filename="../glabels/ObjectEditor.cpp" line="682"/>
<source>Size</source>
<translation>Größe</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="692"/>
<location filename="../glabels/ObjectEditor.cpp" line="701"/>
<source>Text</source>
<translation>Text</translation>
</message>
<message>
<location filename="../glabels/ObjectEditor.cpp" line="766"/>
<location filename="../glabels/ObjectEditor.cpp" line="784"/>
<source>Shadow</source>
<translation>Schattierung</translation>
</message>
@@ -3049,8 +3065,8 @@
<context>
<name>glabels::model::ModelTextObject</name>
<message>
<location filename="../model/ModelTextObject.cpp" line="423"/>
<location filename="../model/ModelTextObject.cpp" line="545"/>
<location filename="../model/ModelTextObject.cpp" line="450"/>
<location filename="../model/ModelTextObject.cpp" line="572"/>
<source>Text</source>
<translation type="unfinished">Text</translation>
</message>