Fix Bin empty state placeholder when translated (d8b4df4e) · Commits · Multimedia / Kdenlive · GitLab
Admin message
Join us at
Akademy
to celebrate KDE's 30th anniversary!
Travel support requests
are open till May 31st.
Register now
Commit
d8b4df4e
authored
Sep 06, 2025
by
balooii balooii
Browse files
parent
1193feb3
Loading
Loading
Loading
Loading
Original line number
Diff line number
Diff line
@@ -134,10 +134,11 @@ static void drawDropFilesPlaceholder(QPainter &painter, const QRect &rect, const
painter
setPen
textColor
);
// Setup text content template with icon placeholder
const
QString
bas
eTemplate
// Setup text content template
with icon placeholder
const
QString
singlelin
eTemplate
i18nc
"Text shown when no media is imported yet. %1 is replaced by an icon"
"Double click, drop files or click %1 to import media"
iconPlaceholder
);
const
QString
multilineTemplate
QString
baseTemplate
).
replace
" or click "
\n
or click "
);
const
QString
multilineTemplate
i18nc
"Multiline version: Text shown when no media is imported yet. %1 is replaced by an icon"
"Double click, drop files
\n
or click %1 to import media"
iconPlaceholder
);
QIcon
addIcon
QIcon
::
fromTheme
QStringLiteral
"kdenlive-add-clip"
));
@@ -153,15 +154,20 @@ static void drawDropFilesPlaceholder(QPainter &painter, const QRect &rect, const
iconPixmap
setDevicePixelRatio
devicePixelRatio
);
// Determine if we need a multiline layout
const
QString
singlelineText
baseTemplate
// Width of the text + icon + margin on both sides of the text
const
int
singleLineTotalWidth
fontMetrics
horizontalAdvance
QString
baseTemplate
).
replace
iconPlaceholder
""
))
iconSize
minMarginSingleline
const
int
singleLineTotalWidth
fontMetrics
horizontalAdvance
QString
singlelineTemplate
).
replace
iconPlaceholder
""
))
iconSize
minMarginSingleline
const
bool
needsMultilineLayout
singleLineTotalWidth
rect
width
();
if
needsMultilineLayout
// Split multiline text into lines for layout calculation
const
QStringList
lines
multilineTemplate
split
'\n'
);
const
QStringList
lines
multilineTemplate
split
'\n'
Qt
::
SkipEmptyParts
);
// Ensure we have exactly 2 non-empty lines from translation. If not, bail out.
if
lines
size
()
!=
return
const
QString
firstLine
lines
at
);
const
QString
secondLine
lines
at
);
@@ -213,8 +219,8 @@ static void drawDropFilesPlaceholder(QPainter &painter, const QRect &rect, const
else
// single-line layout
const
int
textBaselineY
rect
center
().
()
fontMetrics
ascent
()
const
QString
textBeforeIcon
singlelineTe
xt
left
singlelineTe
xt
indexOf
iconPlaceholder
));
const
QString
textAfterIcon
singlelineTe
xt
mid
singlelineTe
xt
indexOf
iconPlaceholder
iconPlaceholder
length
());
const
QString
textBeforeIcon
singlelineTe
mplate
left
singlelineTe
mplate
indexOf
iconPlaceholder
));
const
QString
textAfterIcon
singlelineTe
mplate
mid
singlelineTe
mplate
indexOf
iconPlaceholder
iconPlaceholder
length
());
const
int
beforeIconWidth
fontMetrics
horizontalAdvance
textBeforeIcon
);
const
int
totalWidth
beforeIconWidth
iconSize
fontMetrics
horizontalAdvance
textAfterIcon
);
Loading