View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0017514 | Scribus | User Interface | public | 2025-05-05 20:17 | 2025-05-09 00:43 |
Reporter | nitramr | Assigned To | nitramr | ||
Priority | high | Severity | major | Reproducibility | sometimes |
Status | resolved | Resolution | fixed | ||
Platform | Desktop PC | OS | Ubuntu | OS Version | 24.10 64-bit |
Product Version | 1.7.1.svn | ||||
Target Version | 1.7 milestone | Fixed in Version | 1.7.1.svn | ||
Summary | 0017514: Graphic glitches in FontComboBox if UI theme has transparency | ||||
Description | If the OS UI theme has transparency in the UI palette the FontComboBox can have graphic glitches. See: https://forums.scribus.net/index.php/topic,6078.0.html | ||||
Steps To Reproduce | If you don't have an OS theme that mess up the list, you can change a code line in fontcombo.cpp -> void FontFamilyDelegate::paint() pixPainter.fillRect(r, option.palette.window()); to pixPainter.fillRect(r, QColor(220, 220, 220, 128)); | ||||
Tags | No tags attached. | ||||
Patch | Yes | ||||
|
|
|
fontcombo_2025-05-05_01.patch (1,394 bytes)
Index: scribus/ui/fontcombo.cpp =================================================================== --- scribus/ui/fontcombo.cpp (Revision 26852) +++ scribus/ui/fontcombo.cpp (Arbeitskopie) @@ -554,9 +554,14 @@ QPainter invpixPainter(&invPixmap); QRect r(0, 0, option.rect.width(), option.rect.height()); + pixPainter.fillRect(r, Qt::white); // #17514: protection if fill color has transparency pixPainter.fillRect(r, option.palette.window()); - invpixPainter.fillRect(r, option.palette.window()); + pixPainter.setPen(QPen(option.palette.text(), 0)); + invpixPainter.fillRect(r, Qt::white); // #17514: protection if fill color has transparency + invpixPainter.fillRect(r, option.palette.highlight()); + invpixPainter.setPen(QPen(option.palette.highlightedText(), 0)); + QFont font = option.font; font.setPointSize(QFontInfo(font).pointSize() * 3.0 / 2.0); @@ -572,13 +577,6 @@ if (hasLatin) font = font2; - pixPainter.setPen(QPen(option.palette.text(), 0)); - - invpixPainter.setBrush(option.palette.highlight()); - invpixPainter.setPen(Qt::NoPen); - invpixPainter.drawRect(0, 0, option.rect.width(), option.rect.height()); - invpixPainter.setPen(QPen(option.palette.highlightedText(), 0)); - QIcon icon = qvariant_cast<QIcon>(index.data(Qt::DecorationRole)); QSize actualSize(icon.actualSize(r.size())); icon.paint(&pixPainter, r, Qt::AlignLeft|Qt::AlignVCenter); |
|
Applied, thanks! |
Date Modified | Username | Field | Change |
---|---|---|---|
2025-05-05 20:17 | nitramr | New Issue | |
2025-05-05 20:17 | nitramr | Status | new => assigned |
2025-05-05 20:17 | nitramr | Assigned To | => nitramr |
2025-05-05 20:17 | nitramr | File Added: ScribusStoryEditorFont1.png | |
2025-05-05 20:18 | nitramr | Note Added: 0052496 | |
2025-05-05 20:18 | nitramr | File Added: fontcombo_2025-05-05_01.patch | |
2025-05-09 00:43 | jghali | Status | assigned => resolved |
2025-05-09 00:43 | jghali | Resolution | open => fixed |
2025-05-09 00:43 | jghali | Fixed in Version | => 1.7.1.svn |
2025-05-09 00:43 | jghali | Note Added: 0052506 |