mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-25 00:14:15 +02:00
Merge pull request #1561 from DaTweety/feature/text-fixed-size
Linux build and tests / Build and test (Qt 6, Debug) (push) Failing after 1m41s
Linux build and tests / Build and test (Qt 6, Debug) (push) Failing after 1m41s
Symbol texts: width and height, each fixed or not
This commit is contained in:
@@ -3974,6 +3974,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>الارتفاع</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>العرض ثابت</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>الارتفاع ثابت</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>عند التحديد يحتفظ حقل النص بالعرض أعلاه ويلتف النص داخله. بدون تحديد يكون بعرض النص.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>عند التحديد يحتفظ حقل النص بالارتفاع أعلاه وتُقص الأسطر التي لا تتسع. بدون تحديد يكون بارتفاع النص.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>تغيير ارتفاع نص العنصر</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3895,6 +3895,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Alçada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Amplada fixa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Alçada fixa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Marcat, el camp de text manté l'amplada de dalt i el text s'ajusta a dins. Sense marcar, és tan ample com el text.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Marcat, el camp de text manté l'alçada de dalt i les línies que no hi caben es tallen. Sense marcar, és tan alt com el text.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Canviar l'alçada d'un text d'element</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3921,6 +3921,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Výška</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Pevná šířka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Pevná výška</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Zaškrtnuto: textové pole si drží šířku výše a text se v něm zalamuje. Nezaškrtnuto: je široké jako text.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Zaškrtnuto: textové pole si drží výšku výše a řádky, které se nevejdou, se oříznou. Nezaškrtnuto: je vysoké jako text.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Změnit výšku textu prvku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3875,6 +3875,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Højde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Fast bredde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Fast højde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Markeret beholder tekstfeltet bredden ovenfor, og teksten ombrydes i det. Ikke markeret er det lige så bredt som teksten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Markeret beholder tekstfeltet højden ovenfor, og linjer der ikke er plads til, skæres af. Ikke markeret er det lige så højt som teksten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Ændr højden på en elementtekst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3897,6 +3897,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Höhe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Breite fixiert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Höhe fixiert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Angehakt behält das Textfeld die Breite darüber, der Text bricht darin um. Nicht angehakt ist es so breit wie der Text.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Angehakt behält das Textfeld die Höhe darüber, Zeilen, die nicht hineinpassen, werden abgeschnitten. Nicht angehakt ist es so hoch wie der Text.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Höhe eines Elementtextes ändern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3894,6 +3894,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Ύψος</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Σταθερό πλάτος</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Σταθερό ύψος</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Επιλεγμένο: το πεδίο κειμένου κρατά το παραπάνω πλάτος και το κείμενο αναδιπλώνεται μέσα του. Μη επιλεγμένο: είναι όσο φαρδύ είναι το κείμενο.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Επιλεγμένο: το πεδίο κειμένου κρατά το παραπάνω ύψος και οι γραμμές που δεν χωρούν αποκόπτονται. Μη επιλεγμένο: είναι όσο ψηλό είναι το κείμενο.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Αλλαγή ύψους κειμένου στοιχείου</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3894,6 +3894,36 @@ Hold Shift and drag to move this text on its own</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Height</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Width fixed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Height fixed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Change the height of an element text</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3897,6 +3897,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Alto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Ancho fijo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Alto fijo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Marcado, el campo de texto mantiene el ancho de arriba y el texto se ajusta dentro. Sin marcar, es tan ancho como el texto.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Marcado, el campo de texto mantiene el alto de arriba y las líneas que no caben se cortan. Sin marcar, es tan alto como el texto.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Cambiar el alto de un texto de elemento</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3870,6 +3870,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Korkeus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Kiinteä leveys</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Kiinteä korkeus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Valittuna tekstikenttä pitää yllä olevan leveyden ja teksti rivittyy sen sisään. Valitsematta se on tekstin levyinen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Valittuna tekstikenttä pitää yllä olevan korkeuden ja rivit, jotka eivät mahdu, katkaistaan. Valitsematta se on tekstin korkuinen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Muuta elementtitekstin korkeutta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3895,6 +3895,36 @@ Maintenir Maj et faire glisser pour déplacer ce texte seul</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Hauteur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Largeur fixe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Hauteur fixe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Cochée, le champ de texte garde la largeur ci-dessus et le texte y passe à la ligne. Non cochée, il est aussi large que le texte.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Cochée, le champ de texte garde la hauteur ci-dessus et les lignes qui ne tiennent pas sont coupées. Non cochée, il est aussi haut que le texte.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Modifier la hauteur d'un texte d'élément</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3895,6 +3895,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Visina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Fiksna širina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Fiksna visina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Označeno: tekstno polje zadržava gornju širinu i tekst se u njemu prelama. Neoznačeno: široko je koliko i tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Označeno: tekstno polje zadržava gornju visinu, a redci koji ne stanu se odrežu. Neoznačeno: visoko je koliko i tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Promijeni visinu teksta elementa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3874,6 +3874,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Magasság</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Rögzített szélesség</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Rögzített magasság</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Bejelölve a szövegmező megtartja a fenti szélességet, és a szöveg benne tördelődik. Bejelöletlenül olyan széles, mint a szöveg.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Bejelölve a szövegmező megtartja a fenti magasságot, és a bele nem férő sorok levágódnak. Bejelöletlenül olyan magas, mint a szöveg.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Elemszöveg magasságának módosítása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3894,6 +3894,36 @@ Tieni premuto Maiusc e trascina per spostare solo questo testo</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Altezza</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Larghezza fissa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Altezza fissa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Spuntato, il campo di testo mantiene la larghezza sopra e il testo va a capo al suo interno. Non spuntato, è largo quanto il testo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Spuntato, il campo di testo mantiene l'altezza sopra e le righe che non entrano vengono tagliate. Non spuntato, è alto quanto il testo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Modifica l'altezza di un testo dell'elemento</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="269"/>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="824"/>
|
||||
|
||||
@@ -3866,6 +3866,36 @@ Shift を押しながらドラッグすると、このテキストだけを移
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>高さ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>幅を固定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>高さを固定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>チェックするとテキスト欄は上の幅を保ち、テキストはその中で折り返します。チェックしないとテキストの幅になります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>チェックするとテキスト欄は上の高さを保ち、収まらない行は切り捨てられます。チェックしないとテキストの高さになります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>要素テキストの高さを変更</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3866,6 +3866,36 @@ Shift를 누른 채 끌면 이 텍스트만 이동합니다</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>높이</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>너비 고정</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>높이 고정</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>선택하면 텍스트 필드가 위의 너비를 유지하고 텍스트가 그 안에서 줄 바꿈됩니다. 선택하지 않으면 텍스트 너비와 같습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>선택하면 텍스트 필드가 위의 높이를 유지하고 들어가지 않는 줄은 잘립니다. 선택하지 않으면 텍스트 높이와 같습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>요소 텍스트의 높이 변경</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3877,6 +3877,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Өндөр</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Тогтмол өргөн</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Тогтмол өндөр</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Тэмдэглэсэн үед текстийн талбар дээрх өргөнийг хадгалж, текст дотор нь шилжинэ. Тэмдэглээгүй үед текстийн өргөнтэй тэнцүү.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Тэмдэглэсэн үед текстийн талбар дээрх өндрийг хадгалж, багтахгүй мөрүүд таслагдана. Тэмдэглээгүй үед текстийн өндөртэй тэнцүү.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Элементийн текстийн өндрийг өөрчлөх</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3878,6 +3878,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Høyde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Fast bredde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Fast høyde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Avkrysset beholder tekstfeltet bredden over, og teksten brytes inni det. Ikke avkrysset er det like bredt som teksten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Avkrysset beholder tekstfeltet høyden over, og linjer som ikke får plass, kuttes. Ikke avkrysset er det like høyt som teksten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Endre høyden på en elementtekst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3875,6 +3875,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Hoogte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Vaste breedte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Vaste hoogte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Aangevinkt houdt het tekstveld de breedte hierboven en loopt de tekst erin door. Niet aangevinkt is het zo breed als de tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Aangevinkt houdt het tekstveld de hoogte hierboven en worden regels die niet passen afgesneden. Niet aangevinkt is het zo hoog als de tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>De hoogte van een elementtekst wijzigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3895,6 +3895,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Hoogte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Vaste breedte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Vaste hoogte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Aangevinkt houdt het tekstveld de breedte hierboven en loopt de tekst erin door. Niet aangevinkt is het zo breed als de tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Aangevinkt houdt het tekstveld de hoogte hierboven en worden regels die niet passen afgesneden. Niet aangevinkt is het zo hoog als de tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>De hoogte van een elementtekst wijzigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -2697,6 +2697,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Hoogte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Vaste breedte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Vaste hoogte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Aangevinkt houdt het tekstveld de breedte hierboven en loopt de tekst erin door. Niet aangevinkt is het zo breed als de tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Aangevinkt houdt het tekstveld de hoogte hierboven en worden regels die niet passen afgesneden. Niet aangevinkt is het zo hoog als de tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>De hoogte van een elementtekst wijzigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3870,6 +3870,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Høyde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Fast bredde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Fast høyde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Avkrysset beholder tekstfeltet bredden over, og teksten brytes inni det. Ikke avkrysset er det like bredt som teksten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Avkrysset beholder tekstfeltet høyden over, og linjer som ikke får plass, kuttes. Ikke avkrysset er det like høyt som teksten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Endre høyden på en elementtekst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3935,6 +3935,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Wysokość</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Stała szerokość</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Stała wysokość</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Zaznaczone: pole tekstowe zachowuje szerokość powyżej, a tekst jest w nim zawijany. Niezaznaczone: jest tak szerokie jak tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Zaznaczone: pole tekstowe zachowuje wysokość powyżej, a wiersze, które się nie mieszczą, są obcinane. Niezaznaczone: jest tak wysokie jak tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Zmień wysokość tekstu elementu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3896,6 +3896,36 @@ Mantenha Shift premido e arraste para mover este texto sozinho</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Altura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Largura fixa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Altura fixa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Marcado, o campo de texto mantém a largura acima e o texto quebra dentro dele. Desmarcado, é tão largo como o texto.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Marcado, o campo de texto mantém a altura acima e as linhas que não cabem são cortadas. Desmarcado, é tão alto como o texto.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Alterar a altura de um texto de elemento</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3895,6 +3895,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Altura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Largura fixa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Altura fixa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Marcado, o campo de texto mantém a largura acima e o texto quebra dentro dele. Desmarcado, é tão largo quanto o texto.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Marcado, o campo de texto mantém a altura acima e as linhas que não cabem são cortadas. Desmarcado, é tão alto quanto o texto.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Alterar a altura de um texto de elemento</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3894,6 +3894,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Înălțime</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Lățime fixă</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Înălțime fixă</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Bifat, câmpul de text păstrează lățimea de deasupra și textul se încadrează în el. Nebifat, este cât textul de lat.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Bifat, câmpul de text păstrează înălțimea de deasupra și rândurile care nu încap sunt tăiate. Nebifat, este cât textul de înalt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Modifică înălțimea unui text de element</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3894,6 +3894,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Visina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Fiksna širina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Fiksna visina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Označeno: tekstualno polje zadržava gornju širinu i tekst se u njemu prelama. Neoznačeno: široko je koliko i tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Označeno: tekstualno polje zadržava gornju visinu, a redovi koji ne stanu se odsecaju. Neoznačeno: visoko je koliko i tekst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Promeni visinu teksta elementa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3932,6 +3932,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Высота</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Фиксированная ширина</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Фиксированная высота</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Если отмечено, текстовое поле сохраняет ширину выше, и текст переносится внутри него. Если не отмечено, поле по ширине текста.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Если отмечено, текстовое поле сохраняет высоту выше, а не поместившиеся строки обрезаются. Если не отмечено, поле по высоте текста.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Изменить высоту текста элемента</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3912,6 +3912,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Výška</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Pevná šírka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Pevná výška</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Začiarknuté: textové pole si drží šírku vyššie a text sa v ňom zalamuje. Nezačiarknuté: je široké ako text.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Začiarknuté: textové pole si drží výšku vyššie a riadky, ktoré sa nezmestia, sa orežú. Nezačiarknuté: je vysoké ako text.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Zmeniť výšku textu prvku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3918,6 +3918,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Višina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Fiksna širina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Fiksna višina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Označeno: besedilno polje ohrani zgornjo širino in besedilo se v njem prelamlja. Neoznačeno: je široko kot besedilo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Označeno: besedilno polje ohrani zgornjo višino, vrstice, ki ne gredo vanj, se odrežejo. Neoznačeno: je visoko kot besedilo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Spremeni višino besedila elementa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3894,6 +3894,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Висина</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Фиксна ширина</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Фиксна висина</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Означено: текстуално поље задржава горњу ширину и текст се у њему прелама. Неозначено: широко је колико и текст.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Означено: текстуално поље задржава горњу висину, а редови који не стану се одсецају. Неозначено: високо је колико и текст.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Промени висину текста елемента</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3875,6 +3875,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Höjd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Fast bredd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Fast höjd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Markerat behåller textfältet bredden ovan och texten radbryts i det. Omarkerat är det lika brett som texten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Markerat behåller textfältet höjden ovan och rader som inte får plats skärs av. Omarkerat är det lika högt som texten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Ändra höjden på en elementtext</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3874,6 +3874,36 @@ Bu metni tek başına taşımak için Shift tuşunu basılı tutup sürükleyin<
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Yükseklik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Sabit genişlik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Sabit yükseklik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>İşaretliyse metin alanı yukarıdaki genişliği korur ve metin içinde kaydırılır. İşaretli değilse metin kadar geniştir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>İşaretliyse metin alanı yukarıdaki yüksekliği korur ve sığmayan satırlar kesilir. İşaretli değilse metin kadar yüksektir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Bir öğe metninin yüksekliğini değiştir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3922,6 +3922,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>Висота</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>Фіксована ширина</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>Фіксована висота</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>Якщо позначено, текстове поле зберігає ширину вище, і текст переноситься всередині. Якщо ні, поле за шириною тексту.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>Якщо позначено, текстове поле зберігає висоту вище, а рядки, що не вміщуються, обрізаються. Якщо ні, поле за висотою тексту.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>Змінити висоту тексту елемента</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3865,6 +3865,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>高度</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>固定宽度</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>固定高度</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>勾选后文本框保持上面的宽度,文本在其中换行。不勾选时与文本同宽。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>勾选后文本框保持上面的高度,放不下的行被截断。不勾选时与文本同高。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>更改元件文本的高度</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -3865,6 +3865,36 @@ Hold Shift and drag to move this text on its own</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>DynamicElementTextModel</name>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height</source>
|
||||
<translation>高度</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="327"/>
|
||||
<source>Width fixed</source>
|
||||
<translation>固定寬度</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="330"/>
|
||||
<source>Height fixed</source>
|
||||
<translation>固定高度</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="328"/>
|
||||
<source>Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text.</source>
|
||||
<translation>勾選後文字框保持上方的寬度,文字在其中換行。不勾選時與文字同寬。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="331"/>
|
||||
<source>Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text.</source>
|
||||
<translation>勾選後文字框保持上方的高度,放不下的行會被截斷。不勾選時與文字同高。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="649"/>
|
||||
<source>Change the height of an element text</source>
|
||||
<translation>變更元件文字的高度</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="70"/>
|
||||
<source>Property</source>
|
||||
|
||||
@@ -175,6 +175,8 @@ QDomElement DynamicElementTextItem::toXml(QDomDocument &dom_doc) const
|
||||
root_element.setAttribute("uuid", m_uuid.toString());
|
||||
root_element.setAttribute("frame", m_frame? "true" : "false");
|
||||
root_element.setAttribute("text_width", QString::number(m_text_width));
|
||||
if (m_text_height > 0)
|
||||
root_element.setAttribute(QStringLiteral("text_height"), QString::number(m_text_height));
|
||||
root_element.setAttribute("font", QETUtils::fontToString(font()));
|
||||
root_element.setAttribute("keep_visual_rotation", m_keep_visual_rotation ? "true" : "false");
|
||||
root_element.setAttribute("rotation_point_center", m_rotation_point_center ? "true" : "false");
|
||||
@@ -262,6 +264,7 @@ void DynamicElementTextItem::fromXml(const QDomElement &dom_elmt)
|
||||
m_uuid = QUuid(dom_elmt.attribute("uuid", QUuid::createUuid().toString()));
|
||||
setFrame(dom_elmt.attribute("frame", "false") == "true"? true : false);
|
||||
setTextWidth(dom_elmt.attribute("text_width", QString::number(-1)).toDouble());
|
||||
setTextHeight(dom_elmt.attribute(QStringLiteral("text_height"), QStringLiteral("-1")).toDouble());
|
||||
|
||||
//Text from
|
||||
QMetaEnum me = textFromMetaEnum();
|
||||
@@ -867,7 +870,15 @@ void DynamicElementTextItem::paint(QPainter *painter, const QStyleOptionGraphics
|
||||
if (m_jump_highlight)
|
||||
painter->fillRect(boundingRect(), QColor(69, 137, 255, 90));
|
||||
|
||||
DiagramTextItem::paint(painter, option, widget);
|
||||
//A fixed height cuts off the lines that do not fit
|
||||
if (m_text_height > 0) {
|
||||
painter->save();
|
||||
painter->setClipRect(boundingRect(), Qt::IntersectClip);
|
||||
DiagramTextItem::paint(painter, option, widget);
|
||||
painter->restore();
|
||||
} else {
|
||||
DiagramTextItem::paint(painter, option, widget);
|
||||
}
|
||||
|
||||
if (m_frame)
|
||||
{
|
||||
@@ -2069,6 +2080,60 @@ void DynamicElementTextItem::setTextWidth(qreal width)
|
||||
emit textWidthChanged(width);
|
||||
}
|
||||
|
||||
/**
|
||||
@brief DynamicElementTextItem::setTextHeight
|
||||
@param height : the height of the text field, -1 to follow the text.
|
||||
With a height set, the field keeps it whatever is written: the lines
|
||||
that do not fit are not drawn, to shorten a text where room is short.
|
||||
*/
|
||||
void DynamicElementTextItem::setTextHeight(qreal height)
|
||||
{
|
||||
if (height <= 0)
|
||||
height = -1;
|
||||
if (qFuzzyCompare(height + 2, m_text_height + 2))
|
||||
return;
|
||||
prepareGeometryChange();
|
||||
m_text_height = height;
|
||||
update();
|
||||
emit textHeightChanged(height);
|
||||
}
|
||||
|
||||
/**
|
||||
@brief DynamicElementTextItem::boundingRect
|
||||
@return the text's own box, cut to the height set by the user
|
||||
*/
|
||||
QRectF DynamicElementTextItem::boundingRect() const
|
||||
{
|
||||
QRectF rect = DiagramTextItem::boundingRect();
|
||||
if (m_text_height > 0)
|
||||
rect.setHeight(m_text_height);
|
||||
return rect;
|
||||
}
|
||||
|
||||
/**
|
||||
@brief DynamicElementTextItem::shape
|
||||
QGraphicsTextItem answers shape() and contains() from its own box, not
|
||||
from boundingRect(): cut both to the height set by the user, so that
|
||||
the lines cut off take no clicks either.
|
||||
*/
|
||||
QPainterPath DynamicElementTextItem::shape() const
|
||||
{
|
||||
QPainterPath path = DiagramTextItem::shape();
|
||||
if (m_text_height > 0) {
|
||||
QPainterPath cut;
|
||||
cut.addRect(boundingRect());
|
||||
path = path.intersected(cut);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
bool DynamicElementTextItem::contains(const QPointF &point) const
|
||||
{
|
||||
if (m_text_height > 0 && !boundingRect().contains(point))
|
||||
return false;
|
||||
return DiagramTextItem::contains(point);
|
||||
}
|
||||
|
||||
/**
|
||||
@brief DynamicElementTextItem::fitAutoTextWidth
|
||||
With no width set by the user, a QTextDocument has no width to centre
|
||||
|
||||
@@ -51,6 +51,7 @@ class DynamicElementTextItem : public DiagramTextItem
|
||||
Q_PROPERTY(QString compositeText READ compositeText WRITE setCompositeText NOTIFY compositeTextChanged)
|
||||
Q_PROPERTY(bool frame READ frame WRITE setFrame NOTIFY frameChanged)
|
||||
Q_PROPERTY(qreal textWidth READ textWidth WRITE setTextWidth NOTIFY textWidthChanged)
|
||||
Q_PROPERTY(qreal textHeight READ textHeight WRITE setTextHeight NOTIFY textHeightChanged)
|
||||
Q_PROPERTY(bool keepVisualRotation READ keepVisualRotation WRITE setKeepVisualRotation NOTIFY keepVisualRotationChanged)
|
||||
Q_PROPERTY(bool rotationPointCenter READ rotationPointCenter WRITE setRotationPointCenter NOTIFY rotationPointCenterChanged)
|
||||
public:
|
||||
@@ -72,6 +73,7 @@ class DynamicElementTextItem : public DiagramTextItem
|
||||
void frameChanged(bool frame);
|
||||
void plainTextChanged();
|
||||
void textWidthChanged(qreal width);
|
||||
void textHeightChanged(qreal height);
|
||||
void keepVisualRotationChanged(bool keep);
|
||||
void rotationPointCenterChanged(bool center);
|
||||
|
||||
@@ -122,6 +124,13 @@ class DynamicElementTextItem : public DiagramTextItem
|
||||
//centred or right-aligned, but the width is still "auto" (-1).
|
||||
qreal textWidth() const {return m_text_width;}
|
||||
void setTextWidth(qreal width);
|
||||
//A height set by the user, -1 for "auto": lines that do not
|
||||
//fit are cut off, as a text field of fixed size does
|
||||
qreal textHeight() const {return m_text_height;}
|
||||
void setTextHeight(qreal height);
|
||||
QRectF boundingRect() const override;
|
||||
QPainterPath shape() const override;
|
||||
bool contains(const QPointF &point) const override;
|
||||
void setXref_item(Qt::AlignmentFlag m_exHrefPos, int slave_offset = 0);
|
||||
|
||||
void setKeepVisualRotation(bool set);
|
||||
@@ -204,6 +213,7 @@ class DynamicElementTextItem : public DiagramTextItem
|
||||
QGraphicsTextItem *m_slave_Xref_item = nullptr;
|
||||
qreal m_text_width = -1;
|
||||
bool m_jump_highlight = false;
|
||||
qreal m_text_height = -1;
|
||||
/// The text was emptied with its alignment kept (setPlainText())
|
||||
bool m_emptied_aligned = false;
|
||||
QPointF m_initial_position;
|
||||
|
||||
@@ -48,11 +48,14 @@ static int font_txt_row = 5;
|
||||
static int color_txt_row = 6;
|
||||
static int frame_txt_row = 7;
|
||||
static int width_txt_row = 8;
|
||||
static int x_txt_row = 9;
|
||||
static int y_txt_row = 10;
|
||||
static int rot_txt_row = 11;
|
||||
static int keep_rot_row = 12;
|
||||
static int align_txt_row = 13;
|
||||
static int width_fix_row = 9;
|
||||
static int height_txt_row = 10;
|
||||
static int height_fix_row = 11;
|
||||
static int x_txt_row = 12;
|
||||
static int y_txt_row = 13;
|
||||
static int rot_txt_row = 14;
|
||||
static int keep_rot_row = 15;
|
||||
static int align_txt_row = 16;
|
||||
|
||||
static int align_grp_row = 0;
|
||||
static int x_grp_row = 1;
|
||||
@@ -96,6 +99,39 @@ DynamicElementTextModel::~DynamicElementTextModel()
|
||||
setConnection(group, false);
|
||||
}
|
||||
|
||||
/**
|
||||
@brief setSizeItem
|
||||
Show one size of a text, width or height, on two rows: the value, and
|
||||
whether it is fixed. Fixed, the value is the size set, and it can be
|
||||
edited. Not fixed, the field follows the text: the value shows the
|
||||
size it has now, ready to be fixed, and cannot be edited.
|
||||
@param value : the row of the value
|
||||
@param fixed : the row of the tick box
|
||||
@param size : the size set, -1 when not fixed
|
||||
@param now : the size the field has now
|
||||
*/
|
||||
static void setSizeItem(QStandardItem *value, QStandardItem *fixed, qreal size, qreal now)
|
||||
{
|
||||
if (!value || !fixed)
|
||||
return;
|
||||
const bool is_fixed = size > 0;
|
||||
fixed->setCheckState(is_fixed ? Qt::Checked : Qt::Unchecked);
|
||||
value->setData(qRound(is_fixed ? size : now), Qt::EditRole);
|
||||
Qt::ItemFlags flags = Qt::ItemIsSelectable | Qt::ItemIsEnabled;
|
||||
if (is_fixed)
|
||||
flags |= Qt::ItemIsEditable;
|
||||
value->setFlags(flags);
|
||||
}
|
||||
|
||||
static void setSizeItems(QStandardItem *text_qsi, DynamicElementTextItem *deti)
|
||||
{
|
||||
const QRectF box = deti->boundingRect();
|
||||
setSizeItem(text_qsi->child(width_txt_row, 1), text_qsi->child(width_fix_row, 1),
|
||||
deti->textWidth(), box.width());
|
||||
setSizeItem(text_qsi->child(height_txt_row, 1), text_qsi->child(height_fix_row, 1),
|
||||
deti->textHeight(), box.height());
|
||||
}
|
||||
|
||||
/**
|
||||
@brief DynamicElementTextModel::indexIsInGroup
|
||||
@param index
|
||||
@@ -281,20 +317,45 @@ QList<QStandardItem *> DynamicElementTextModel::itemsForText(
|
||||
qsi_list << frame << frame_a;
|
||||
qsi->appendRow(qsi_list);
|
||||
|
||||
//Width
|
||||
QStandardItem *width = new QStandardItem(tr("Width"));
|
||||
width->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QStandardItem *width_a = new QStandardItem;
|
||||
width_a->setData(deti->textWidth(), Qt::EditRole);
|
||||
width_a->setData(DynamicElementTextModel::textWidth, Qt::UserRole+1);
|
||||
width_a->setFlags(Qt::ItemIsSelectable
|
||||
| Qt::ItemIsEnabled
|
||||
| Qt::ItemIsEditable);
|
||||
|
||||
qsi_list.clear();
|
||||
qsi_list << width << width_a;
|
||||
qsi->appendRow(qsi_list);
|
||||
//Width and height, each on two rows: the value, and whether it
|
||||
//is fixed. Not fixed, the field follows the text and the value
|
||||
//only shows the size it has now.
|
||||
const struct {
|
||||
QString name, fixed_name, tip;
|
||||
int value_type, fixed_type;
|
||||
} sizes[] = {
|
||||
{tr("Width"), tr("Width fixed"),
|
||||
tr("Ticked, the text field keeps the width above and the text wraps inside it. Not ticked, it is as wide as the text."),
|
||||
DynamicElementTextModel::textWidth, DynamicElementTextModel::textWidthFixed},
|
||||
{tr("Height"), tr("Height fixed"),
|
||||
tr("Ticked, the text field keeps the height above and the lines that do not fit are cut off. Not ticked, it is as high as the text."),
|
||||
DynamicElementTextModel::textHeight, DynamicElementTextModel::textHeightFixed}
|
||||
};
|
||||
for (const auto &size : sizes)
|
||||
{
|
||||
QStandardItem *name = new QStandardItem(size.name);
|
||||
name->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
QStandardItem *value = new QStandardItem;
|
||||
value->setData(size.value_type, Qt::UserRole+1);
|
||||
qsi_list.clear();
|
||||
qsi_list << name << value;
|
||||
qsi->appendRow(qsi_list);
|
||||
|
||||
QStandardItem *fixed_name = new QStandardItem(size.fixed_name);
|
||||
fixed_name->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
fixed_name->setToolTip(size.tip);
|
||||
QStandardItem *fixed = new QStandardItem;
|
||||
fixed->setCheckable(true);
|
||||
fixed->setToolTip(size.tip);
|
||||
fixed->setData(size.fixed_type, Qt::UserRole+1);
|
||||
fixed->setFlags(Qt::ItemIsSelectable
|
||||
| Qt::ItemIsEnabled
|
||||
| Qt::ItemIsUserCheckable);
|
||||
qsi_list.clear();
|
||||
qsi_list << fixed_name << fixed;
|
||||
qsi->appendRow(qsi_list);
|
||||
}
|
||||
setSizeItems(qsi, deti);
|
||||
|
||||
if(deti->parentGroup() == nullptr)
|
||||
{
|
||||
@@ -587,13 +648,22 @@ QUndoCommand *DynamicElementTextModel::undoForEditedText(
|
||||
quc->setText(tr("Modify the frame of an element text"));
|
||||
}
|
||||
|
||||
qreal text_width = text_qsi->child(width_txt_row, 1)->data(Qt::EditRole).toDouble();
|
||||
qreal text_width = text_qsi->child(width_fix_row, 1)->checkState() == Qt::Checked
|
||||
? text_qsi->child(width_txt_row, 1)->data(Qt::EditRole).toDouble() : -1;
|
||||
if(text_width != deti->textWidth())
|
||||
{
|
||||
QPropertyUndoCommand *quc = new QPropertyUndoCommand(deti, "textWidth", QVariant(deti->textWidth()), QVariant(text_width), undo);
|
||||
quc->setAnimated(true, false);
|
||||
quc->setText(tr("Change the width of an element text"));
|
||||
}
|
||||
|
||||
qreal text_height = text_qsi->child(height_fix_row, 1)->checkState() == Qt::Checked
|
||||
? text_qsi->child(height_txt_row, 1)->data(Qt::EditRole).toDouble() : -1;
|
||||
if(text_height != deti->textHeight())
|
||||
{
|
||||
QPropertyUndoCommand *quc = new QPropertyUndoCommand(deti, "textHeight", QVariant(deti->textHeight()), QVariant(text_height), undo);
|
||||
quc->setText(tr("Change the height of an element text"));
|
||||
}
|
||||
|
||||
//When text is in a group, they're isn't item for position of the text
|
||||
if(text_qsi->child(x_txt_row,1) && text_qsi->child(y_txt_row,1))
|
||||
@@ -1340,6 +1410,18 @@ void DynamicElementTextModel::itemDataChanged(QStandardItem *qsi)
|
||||
QString text = qsi->data(Qt::DisplayRole).toString();
|
||||
text_qsi->setData(text, Qt::DisplayRole);
|
||||
}
|
||||
else if (qsi->data().toInt() == textWidthFixed || qsi->data().toInt() == textHeightFixed)
|
||||
{
|
||||
//The value can be edited as soon as it is fixed
|
||||
const int row = qsi->data().toInt() == textWidthFixed ? width_txt_row : height_txt_row;
|
||||
if (QStandardItem *value = text_qsi->child(row, 1)) {
|
||||
Qt::ItemFlags flags = Qt::ItemIsSelectable | Qt::ItemIsEnabled;
|
||||
if (qsi->checkState() == Qt::Checked)
|
||||
flags |= Qt::ItemIsEditable;
|
||||
if (value->flags() != flags)
|
||||
value->setFlags(flags);
|
||||
}
|
||||
}
|
||||
else if (qsi->data().toInt() == infoText && deti->elementUseForInfo())
|
||||
{
|
||||
QString info = qsi->data(Qt::UserRole+2).toString();
|
||||
@@ -1388,6 +1470,7 @@ void DynamicElementTextModel::setConnection(DynamicElementTextItem *deti, bool s
|
||||
connection_list << connect(deti, &DynamicElementTextItem::frameChanged, [deti,this](){this->updateDataFromText(deti, frame);});
|
||||
connection_list << connect(deti, &DynamicElementTextItem::rotationChanged, [deti,this](){this->updateDataFromText(deti, rotation);});
|
||||
connection_list << connect(deti, &DynamicElementTextItem::textWidthChanged,[deti,this](){this->updateDataFromText(deti, textWidth);});
|
||||
connection_list << connect(deti, &DynamicElementTextItem::textHeightChanged,[deti,this](){this->updateDataFromText(deti, textHeight);});
|
||||
connection_list << connect(deti, &DynamicElementTextItem::compositeTextChanged, [deti, this]() {this->updateDataFromText(deti, compositeText);});
|
||||
m_hash_text_connect.insert(deti, connection_list);
|
||||
}
|
||||
@@ -1525,15 +1608,16 @@ void DynamicElementTextModel::updateDataFromText(DynamicElementTextItem *deti,
|
||||
break;
|
||||
}
|
||||
case textWidth:
|
||||
case textHeight:
|
||||
{
|
||||
qsi->child(width_txt_row,1)->setData(deti->textWidth(), Qt::EditRole);
|
||||
setSizeItems(qsi, deti);
|
||||
break;
|
||||
}
|
||||
default:break;
|
||||
}
|
||||
|
||||
//Rotating or resizing the text moves its anchor point (Position X/Y)
|
||||
if ((type == rotation || type == textWidth)
|
||||
if ((type == rotation || type == textWidth || type == textHeight)
|
||||
&& qsi->child(x_txt_row,1) && qsi->child(y_txt_row,1))
|
||||
{
|
||||
qsi->child(x_txt_row,1)->setData(deti->anchorPos().x(), Qt::EditRole);
|
||||
@@ -1761,10 +1845,12 @@ QWidget *DynamicTextItemDelegate::createEditor(
|
||||
return sb;
|
||||
}
|
||||
case DynamicElementTextModel::textWidth:
|
||||
case DynamicElementTextModel::textHeight:
|
||||
{
|
||||
QSpinBox *sb = new QSpinBox(parent);
|
||||
sb->setObjectName("width_spinbox");
|
||||
sb->setRange(-1, 500);
|
||||
sb->setObjectName(index.data(Qt::UserRole+1).toInt() == DynamicElementTextModel::textWidth
|
||||
? "width_spinbox" : "height_spinbox");
|
||||
sb->setRange(1, 1000);
|
||||
sb->setFrame(false);
|
||||
sb->setSuffix(" px");
|
||||
return sb;
|
||||
|
||||
@@ -53,6 +53,9 @@ class DynamicElementTextModel : public QStandardItemModel
|
||||
rotation,
|
||||
keepVisualRotation,
|
||||
textWidth,
|
||||
textWidthFixed,
|
||||
textHeight,
|
||||
textHeightFixed,
|
||||
grpAlignment,
|
||||
grpPos,
|
||||
grpRotation,
|
||||
|
||||
@@ -140,6 +140,15 @@ if(Python3_Interpreter_FOUND AND CMAKE_GENERATOR STREQUAL "Ninja")
|
||||
--fixture ${CMAKE_CURRENT_SOURCE_DIR}/fixtures/unlinked_contact_label.qet)
|
||||
set_tests_properties(tst_textoutlineintegration PROPERTIES TIMEOUT 300 RUN_SERIAL TRUE
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen")
|
||||
# Width and height of a symbol's text, each fixed or not: a fixed
|
||||
# height cuts off the lines that do not fit; saved and undone.
|
||||
add_test(NAME tst_textfixedsizeintegration
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/run_text_fixed_size_probe.py
|
||||
--build ${CMAKE_BINARY_DIR} --binary $<TARGET_FILE:qelectrotech>
|
||||
--source ${CMAKE_CURRENT_SOURCE_DIR}/text_fixed_size_probe.cpp
|
||||
--fixture ${CMAKE_CURRENT_SOURCE_DIR}/fixtures/unlinked_contact_label.qet)
|
||||
set_tests_properties(tst_textfixedsizeintegration PROPERTIES TIMEOUT 300 RUN_SERIAL TRUE
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen")
|
||||
endif()
|
||||
if(Python3_Interpreter_FOUND AND CMAKE_GENERATOR STREQUAL "Ninja")
|
||||
add_test(NAME tst_darkimageintegration
|
||||
|
||||
Executable
+60
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Link the text fixed size integration probe using an existing Ninja app build.
|
||||
|
||||
Reuses app objects without duplicating the app or introducing a core-library
|
||||
refactor. No application source or existing executable is replaced. The
|
||||
generated manifest, probe binary, reports and export fixtures stay in build/.
|
||||
"""
|
||||
import argparse
|
||||
import pathlib
|
||||
import re
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--build', required=True)
|
||||
parser.add_argument('--binary', required=True)
|
||||
parser.add_argument('--source', required=True)
|
||||
parser.add_argument('--fixture', required=True)
|
||||
args = parser.parse_args()
|
||||
build = pathlib.Path(args.build).resolve()
|
||||
binary = pathlib.Path(args.binary).resolve()
|
||||
source = pathlib.Path(args.source).resolve()
|
||||
fixture = pathlib.Path(args.fixture).resolve()
|
||||
manifest = (build / 'build.ninja').read_text(encoding='utf-8')
|
||||
match = re.search(r'^build (\S*?/sources/main\.cpp\.(?:obj|o)):', manifest, re.MULTILINE)
|
||||
if not match:
|
||||
sys.exit('Cannot find the application main object in the Ninja build.')
|
||||
main_object = match.group(1)
|
||||
probe_object = main_object.replace('main.cpp.', 'text_fixed_size_probe.cpp.')
|
||||
probe_binary = binary.with_name('text_fixed_size_probe' + binary.suffix)
|
||||
def escape(path):
|
||||
return pathlib.Path(path).as_posix().replace('$', '$$').replace(':', '$:').replace(' ', '$ ')
|
||||
main_source = source.parents[2] / 'sources' / 'main.cpp'
|
||||
manifest = manifest.replace(main_object, probe_object)
|
||||
manifest = manifest.replace(escape(main_source), escape(source))
|
||||
if binary.suffix:
|
||||
manifest = manifest.replace(binary.name, probe_binary.name)
|
||||
else:
|
||||
old_target = escape(binary.name if binary.parent == build else binary)
|
||||
new_target = escape(probe_binary.name if probe_binary.parent == build else probe_binary)
|
||||
manifest = manifest.replace('build ' + old_target + ':', 'build ' + new_target + ':')
|
||||
old_file = binary.name if binary.parent == build else binary.as_posix()
|
||||
new_file = probe_binary.name if probe_binary.parent == build else probe_binary.as_posix()
|
||||
manifest = re.sub(r'^ TARGET_FILE = ' + re.escape(old_file) + r'$',
|
||||
' TARGET_FILE = ' + new_file, manifest, flags=re.MULTILINE)
|
||||
probe_manifest = build / 'text-fixed-size-probe.ninja'
|
||||
probe_manifest.write_text(manifest, encoding='utf-8')
|
||||
ninja = shutil.which('ninja')
|
||||
if not ninja:
|
||||
sys.exit('Ninja is required for the integration probe.')
|
||||
target = probe_binary.name if probe_binary.parent == build else str(probe_binary)
|
||||
subprocess.run([ninja, '-C', str(build), '-f', probe_manifest.name, target], check=True)
|
||||
output = build / 'text-fixed-size'
|
||||
output.mkdir(exist_ok=True)
|
||||
report = output / 'results.txt'
|
||||
result = subprocess.run([str(probe_binary), str(fixture), str(report), str(output)], timeout=90)
|
||||
if report.exists():
|
||||
print(report.read_text(encoding='utf-8', errors='replace'))
|
||||
sys.exit(result.returncode)
|
||||
@@ -0,0 +1,137 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
// Width and height of a symbol's text, each fixed or not, linked against
|
||||
// the application's objects.
|
||||
//
|
||||
// In the text's properties, width and height each take two rows: the
|
||||
// value, and "fixed" with a tick box. Not fixed, the field follows the
|
||||
// text, and the value shows the size it has now and cannot be edited;
|
||||
// fixed, the field keeps the value, which can then be edited. A fixed
|
||||
// height cuts off the lines that do not fit, to shorten a text where
|
||||
// room is short: they are neither drawn nor picked. Both are saved with
|
||||
// the text and undone as any other change.
|
||||
#include <QApplication>
|
||||
#include <QDomDocument>
|
||||
#include <QFontDatabase>
|
||||
#include <QSettings>
|
||||
#include <QTemporaryDir>
|
||||
#include <cstdio>
|
||||
#include <stdexcept>
|
||||
|
||||
#include "../../sources/diagram.h"
|
||||
#include "../../sources/qetproject.h"
|
||||
#include "../../sources/qetmessagebox.h"
|
||||
#include "../../sources/qetgraphicsitem/element.h"
|
||||
#include "../../sources/qetgraphicsitem/dynamicelementtextitem.h"
|
||||
#include "../../sources/ui/dynamicelementtextmodel.h"
|
||||
|
||||
static void check(bool value, const char *message)
|
||||
{
|
||||
if (!value) throw std::runtime_error(message);
|
||||
std::printf("ok: %s\n", message);
|
||||
}
|
||||
|
||||
/// The value cell of a text's row with the given type
|
||||
static QStandardItem *cell(DynamicElementTextModel &model, DynamicElementTextItem *text, int type)
|
||||
{
|
||||
QStandardItem *row = model.itemFromIndex(model.indexFromText(text));
|
||||
for (int r = 0; r < row->rowCount(); ++r)
|
||||
if (QStandardItem *c = row->child(r, 1))
|
||||
if (c->data(Qt::UserRole + 1).toInt() == type) return c;
|
||||
throw std::runtime_error("row missing");
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
QApplication app(argc, argv);
|
||||
std::freopen(argv[2], "w", stdout);
|
||||
|
||||
QTemporaryDir settings;
|
||||
QSettings::setDefaultFormat(QSettings::IniFormat);
|
||||
QSettings::setPath(QSettings::IniFormat, QSettings::UserScope, settings.path());
|
||||
QCoreApplication::setOrganizationName("QETTextFixedSizeRegression");
|
||||
QETProject::setBackupEnabled(false);
|
||||
QET::QetMessageBox::setNonInteractive(true);
|
||||
QFontDatabase::addApplicationFont(":/fonts/LiberationSans-Regular.ttf");
|
||||
|
||||
try
|
||||
{
|
||||
QETProject project(QString::fromLocal8Bit(argv[1]));
|
||||
check(project.state() == QETProject::Ok, "fixture opens");
|
||||
project.buildFolios(project.diagrams());
|
||||
Diagram *scene = project.diagrams().first();
|
||||
|
||||
DynamicElementTextItem *text = nullptr;
|
||||
Element *element = nullptr;
|
||||
for (Element *e : scene->elements())
|
||||
for (DynamicElementTextItem *t : e->dynamicTextItems())
|
||||
if (!text) { text = t; element = e; }
|
||||
check(text, "the fixture has a symbol with a text");
|
||||
text->setTextFrom(DynamicElementTextItem::UserText);
|
||||
text->setText(QStringLiteral("Sockets bathroom first floor, 5"));
|
||||
text->setTextWidth(-1);
|
||||
text->setTextHeight(-1);
|
||||
|
||||
// The properties: not fixed, the size the field has now, read only.
|
||||
DynamicElementTextModel model(element);
|
||||
QStandardItem *width = cell(model, text, DynamicElementTextModel::textWidth);
|
||||
QStandardItem *width_fixed = cell(model, text, DynamicElementTextModel::textWidthFixed);
|
||||
QStandardItem *height = cell(model, text, DynamicElementTextModel::textHeight);
|
||||
QStandardItem *height_fixed = cell(model, text, DynamicElementTextModel::textHeightFixed);
|
||||
check(width_fixed->isCheckable() && width_fixed->checkState() == Qt::Unchecked, "width not fixed: not ticked");
|
||||
check(height_fixed->isCheckable() && height_fixed->checkState() == Qt::Unchecked, "height not fixed: not ticked");
|
||||
check(!width->isCheckable() && !height->isCheckable(), "the values are rows of their own, without a tick box");
|
||||
check(qAbs(width->data(Qt::EditRole).toDouble() - text->boundingRect().width()) <= 1,
|
||||
"the width shows the size the field has now");
|
||||
check(!(width->flags() & Qt::ItemIsEditable) && !(height->flags() & Qt::ItemIsEditable),
|
||||
"and cannot be edited while not fixed");
|
||||
|
||||
// Fix the width: the value can be edited at once; at 50 the text wraps.
|
||||
const qreal one_line = text->boundingRect().height();
|
||||
width_fixed->setCheckState(Qt::Checked);
|
||||
check(width->flags() & Qt::ItemIsEditable, "ticking fixed makes the width editable at once");
|
||||
width->setData(50, Qt::EditRole);
|
||||
scene->undoStack().push(model.undoForEditedText(text));
|
||||
check(qFuzzyCompare(text->textWidth(), 50), "fixed, the width is the value above");
|
||||
const qreal wrapped = text->boundingRect().height();
|
||||
check(wrapped > one_line * 2, "the text wraps inside it");
|
||||
|
||||
// Fix the height at one line: the other lines are cut off.
|
||||
height_fixed->setCheckState(Qt::Checked);
|
||||
height->setData(qRound(one_line), Qt::EditRole);
|
||||
scene->undoStack().push(model.undoForEditedText(text));
|
||||
check(qFuzzyCompare(text->textHeight(), qRound(one_line)), "fixed, the height is the value above");
|
||||
check(qAbs(text->boundingRect().height() - qRound(one_line)) < 0.01, "the field keeps that height");
|
||||
const QPointF below(text->boundingRect().center().x(), wrapped - 2);
|
||||
check(!text->contains(below) && !text->shape().contains(below), "the lines cut off are not picked");
|
||||
|
||||
// Kept in the file.
|
||||
QDomDocument doc;
|
||||
const QDomElement xml = text->toXml(doc);
|
||||
check(xml.attribute("text_height").toDouble() == qRound(one_line), "the height is saved with the text");
|
||||
text->setTextHeight(-1);
|
||||
QDomElement copy = xml;
|
||||
text->fromXml(copy);
|
||||
check(qFuzzyCompare(text->textHeight(), qRound(one_line)), "and read back");
|
||||
|
||||
// Undo, untick.
|
||||
scene->undoStack().undo();
|
||||
check(text->textHeight() < 0 && qAbs(text->boundingRect().height() - wrapped) < 0.01,
|
||||
"undo gives the text its full height back");
|
||||
check(cell(model, text, DynamicElementTextModel::textHeightFixed)->checkState() == Qt::Unchecked
|
||||
&& !(cell(model, text, DynamicElementTextModel::textHeight)->flags() & Qt::ItemIsEditable),
|
||||
"and the properties show it not fixed");
|
||||
width_fixed->setCheckState(Qt::Unchecked);
|
||||
scene->undoStack().push(model.undoForEditedText(text));
|
||||
check(text->textWidth() < 0, "not ticked, the width follows the text again");
|
||||
check(!text->toXml(doc).hasAttribute("text_height"), "a height that follows the text is not written");
|
||||
std::puts("PASS");
|
||||
}
|
||||
catch (const std::exception &error)
|
||||
{
|
||||
std::printf("FAIL: %s\n", error.what());
|
||||
std::fflush(stdout);
|
||||
return 1;
|
||||
}
|
||||
std::fflush(stdout);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user