• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bleachbit / bleachbit / 24935925314

25 Apr 2026 04:56PM UTC coverage: 73.757% (+1.3%) from 72.5%
24935925314

push

github

az0
Fix: parameter name in progress_cb()

1 of 1 new or added line in 1 file covered. (100.0%)

1089 existing lines in 29 files now uncovered.

7178 of 9732 relevant lines covered (73.76%)

0.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

27.27
/bleachbit/FontCheckDialog.py
1
# vim: ts=4:sw=4:expandtab
2

3
# BleachBit
4
# Copyright (C) 2008-2025 Andrew Ziem
5
# https://www.bleachbit.org
6
#
7
# This program is free software: you can redistribute it and/or modify
8
# it under the terms of the GNU General Public License as published by
9
# the Free Software Foundation, either version 3 of the License, or
10
# (at your option) any later version.
11
#
12
# This program is distributed in the hope that it will be useful,
13
# but WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
# GNU General Public License for more details.
16
#
17
# You should have received a copy of the GNU General Public License
18
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
19

20
"""Dialog used to verify text rendering on Windows.
21

22
This is a temporary workaround.
23
"""
24

25

26
from bleachbit.GtkShim import require_gtk, Gtk
1✔
27
from bleachbit.Language import get_text as _
1✔
28

29
require_gtk()
1✔
30

31
from gi.repository import Pango
1✔
32

33

34
ALT_FONT = "Arial 14"
1✔
35

36
RESPONSE_TEXT_BLURRY = 1001
1✔
37
RESPONSE_TEXT_UNREADABLE = 1002
1✔
38

39

40
def _apply_alt_font(widget):
1✔
41
    """Apply the alternate font to a label or label-like widget."""
42
    desc = Pango.FontDescription(ALT_FONT)
×
43
    widget.modify_font(desc)
×
44

45

46
def create_font_check_dialog(parent=None):
1✔
47
    """Return the dialog prompting the user about font rendering."""
UNCOV
48
    dialog = Gtk.Dialog(
×
49
        # TRANSLATORS: Title of the font check dialog
50
        title=_("Font check"),
51
        transient_for=parent,
52
        modal=True
53
    )
54
    dialog.set_border_width(12)
×
55
    dialog.set_resizable(False)
×
56

57
    dialog.add_buttons(
×
58
        # TRANSLATORS: Button label in the font check dialog
59
        _("Text is okay"), Gtk.ResponseType.YES,
60
        # TRANSLATORS: Button label in the font check dialog. This is one of
61
        # three buttons the user can click to report how the text appears.
62
        # The user clicks this if the text is readable but appears fuzzy.
63
        _("Text is blurry"), RESPONSE_TEXT_BLURRY,
64
        # TRANSLATORS: Button label in the font check dialog in case the font
65
        # looks like an alien language. This is one of three buttons the user
66
        # can click to report how the text appears.
67
        _("Text is unrecognizable"), RESPONSE_TEXT_UNREADABLE,
68
    )
69

70
    # To ensure user can read them, apply the alternate font to all buttons.
UNCOV
71
    for response_id in (
×
72
        Gtk.ResponseType.YES,
73
        RESPONSE_TEXT_BLURRY,
74
        RESPONSE_TEXT_UNREADABLE,
75
    ):
UNCOV
76
        button = dialog.get_widget_for_response(response_id)
×
77
        if button is not None:
×
78
            _apply_alt_font(button)
×
79

UNCOV
80
    content = dialog.get_content_area()
×
UNCOV
81
    content.set_spacing(8)
×
82

83
    # TRANSLATORS: Question shown in the font check dialog displayed
84
    # on startup on Windows. There are bugs that for some users the
85
    # font is blurry or resembles an alien language.
86
    text_quality_msg = _('Does all the text in this window look okay?')
×
UNCOV
87
    label_default = Gtk.Label(label=text_quality_msg)
×
88
    label_default.set_xalign(0.0)
×
89
    label_default.set_line_wrap(True)
×
90

91
    label_alt = Gtk.Label(label=text_quality_msg)
×
UNCOV
92
    label_alt.set_xalign(0.0)
×
93
    label_alt.set_line_wrap(True)
×
94
    _apply_alt_font(label_alt)
×
95

96
    content.pack_start(label_default, False, False, 0)
×
97
    content.pack_start(label_alt, False, False, 0)
×
98

UNCOV
99
    dialog.show_all()
×
UNCOV
100
    return dialog
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc