diff --git a/ChangeLog.txt b/ChangeLog.txt
index 74b331d2f..cc924b47f 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -85,6 +85,7 @@
- Fix dialog for tool Point along perpendicular. No memory of line color settings.
- Fix crash after uniting three pieces in sequence.
- Incorrect conversion to newer curve format.
+- Elide a variable description in the formula wizard.
# Version 0.6.1 October 23, 2018
- [#885] Regression. Broken support for multi size measurements.
diff --git a/share/translations/valentina_cs_CZ.ts b/share/translations/valentina_cs_CZ.ts
index 5ca1e2ee2..bf4ff24fc 100644
--- a/share/translations/valentina_cs_CZ.ts
+++ b/share/translations/valentina_cs_CZ.ts
@@ -54,7 +54,7 @@
ChangeGroupOptions
-
+ Přejmenovat skupinu
@@ -691,11 +691,11 @@
- Stupnice přibližnosti:
+ Měřítko přibližnosti:
- Nastavit stupnici přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
+ Nastavit měřítko přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
@@ -806,11 +806,11 @@
- Stupnice přibližnosti:
+ Měřítko přibližnosti:
- Nastavit stupnici přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
+ Nastavit měřítko přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
@@ -988,11 +988,11 @@
- Stupnice přibližnosti:
+ Měřítko přibližnosti:
- Nastavit stupnici přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
+ Nastavit měřítko přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
@@ -1031,11 +1031,11 @@
- Stupnice přibližnosti:
+ Měřítko přibližnosti:
- Nastavit stupnici přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
+ Nastavit měřítko přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
@@ -2456,11 +2456,11 @@
-
+ Povolit vytvoření skupiny viditelnosti z původních předmětů
-
+ Skupina viditelnosti
@@ -2472,15 +2472,15 @@
-
+ Značky:
-
+ Oddělit každou značku čárkou.
-
+ Přidat značky
@@ -2523,11 +2523,11 @@
-
+ Povolit vytvoření skupiny viditelnosti z původních předmětů
-
+ Skupina viditelnosti
@@ -2539,15 +2539,15 @@
-
+ Značky:
-
+ Oddělit každou značku čárkou.
-
+ Přidat značky
@@ -2574,15 +2574,15 @@
-
+ Značky:
-
+ Oddělit každou značku čárkou.
-
+ Přidat značky
@@ -3127,7 +3127,7 @@
DialogLayoutScale
-
+ Měřítko rozvržení
@@ -3155,15 +3155,15 @@
-
+ Měřítko
-
+ Vodorovná:
-
+ Svislá:
@@ -3461,7 +3461,7 @@ Přesto použít nastavení?
-
+ Upřednostnit jednolistové řešení
@@ -3470,7 +3470,7 @@ Přesto použít nastavení?
-
+ Povolit tuto volbu, aby se upřednostňovalo získání jednolistového řešení.
@@ -3886,11 +3886,11 @@ Přesto použít nastavení?
-
+ Povolit vytvoření skupiny viditelnosti z původních předmětů
-
+ Skupina viditelnosti
@@ -3902,15 +3902,15 @@ Přesto použít nastavení?
-
+ Značky:
-
+ Oddělit každou značku čárkou.
-
+ Přidat značky
@@ -4843,7 +4843,7 @@ Přesto použít nastavení?
-
+ Vybrat hlavní cestu předmětů, <b>%1</b> - obrátit směr křivky, <b>%2</b> - dokončit vytvoření
@@ -5584,11 +5584,11 @@ Přesto použít nastavení?
-
+ Povolit vytvoření skupiny viditelnosti z původních předmětů
-
+ Skupina viditelnosti
@@ -5596,15 +5596,15 @@ Přesto použít nastavení?
-
+ Značky:
-
+ Oddělit každou značku čárkou.
-
+ Přidat značky
@@ -5715,15 +5715,15 @@ Přesto použít nastavení?
-
+ Měřítko
-
+ Vodorovná:
-
+ Svislá:
@@ -5806,7 +5806,7 @@ Přesto použít nastavení?
-
+ dlážděný
@@ -6029,7 +6029,7 @@ Přesto použít nastavení?
-
+ Vybrat hlavní cestu předmětů po směru hodinových ručiček (doprava), <b>%1</b> - obrátit směr křivky, <b>%2</b> - dokončit vytvoření
@@ -6314,11 +6314,11 @@ Přesto použít nastavení?
- Stupnice přibližnosti:
+ Měřítko přibližnosti:
- Nastavit stupnici přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
+ Nastavit měřítko přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
@@ -6457,11 +6457,11 @@ Přesto použít nastavení?
- Stupnice přibližnosti:
+ Měřítko přibližnosti:
- Nastavit stupnici přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
+ Nastavit měřítko přibližnosti pro tuto křivku, 0 - použít celkovou hodnotu
@@ -6484,10 +6484,10 @@ Přesto použít nastavení?
-
- Následována %n volba, vyžaduje opětovné spuštění, aby se projevilo: %1.
- Následovány %n volby, vyžaduje opětovné spuštění, aby se projevilo: %1.
- Následováno %n voleb, vyžaduje opětovné spuštění, aby se projevilo: %1.
+
+ Sledováno %n volba vyžaduje opětovné spuštění, aby se projevila %1.
+ Sledováno %n volby vyžaduje opětovné spuštění, aby se projevily %1.
+ Sledováno %n voleb vyžaduje opětovné spuštění, aby se projevilo %1.
@@ -8341,15 +8341,15 @@ Chcete uložit své změny?
-
+ Vyberte předměty cesty, <b>%1</b> - obrátitkřivku směru
-
+ Vyberte jeden nebo více předmětů, podržet <b>%1</b> - pro vícenásobný výběr, <b>%2</b> - dokončit vytvoření
-
+ Vyberte jeden nebo více předmětů, podržet <b>%1</b> - pro vícenásobný výběr, <b>%2</b> - potvrdit výběr
@@ -8972,7 +8972,7 @@ Chcete uložit své změny?
- Citlivost rozsahu posunování pro myš s čidlem
+ Citlivost posunování měřítka pro myš s čidlem
@@ -8981,7 +8981,7 @@ Chcete uložit své změny?
- Citlivost rozsahu posunování pro myš s kolečkem
+ Citlivost posunování měřítka pro myš s kolečkem
@@ -9155,7 +9155,7 @@ Chcete uložit své změny?
- Nastavit stupnici přibližnosti výchozí křivky
+ Nastavit výchozí měřítko přibližnosti křivky
@@ -9527,11 +9527,11 @@ Tato volba se projeví po opětovném spuštění.
-
+ Prázdný seznam uzlů pro nástroj s ID '%1'.
-
+ Neplatný vzorec '%1' pro nástroj s ID '%2'. %3.
@@ -9760,7 +9760,7 @@ Tato volba se projeví po opětovném spuštění.
RenameGroup
-
+ Přejmenovat skupinu
@@ -11541,7 +11541,7 @@ Chcete uložit změny?
-
+ Skupina viditelnosti
@@ -12233,19 +12233,19 @@ Chcete uložit změny?
-
+ Nastavit vodorovné měřítko od 0.01 do 3.0 (výchozí = 1.0, režim vyvedení).
-
+ Vodorovné měřítko
-
+ Nastavit svislé měřítko od 0.01 do 3.0 (výchozí = 1.0, režim vyvedení).
-
+ Svislé měřítko
@@ -13945,7 +13945,7 @@ Chcete uložit změny?
- Stupnice přibližnosti:
+ Měřítko přibližnosti:
@@ -15810,11 +15810,11 @@ Chcete uložit změny?
-
+ Značky:
-
+ Oddělit každou značku čárkou.
diff --git a/share/translations/valentina_de_DE.ts b/share/translations/valentina_de_DE.ts
index 1c415e19a..cfbca3551 100644
--- a/share/translations/valentina_de_DE.ts
+++ b/share/translations/valentina_de_DE.ts
@@ -3165,22 +3165,6 @@
-
-
-
-
-
-
-
-
-
-
- ...
-
-
-
-
-
DialogLayoutSettings
@@ -3487,10 +3471,6 @@ Einstellungen trotzdem anwenden?
-
-
-
-
DialogLine
diff --git a/share/translations/valentina_it_IT.ts b/share/translations/valentina_it_IT.ts
index 7fb63f5c3..cfcb145fc 100644
--- a/share/translations/valentina_it_IT.ts
+++ b/share/translations/valentina_it_IT.ts
@@ -1656,7 +1656,7 @@
DialogDuplicateDetail
-
+ Strumento duplica dettaglio
@@ -4715,7 +4715,7 @@ Applicare la configurazione comunque?
-
+ Seleziona se vuoi impostare un punto ad angolo come tacca. Mostra solo tacca a sinistra dell'angolo.
@@ -4723,7 +4723,7 @@ Applicare la configurazione comunque?
-
+ Seleziona se vuoi impostare un punto ad angolo come tacca. Mostra solo tacca a destra dell'angolo.
@@ -4739,7 +4739,7 @@ Applicare la configurazione comunque?
-
+ Crea una formula che regola la visibilità. Valori differenti da 0 rendono un tracciato visibile.
@@ -4791,7 +4791,7 @@ Applicare la configurazione comunque?
-
+ Il tracciato e una linea di ritaglio. Usa per regolare l'esportazione nel formato DXF-AAMA
@@ -4862,7 +4862,7 @@ Applicare la configurazione comunque?
DialogPin
-
+ Strumento spillo
@@ -4874,7 +4874,7 @@ Applicare la configurazione comunque?
-
+ Spillo
@@ -4985,7 +4985,7 @@ Applicare la configurazione comunque?
-
+ Crea una formula che regola la visibilità. Valori differenti da 0 rendono un tracciato visibile.
@@ -5571,6 +5571,30 @@ Applicare la configurazione comunque?
+ Questo non può essere il punto di origine. Selezionane un altro, grazie
+
+
+
+
+
+
+
+
+
+
+
+ Nome:
+
+
+
+
+
+
+
+
+
+
+
@@ -5908,11 +5932,11 @@ Applicare la configurazione comunque?
-
+ Spilli
-
+ Nessuno spillo
@@ -5960,7 +5984,7 @@ Applicare la configurazione comunque?
-
+ Strumento crea dettaglio
@@ -6541,19 +6565,19 @@ Applicare la configurazione comunque?
-
+ Secondo simmetria del primo contorno
-
+ Secondo la simmetria del secondo contorno
-
+ Secondo l'angolo destro del primo contorno
-
+ Seguendo l'angolo destro del secondo contorno
@@ -8139,11 +8163,11 @@ Vuoi salvare i cambiamenti?
-
+ Strumento spillo
-
+ Selezionare punto per spillo
@@ -8183,7 +8207,7 @@ Vuoi salvare i cambiamenti?
-
+ Non puoi ancora usare la modalità Layout. Seleziona almeno un dettaglio per il layout, grazie.
@@ -8227,7 +8251,7 @@ Vuoi salvare i cambiamenti?
-
+ Strumento crea dettaglio
@@ -8884,7 +8908,7 @@ Vuoi salvare i cambiamenti?
-
+ Come da opzioni del Sistema Operativo
@@ -8916,7 +8940,7 @@ Vuoi salvare i cambiamenti?
-
+ Doppio clic per zoom migliore adattamento per l'attuale pezzo del modello
@@ -8949,7 +8973,7 @@ Vuoi salvare i cambiamenti?
-
+ Scala mouse
@@ -8971,7 +8995,7 @@ Vuoi salvare i cambiamenti?
-
+ Accelerazione:
@@ -9030,7 +9054,7 @@ Vuoi salvare i cambiamenti?
-
+ I miei Modelli
@@ -9077,7 +9101,7 @@ Vuoi salvare i cambiamenti?
-
+ Nasconde automaticamente il tracciato principale se il margine di cucitura è abilitato
@@ -9149,7 +9173,7 @@ Vuoi salvare i cambiamenti?
-
+ Spessore linea:
@@ -9417,15 +9441,15 @@ Questa opzione sarà effettiva dopo il riavvio del programma.
-
+ Errore nel tracciato interno '%1'. Non c'è intersezione tra il primo punto e il contorno di ritaglio
-
+ Errore nel tracciato interno '%1'. Non c'è intersezione tra l'ultimo punto e il contorno di ritaglio
-
+ Impossibile calcolare una tacca per il punto '%1' nel pezzo '%2'. Il margine di cucitura non è ancora stato stabilito.
@@ -9433,15 +9457,15 @@ Questa opzione sarà effettiva dopo il riavvio del programma.
-
+ Impossibile calcolare una tacca per il punto '%1' nel pezzo '%2'. Impossibile trovare una posizione per la tacca.
-
+ Impossibile calcolare una tacca per il punto '%1' nel pezzo '%2'. La tacca collassa.
-
+ Impossibile calcolare una tacca per il punto '%1' nel pezzo '%2'. Impossibile trovare un'intersezione.
@@ -10453,7 +10477,7 @@ Vuoi salvare le tue modifiche?
-
+ Esportazione da misure multitaglia non supportata.
@@ -10477,7 +10501,7 @@ Vuoi salvare le tue modifiche?
-
+ Nome della misura mancante.
@@ -10497,7 +10521,7 @@ Vuoi salvare le tue modifiche?
-
+ Errore nella riga %1.
@@ -10521,7 +10545,7 @@ Vuoi salvare le tue modifiche?
-
+ Errore nella riga %1. Nome misura mancante.
@@ -10659,7 +10683,7 @@ Vuoi salvare le tue modifiche?
- Dettaglio etichetta visibile
+ Attiva/Disattiva Etichetta del Dettaglio
@@ -10703,7 +10727,7 @@ Vuoi salvare le tue modifiche?
- Modello etichetta visibile
+ Attiva/Disattiva Etichetta del Modello
@@ -10731,7 +10755,7 @@ Vuoi salvare le tue modifiche?
-
+ Uno spazio di testo per aggiungere commenti
@@ -10751,11 +10775,11 @@ Vuoi salvare le tue modifiche?
-
+ Modifica modello di etichetta
-
+ Opzione per regolare la visibilità e posizione dell'etichetta. <b>Non disponibile se il modello etichetta non è stato caricato</b>.
@@ -10822,7 +10846,7 @@ Vuoi salvare le tue modifiche?
-
+ Seleziona se vuoi impostare un punto ad angolo come tacca. Mostra solo tacca a sinistra dell'angolo.
@@ -10830,7 +10854,7 @@ Vuoi salvare le tue modifiche?
-
+ Seleziona se vuoi impostare un punto ad angolo come tacca. Mostra solo tacca a destra dell'angolo.
@@ -11253,7 +11277,7 @@ Vuoi salvare le tue modifiche?
-
+ Come da opzioni del Sistema Operativo
@@ -11304,7 +11328,7 @@ Vuoi salvare le tue modifiche?
-
+ I miei Modelli
@@ -11399,10 +11423,29 @@ Vuoi salvare le tue modifiche?
-
+ Versione non valida. La versione minima supportata è %1
+ Versione non valida. La versione massima supportata è %1
+
+
+
+ Impossibile aprire file %1:
+%2.
+
+
+
+
+
+
+
+
+
+
+
@@ -11692,6 +11735,21 @@ Vuoi salvare le tue modifiche?
+ Tacca non valida.
+
+
+
+ VBank
+
+
+
+
+
+
+
+
+
+
@@ -11990,7 +12048,7 @@ Vuoi salvare le tue modifiche?
-
+ Esporta testo come tracciato.
@@ -12488,19 +12546,19 @@ Vuoi salvare le tue modifiche?
-
+ Secondo simmetria del primo contorno
-
+ Secondo la simmetria del secondo contorno
-
+ Secondo l'angolo destro del primo contorno
-
+ Seguendo l'angolo destro del secondo contorno
@@ -12898,7 +12956,7 @@ Vuoi salvare le tue modifiche?
VPiece
-
+ Impossibile calcolare una tacca per il punto '%1' nel pezzo '%2'.
diff --git a/share/translations/valentina_ru_RU.ts b/share/translations/valentina_ru_RU.ts
index e54ecb08b..137b77895 100644
--- a/share/translations/valentina_ru_RU.ts
+++ b/share/translations/valentina_ru_RU.ts
@@ -5606,30 +5606,6 @@ Apply settings anyway?
Добавить категории
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
DialogSaveLAyout
@@ -13005,14 +12981,6 @@ Do you want to save your changes?
-
-
-
-
-
-
-
-
VPiece
@@ -14049,7 +14017,7 @@ Do you want to save your changes?
-
+ поворот
diff --git a/src/app/valentina/dialogs/vwidgetgroups.cpp b/src/app/valentina/dialogs/vwidgetgroups.cpp
index dfb5737cc..827bf5ee2 100644
--- a/src/app/valentina/dialogs/vwidgetgroups.cpp
+++ b/src/app/valentina/dialogs/vwidgetgroups.cpp
@@ -343,7 +343,10 @@ void VWidgetGroups::FillTable(QMap groups)
item = new QTableWidgetItem(data.name);
item->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter);
- item->setToolTip(tr("Categories: %1.").arg(data.tags.join(", ")));
+ if (not data.tags.isEmpty())
+ {
+ item->setToolTip(tr("Categories: %1.").arg(data.tags.join(", ")));
+ }
if(doc->GroupIsEmpty(i.key()))
{
diff --git a/src/libs/vtools/dialogs/support/dialogeditwrongformula.ui b/src/libs/vtools/dialogs/support/dialogeditwrongformula.ui
index 7b861987c..fa9c4c89a 100644
--- a/src/libs/vtools/dialogs/support/dialogeditwrongformula.ui
+++ b/src/libs/vtools/dialogs/support/dialogeditwrongformula.ui
@@ -9,8 +9,8 @@
0
0
- 448
- 478
+ 542
+ 481
@@ -23,7 +23,7 @@
true
-
+
-
-
@@ -172,34 +172,173 @@
-
+
-
-
+
-
-
+
-
-
-
-
- 0
- 0
-
-
-
- Input data
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Input data
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Measurements
+
+
+ true
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Increments
+
+
+
+ -
+
+
+ Preview calculations
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+ Length of lines
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+ Length of curves
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+ Angle of lines
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Radius of arcs
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Angles of curves
+
+
+
+ -
+
+
+ Lengths to control points
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Functions
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+ Filter list by keyword
-
-
-
-
- 0
- 0
-
-
+
- Measurements
+ Hide empty measurements
true
@@ -207,117 +346,26 @@
-
-
-
-
- 0
- 0
-
+
+
+
+ 0
+ 0
+
-
- Increments
-
-
-
- -
-
-
- Preview calculations
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
- Length of lines
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
- Length of curves
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
- Angle of lines
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Radius of arcs
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Angles of curves
-
-
-
- -
-
-
- Lengths to control points
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Functions
+
+ PointingHandCursor
+
+
+ Name
+
+
+
+
+ Full name
+
+
@@ -325,63 +373,25 @@
-
-
-
-
-
-
- Filter list by keyword
-
-
-
- -
-
-
- Hide empty measurements
-
-
- true
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- PointingHandCursor
-
-
-
- Name
-
-
-
-
- Full name
-
-
-
-
-
+
+
+
+ 0
+ 0
+
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Raised
+
+
- -
-
-
-
-
-
- true
-
-
-
-
@@ -400,6 +410,12 @@
QPlainTextEdit
+
+ VElidedLabel
+ QFrame
+
+ 1
+
toolButtonPutHere
diff --git a/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyaxis.cpp b/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyaxis.cpp
index ca558230f..66317733e 100644
--- a/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyaxis.cpp
+++ b/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyaxis.cpp
@@ -226,9 +226,8 @@ void VToolFlippingByAxis::SaveDialog(QDomElement &domElement, QList &ol
doc->SetAttribute(domElement, AttrAxisType, QString().setNum(static_cast(dialogTool->GetAxisType())));
doc->SetAttribute(domElement, AttrSuffix, dialogTool->GetSuffix());
- // Save for later use.
- hasLinkedGroup = dialogTool->HasLinkedVisibilityGroup();
- groupName = dialogTool->GetVisibilityGroupName();
+ // Save visibility data for later use
+ SaveVisibilityGroupData(dialogTool);
}
//---------------------------------------------------------------------------------------------------------------------
diff --git a/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyline.cpp b/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyline.cpp
index e862a99b7..e2bda983b 100644
--- a/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyline.cpp
+++ b/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyline.cpp
@@ -213,9 +213,8 @@ void VToolFlippingByLine::SaveDialog(QDomElement &domElement, QList &ol
doc->SetAttribute(domElement, AttrP2Line, QString().setNum(dialogTool->GetSecondLinePointId()));
doc->SetAttribute(domElement, AttrSuffix, dialogTool->GetSuffix());
- // Save for later use.
- hasLinkedGroup = dialogTool->HasLinkedVisibilityGroup();
- groupName = dialogTool->GetVisibilityGroupName();
+ // Save visibility data for later use
+ SaveVisibilityGroupData(dialogTool);
}
//---------------------------------------------------------------------------------------------------------------------
diff --git a/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h b/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h
index 926411a72..ce120c4d8 100644
--- a/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h
+++ b/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h
@@ -156,6 +156,9 @@ protected:
template
void SetDialogVisibilityGroupData(QPointer dialogTool);
+ template
+ void SaveVisibilityGroupData(QPointer dialogTool);
+
void InitCurve(quint32 id, VContainer *data, GOType curveType, SceneObject sceneType);
template
@@ -197,6 +200,18 @@ void VAbstractOperation::SetDialogVisibilityGroupData(QPointer dialogTool)
}
}
+//---------------------------------------------------------------------------------------------------------------------
+template
+void VAbstractOperation::SaveVisibilityGroupData(QPointer dialogTool)
+{
+ SCASSERT(not dialogTool.isNull())
+
+ // Save for later use.
+ hasLinkedGroup = dialogTool->HasLinkedVisibilityGroup();
+ groupName = dialogTool->GetVisibilityGroupName();
+ groupTags = dialogTool->GetVisibilityGroupTags();
+}
+
//---------------------------------------------------------------------------------------------------------------------
template
void VAbstractOperation::ShowToolVisualization(bool show)
diff --git a/src/libs/vtools/tools/drawTools/operation/vtoolmove.cpp b/src/libs/vtools/tools/drawTools/operation/vtoolmove.cpp
index 24c5bf9b4..1e494a755 100644
--- a/src/libs/vtools/tools/drawTools/operation/vtoolmove.cpp
+++ b/src/libs/vtools/tools/drawTools/operation/vtoolmove.cpp
@@ -482,9 +482,8 @@ void VToolMove::SaveDialog(QDomElement &domElement, QList &oldDependenc
doc->SetAttribute(domElement, AttrCenter, QString().setNum(dialogTool->GetRotationOrigPointId()));
doc->SetAttribute(domElement, AttrRotationAngle, dialogTool->GetRotationAngle());
- // Save for later use.
- hasLinkedGroup = dialogTool->HasLinkedVisibilityGroup();
- groupName = dialogTool->GetVisibilityGroupName();
+ // Save visibility data for later use
+ SaveVisibilityGroupData(dialogTool);
}
//---------------------------------------------------------------------------------------------------------------------
diff --git a/src/libs/vtools/tools/drawTools/operation/vtoolrotation.cpp b/src/libs/vtools/tools/drawTools/operation/vtoolrotation.cpp
index 1d4428f33..b03cc7048 100644
--- a/src/libs/vtools/tools/drawTools/operation/vtoolrotation.cpp
+++ b/src/libs/vtools/tools/drawTools/operation/vtoolrotation.cpp
@@ -362,9 +362,8 @@ void VToolRotation::SaveDialog(QDomElement &domElement, QList &oldDepen
doc->SetAttribute(domElement, AttrAngle, dialogTool->GetAngle());
doc->SetAttribute(domElement, AttrSuffix, dialogTool->GetSuffix());
- // Save for later use.
- hasLinkedGroup = dialogTool->HasLinkedVisibilityGroup();
- groupName = dialogTool->GetVisibilityGroupName();
+ // Save visibility data for later use
+ SaveVisibilityGroupData(dialogTool);
}
//---------------------------------------------------------------------------------------------------------------------
diff --git a/src/libs/vwidgets/velidedlabel.cpp b/src/libs/vwidgets/velidedlabel.cpp
new file mode 100644
index 000000000..8eb740b5e
--- /dev/null
+++ b/src/libs/vwidgets/velidedlabel.cpp
@@ -0,0 +1,152 @@
+/************************************************************************
+ **
+ ** @file velidedlabel.cpp
+ ** @author Roman Telezhynskyi
+ ** @date 8 5, 2020
+ **
+ ** @brief
+ ** @copyright
+ ** This source code is part of the Valentina project, a pattern making
+ ** program, whose allow create and modeling patterns of clothing.
+ ** Copyright (C) 2020 Valentina project
+ ** All Rights Reserved.
+ **
+ ** Valentina is free software: you can redistribute it and/or modify
+ ** it under the terms of the GNU General Public License as published by
+ ** the Free Software Foundation, either version 3 of the License, or
+ ** (at your option) any later version.
+ **
+ ** Valentina is distributed in the hope that it will be useful,
+ ** but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ ** GNU General Public License for more details.
+ **
+ ** You should have received a copy of the GNU General Public License
+ ** along with Valentina. If not, see .
+ **
+ *************************************************************************/
+#include "velidedlabel.h"
+
+#include
+#include
+#include
+
+//---------------------------------------------------------------------------------------------------------------------
+VElidedLabel::VElidedLabel(QWidget *parent)
+ : QFrame(parent)
+{
+ // reserve size for one line of text
+ setMinimumHeight(fontMetrics().lineSpacing());
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+VElidedLabel::VElidedLabel(const QString &text, QWidget *parent)
+ : QFrame(parent),
+ m_content(text)
+{
+ // reserve size for one line of text
+ setMinimumHeight(fontMetrics().lineSpacing());
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+void VElidedLabel::setText(const QString &text)
+{
+ m_content = text;
+ update();
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+void VElidedLabel::paintEvent(QPaintEvent *event)
+{
+ QFrame::paintEvent(event);
+
+ QPainter painter(this);
+ bool didElide = false;
+ int y = 0;
+
+ // QTextLayout works with paragraphs
+ QStringList paragraphs = m_content.split('\n');
+ for (int i = 0; i < paragraphs.size(); ++i)
+ {
+ if (not DrawParagraph(painter, paragraphs.at(i), y, didElide))
+ {
+ // It text has empty strings a user will not see elided string, but we still want to show a tooltip.
+ if (i != paragraphs.size()-1 && !didElide)
+ {
+ didElide = true;
+ }
+ break;
+ }
+ }
+
+ if (didElide != m_elided)
+ {
+ m_elided = didElide;
+
+ if (m_showElided)
+ {
+ if (m_elided)
+ {
+ // Show a tooltip in case we cannot show a whole text in the widget
+ // Use dumb html tag to separate paragraphs.
+ QString toolTip;
+ for(int i = 0; i < paragraphs.size(); ++i)
+ {
+ if (i != 0)
+ {
+ toolTip.append(QString("
"));
+ }
+ toolTip.append(QString("%1").arg(paragraphs.at(i)));
+ }
+ setToolTip(toolTip);
+ }
+ else
+ {
+ setToolTip(QString());
+ }
+ }
+ emit ElisionChanged(didElide);
+ }
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+bool VElidedLabel::DrawParagraph(QPainter &painter, const QString& paragraph, int &y, bool &didElide)
+{
+ QFontMetrics fontMetrics = painter.fontMetrics();
+
+ int lineSpacing = fontMetrics.lineSpacing();
+ bool ok = true;
+
+ QTextLayout textLayout(paragraph, painter.font());
+ textLayout.beginLayout();
+ forever
+ {
+ QTextLine line = textLayout.createLine();
+
+ if (!line.isValid())
+ {
+ break;
+ }
+
+ line.setLineWidth(width());
+ int nextLineY = y + lineSpacing;
+
+ if (height() >= nextLineY + lineSpacing)
+ {
+ line.draw(&painter, QPoint(0, y));
+ y = nextLineY;
+ }
+ else
+ {
+ QString lastLine = paragraph.mid(line.textStart());
+ QString elidedLastLine = fontMetrics.elidedText(lastLine, Qt::ElideRight, width());
+ painter.drawText(QPoint(0, y + fontMetrics.ascent()), elidedLastLine);
+ y = nextLineY;
+ ok = false;
+ didElide = lastLine != elidedLastLine;
+ break;
+ }
+ }
+ textLayout.endLayout();
+ return ok;
+}
diff --git a/src/libs/vwidgets/velidedlabel.h b/src/libs/vwidgets/velidedlabel.h
new file mode 100644
index 000000000..6a1906cc1
--- /dev/null
+++ b/src/libs/vwidgets/velidedlabel.h
@@ -0,0 +1,90 @@
+/************************************************************************
+ **
+ ** @file velidedlabel.h
+ ** @author Roman Telezhynskyi
+ ** @date 8 5, 2020
+ **
+ ** @brief
+ ** @copyright
+ ** This source code is part of the Valentina project, a pattern making
+ ** program, whose allow create and modeling patterns of clothing.
+ ** Copyright (C) 2020 Valentina project
+ ** All Rights Reserved.
+ **
+ ** Valentina is free software: you can redistribute it and/or modify
+ ** it under the terms of the GNU General Public License as published by
+ ** the Free Software Foundation, either version 3 of the License, or
+ ** (at your option) any later version.
+ **
+ ** Valentina is distributed in the hope that it will be useful,
+ ** but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ ** GNU General Public License for more details.
+ **
+ ** You should have received a copy of the GNU General Public License
+ ** along with Valentina. If not, see .
+ **
+ *************************************************************************/
+#ifndef VELIDEDLABEL_H
+#define VELIDEDLABEL_H
+
+#include
+
+class VElidedLabel : public QFrame
+{
+ Q_OBJECT
+ Q_PROPERTY(QString text READ text WRITE setText)
+ Q_PROPERTY(bool IsElided READ IsElided)
+ Q_PROPERTY(bool showElided READ ShowElided WRITE SetShowElided)
+public:
+ explicit VElidedLabel(QWidget *parent = nullptr);
+ explicit VElidedLabel(const QString &text, QWidget *parent = nullptr);
+
+ void setText(const QString &text);
+ const QString& text() const;
+
+ bool IsElided() const;
+
+ bool ShowElided() const;
+ void SetShowElided(bool showElided);
+
+protected:
+ virtual void paintEvent(QPaintEvent *event) override;
+
+signals:
+ void ElisionChanged(bool m_elided);
+
+private:
+ Q_DISABLE_COPY(VElidedLabel)
+ bool m_elided{false};
+ bool m_showElided{true};
+ QString m_content{};
+
+ bool DrawParagraph(QPainter &painter, const QString& paragraph, int &y, bool &didElide);
+};
+
+//---------------------------------------------------------------------------------------------------------------------
+inline const QString &VElidedLabel::text() const
+{
+ return m_content;
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+inline bool VElidedLabel::IsElided() const
+{
+ return m_elided;
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+inline bool VElidedLabel::ShowElided() const
+{
+ return m_showElided;
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+inline void VElidedLabel::SetShowElided(bool showElided)
+{
+ m_showElided = showElided;
+}
+
+#endif // VELIDEDLABEL_H
diff --git a/src/libs/vwidgets/vwidgets.pri b/src/libs/vwidgets/vwidgets.pri
index 24c36c436..602602a14 100644
--- a/src/libs/vwidgets/vwidgets.pri
+++ b/src/libs/vwidgets/vwidgets.pri
@@ -3,6 +3,7 @@
SOURCES += \
$$PWD/vcomboboxdelegate.cpp \
+ $$PWD/velidedlabel.cpp \
$$PWD/vmaingraphicsscene.cpp \
$$PWD/vmaingraphicsview.cpp \
$$PWD/vwidgetpopup.cpp \
@@ -32,6 +33,7 @@ SOURCES += \
HEADERS += \
$$PWD/stable.h \
$$PWD/vcomboboxdelegate.h \
+ $$PWD/velidedlabel.h \
$$PWD/vmaingraphicsscene.h \
$$PWD/vmaingraphicsview.h \
$$PWD/vwidgetpopup.h \