mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-08-13 10:04:13 +02:00
Report "no constraint" (still needs the translations; to be added in the next translation round I guess) from minimumWidth() for a title template instead of an arbitrary value.
Following up on the earlier division-by-zero fix: return -1 from the bad denominator branch of minimumWidth(), matching the "no constraint" convention maximumWidth() already uses, instead of std::numeric_limits<int>::max() or 0. Update TitleBlockTemplateView::updateDisplayedMinMaxWidth() to skip the "Longueur minimale" line when minimumWidth() reports -1, mirroring its existing handling of maximumWidth() == -1.
This commit is contained in:
@@ -999,20 +999,34 @@ void TitleBlockTemplateView::updateDisplayedMinMaxWidth()
|
|||||||
int max_width = tbtemplate_ -> maximumWidth();
|
int max_width = tbtemplate_ -> maximumWidth();
|
||||||
|
|
||||||
QString min_max_width_sentence;
|
QString min_max_width_sentence;
|
||||||
if (max_width != -1) {
|
if (min_width != -1 && max_width != -1) {
|
||||||
min_max_width_sentence = QString(
|
min_max_width_sentence = QString(
|
||||||
tr(
|
tr(
|
||||||
"Longueur minimale : %1px\nLongueur maximale : %2px\n",
|
"Longueur minimale : %1px\nLongueur maximale : %2px\n",
|
||||||
"tooltip showing the minimum and/or maximum width of the edited template"
|
"tooltip showing the minimum and/or maximum width of the edited template"
|
||||||
)
|
)
|
||||||
).arg(min_width).arg(max_width);
|
).arg(min_width).arg(max_width);
|
||||||
} else {
|
} else if (min_width != -1) {
|
||||||
min_max_width_sentence = QString(
|
min_max_width_sentence = QString(
|
||||||
tr(
|
tr(
|
||||||
"Longueur minimale : %1px\n",
|
"Longueur minimale : %1px\n",
|
||||||
"tooltip showing the minimum width of the edited template"
|
"tooltip showing the minimum width of the edited template"
|
||||||
)
|
)
|
||||||
).arg(min_width);
|
).arg(min_width);
|
||||||
|
} else if (max_width != -1) {
|
||||||
|
min_max_width_sentence = QString(
|
||||||
|
tr(
|
||||||
|
"Longueur maximale : %1px\n",
|
||||||
|
"tooltip showing the maximum width of the edited template"
|
||||||
|
)
|
||||||
|
).arg(max_width);
|
||||||
|
} else {
|
||||||
|
min_max_width_sentence = QString(
|
||||||
|
tr(
|
||||||
|
"Longueur non contrainte.\n",
|
||||||
|
"tooltip shown when the edited template has neither a minimum nor a maximum width constraint"
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// the tooltip may also display the split label for readability purpose
|
// the tooltip may also display the split label for readability purpose
|
||||||
|
|||||||
@@ -26,7 +26,6 @@
|
|||||||
|
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
#include <QRegularExpressionMatch>
|
#include <QRegularExpressionMatch>
|
||||||
#include <limits>
|
|
||||||
/**
|
/**
|
||||||
@brief TitleBlockTemplate::TitleBlockTemplate
|
@brief TitleBlockTemplate::TitleBlockTemplate
|
||||||
Constructor
|
Constructor
|
||||||
@@ -980,11 +979,10 @@ int TitleBlockTemplate::minimumWidth()
|
|||||||
if (denominator <= 0.0) {
|
if (denominator <= 0.0) {
|
||||||
// The relative-to-total-length columns alone already consume
|
// The relative-to-total-length columns alone already consume
|
||||||
// 100% (or more) of the available width, so the formula above
|
// 100% (or more) of the available width, so the formula above
|
||||||
// would divide by zero (or go negative). If there are no
|
// would divide by zero (or go negative). There is no finite
|
||||||
// absolute-width columns, there is no meaningful minimum width
|
// minimum width this formula can determine. Report "no
|
||||||
// to enforce; if there are, the template is asking for more
|
// constraint", the same convention maximumWidth() uses.
|
||||||
// than 100% of its own width, which cannot be satisfied.
|
return -1;
|
||||||
return abs_total > 0 ? std::numeric_limits<int>::max() : 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return(qRound(abs_total / denominator));
|
return(qRound(abs_total / denominator));
|
||||||
|
|||||||
Reference in New Issue
Block a user