settings: add extra large font close #798
This commit is contained in:
parent
fa10b00db7
commit
054523d937
@ -18,37 +18,40 @@ class KlippyGtk:
|
||||
self.width = width
|
||||
self.height = height
|
||||
self.themedir = os.path.join(pathlib.Path(__file__).parent.resolve().parent, "styles", theme, "images")
|
||||
self.cursor = cursor
|
||||
self.font_size_type = fontsize_type
|
||||
|
||||
self.font_ratio = [33, 49] if self.screen.vertical_mode else [43, 29]
|
||||
self.font_size = int(min(
|
||||
self.width / self.font_ratio[0],
|
||||
self.height / self.font_ratio[1]
|
||||
))
|
||||
if fontsize_type == "small":
|
||||
self.font_size = round(self.font_size * 0.91)
|
||||
self.font_size = min(self.width / self.font_ratio[0], self.height / self.font_ratio[1])
|
||||
self.img_scale = self.font_size * 2
|
||||
if fontsize_type == "max":
|
||||
self.font_size = self.font_size * 1.2
|
||||
elif fontsize_type == "extralarge":
|
||||
self.font_size = self.font_size * 1.14
|
||||
self.img_scale = self.img_scale * 0.6
|
||||
elif fontsize_type == "large":
|
||||
self.font_size = round(self.font_size * 1.09)
|
||||
self.titlebar_height = self.font_size * 2
|
||||
self.img_scale = self.font_size * 2.5
|
||||
self.font_size = self.font_size * 1.09
|
||||
self.img_scale = self.img_scale * 0.9
|
||||
elif fontsize_type == "small":
|
||||
self.font_size = self.font_size * 0.91
|
||||
self.img_width = self.font_size * 3
|
||||
self.img_height = self.font_size * 3
|
||||
self.titlebar_height = self.font_size * 2
|
||||
logging.info(f"Font size: {self.font_size} ({fontsize_type})")
|
||||
|
||||
if self.screen.vertical_mode:
|
||||
self.action_bar_width = int(self.width)
|
||||
self.action_bar_height = int(self.height * .1)
|
||||
else:
|
||||
self.action_bar_width = int(self.width * .1)
|
||||
self.action_bar_height = int(self.height)
|
||||
self.cursor = cursor
|
||||
|
||||
self.color_list = {} # This is set by screen.py init_style()
|
||||
|
||||
for key in self.color_list:
|
||||
if "base" in self.color_list[key]:
|
||||
rgb = [int(self.color_list[key]['base'][i:i + 2], 16) for i in range(0, 6, 2)]
|
||||
self.color_list[key]['rgb'] = rgb
|
||||
|
||||
logging.debug(f"img width: {self.img_width} height: {self.img_height}")
|
||||
|
||||
def get_action_bar_width(self):
|
||||
return self.action_bar_width
|
||||
|
||||
@ -150,6 +153,8 @@ class KlippyGtk:
|
||||
return b
|
||||
|
||||
def ButtonImage(self, image_name=None, label=None, style=None, scale=1.38, position=Gtk.PositionType.TOP, lines=2):
|
||||
if self.font_size_type == "max" and label is not None and scale == 1.38:
|
||||
image_name = None
|
||||
b = Gtk.Button()
|
||||
if label is not None:
|
||||
b.set_label(label.replace("\n", " "))
|
||||
|
@ -241,7 +241,9 @@ class KlipperScreenConfig:
|
||||
"value": "medium", "callback": screen.restart_warning, "options": [
|
||||
{"name": _("Small"), "value": "small"},
|
||||
{"name": _("Medium") + " " + _("(default)"), "value": "medium"},
|
||||
{"name": _("Large"), "value": "large"}]}},
|
||||
{"name": _("Large"), "value": "large"},
|
||||
{"name": _("Extra Large"), "value": "extralarge"},
|
||||
{"name": _("Maximum"), "value": "max"}]}},
|
||||
{"confirm_estop": {"section": "main", "name": _("Confirm Emergency Stop"), "type": "binary",
|
||||
"value": "False"}},
|
||||
{"only_heaters": {"section": "main", "name": _("Hide sensors in Temp."), "type": "binary",
|
||||
@ -486,7 +488,7 @@ class KlipperScreenConfig:
|
||||
f"{self.do_not_edit_line}\n"
|
||||
f"{self.do_not_edit_prefix}\n"
|
||||
+ '\n'.join(save_output) + f"\n"
|
||||
f"{self.do_not_edit_prefix}\n")
|
||||
f"{self.do_not_edit_prefix}\n")
|
||||
|
||||
if self.config_path != self.default_config_path:
|
||||
filepath = self.config_path
|
||||
|
@ -30,22 +30,23 @@ class BasePanel(ScreenPanel):
|
||||
}
|
||||
self.current_extruder = None
|
||||
# Action bar buttons
|
||||
self.control['back'] = self._gtk.ButtonImage('back', scale=1)
|
||||
scale = 1.5 if self._gtk.font_size_type == "extralarge" else 1
|
||||
self.control['back'] = self._gtk.ButtonImage('back', scale=scale)
|
||||
self.control['back'].connect("clicked", self.back)
|
||||
self.control['home'] = self._gtk.ButtonImage('main', scale=1)
|
||||
self.control['home'] = self._gtk.ButtonImage('main', scale=scale)
|
||||
self.control['home'].connect("clicked", self.menu_return, True)
|
||||
|
||||
if len(self._config.get_printers()) > 1:
|
||||
self.control['printer_select'] = self._gtk.ButtonImage('shuffle', scale=1)
|
||||
self.control['printer_select'] = self._gtk.ButtonImage('shuffle', scale=scale)
|
||||
self.control['printer_select'].connect("clicked", self._screen.show_printer_select)
|
||||
|
||||
self.control['macros_shortcut'] = self._gtk.ButtonImage('custom-script', scale=1)
|
||||
self.control['macros_shortcut'] = self._gtk.ButtonImage('custom-script', scale=scale)
|
||||
self.control['macros_shortcut'].connect("clicked", self.menu_item_clicked, "gcode_macros", {
|
||||
"name": "Macros",
|
||||
"panel": "gcode_macros"
|
||||
})
|
||||
|
||||
self.control['estop'] = self._gtk.ButtonImage('emergency', scale=1)
|
||||
self.control['estop'] = self._gtk.ButtonImage('emergency', scale=scale)
|
||||
self.control['estop'].connect("clicked", self.emergency_stop)
|
||||
|
||||
# Any action bar button should close the keyboard
|
||||
@ -122,7 +123,10 @@ class BasePanel(ScreenPanel):
|
||||
if not show or self._screen.printer.get_temp_store_devices() is None:
|
||||
return
|
||||
|
||||
img_size = self._gtk.img_scale * .5
|
||||
if self._gtk.font_size_type == "extralarge":
|
||||
img_size = self._gtk.img_scale * .75
|
||||
else:
|
||||
img_size = self._gtk.img_scale * .5
|
||||
for device in self._screen.printer.get_temp_store_devices():
|
||||
self.labels[device] = Gtk.Label(label="100º")
|
||||
self.labels[device].set_ellipsize(Pango.EllipsizeMode.START)
|
||||
|
@ -48,6 +48,7 @@ class JobStatusPanel(ScreenPanel):
|
||||
self.progress = self.zoffset = self.flowrate = self.vel = 0
|
||||
self.main_status_displayed = True
|
||||
self.velstore = self.flowstore = []
|
||||
self.bt_scale = 1 if self._gtk.font_size_type == "extralarge" else .6
|
||||
|
||||
data = ['pos_x', 'pos_y', 'pos_z', 'time_left', 'duration', 'slicer_time', 'file_time',
|
||||
'filament_time', 'est_time', 'speed_factor', 'req_speed', 'max_accel', 'extrude_factor', 'zoffset',
|
||||
@ -152,8 +153,8 @@ class JobStatusPanel(ScreenPanel):
|
||||
if self._screen.printer.get_tools():
|
||||
for i, extruder in enumerate(self._printer.get_tools()):
|
||||
self.labels[extruder] = Gtk.Label("-")
|
||||
self.extruder_button[extruder] = self._gtk.ButtonImage(f"extruder-{i}",
|
||||
None, None, .6, Gtk.PositionType.LEFT)
|
||||
self.extruder_button[extruder] = self._gtk.ButtonImage(f"extruder-{i}", None, None, self.bt_scale,
|
||||
Gtk.PositionType.LEFT)
|
||||
self.extruder_button[extruder].set_label(self.labels[extruder].get_text())
|
||||
self.extruder_button[extruder].connect("clicked", self.menu_item_clicked, "temperature",
|
||||
{"panel": "temperature", "name": _("Temperature")})
|
||||
@ -165,8 +166,8 @@ class JobStatusPanel(ScreenPanel):
|
||||
self.current_extruder = None
|
||||
self.heater_button = {}
|
||||
if self._printer.has_heated_bed():
|
||||
self.heater_button['heater_bed'] = self._gtk.ButtonImage("bed",
|
||||
None, None, .6, Gtk.PositionType.LEFT)
|
||||
self.heater_button['heater_bed'] = self._gtk.ButtonImage("bed", None, None, self.bt_scale,
|
||||
Gtk.PositionType.LEFT)
|
||||
self.labels['heater_bed'] = Gtk.Label("-")
|
||||
self.heater_button['heater_bed'].set_label(self.labels['heater_bed'].get_text())
|
||||
self.heater_button['heater_bed'].connect("clicked", self.menu_item_clicked, "temperature",
|
||||
@ -178,8 +179,8 @@ class JobStatusPanel(ScreenPanel):
|
||||
if n >= nlimit:
|
||||
break
|
||||
if device.startswith("heater_generic"):
|
||||
self.heater_button[device] = self._gtk.ButtonImage("heater",
|
||||
None, None, .6, Gtk.PositionType.LEFT)
|
||||
self.heater_button[device] = self._gtk.ButtonImage("heater", None, None, self.bt_scale,
|
||||
Gtk.PositionType.LEFT)
|
||||
self.labels[device] = Gtk.Label("-")
|
||||
self.heater_button[device].set_label(self.labels[device].get_text())
|
||||
self.heater_button[device].connect("clicked", self.menu_item_clicked, "temperature",
|
||||
@ -203,7 +204,7 @@ class JobStatusPanel(ScreenPanel):
|
||||
nlimit += 1
|
||||
if n >= nlimit:
|
||||
break
|
||||
self.heater_button[device] = self._gtk.ButtonImage("heat-up", None, None, .6,
|
||||
self.heater_button[device] = self._gtk.ButtonImage("heat-up", None, None, self.bt_scale,
|
||||
Gtk.PositionType.LEFT)
|
||||
self.labels[device] = Gtk.Label("-")
|
||||
self.heater_button[device].set_label(self.labels[device].get_text())
|
||||
@ -214,33 +215,35 @@ class JobStatusPanel(ScreenPanel):
|
||||
n += 1
|
||||
break
|
||||
|
||||
self.z_button = self._gtk.ButtonImage("home-z", None, None, .6, Gtk.PositionType.LEFT)
|
||||
self.z_button = self._gtk.ButtonImage("home-z", None, None, self.bt_scale, Gtk.PositionType.LEFT)
|
||||
self.z_button.set_label(self.labels['pos_z'].get_text())
|
||||
self.z_button.connect("clicked", self.create_move_grid)
|
||||
self.z_button.set_halign(Gtk.Align.START)
|
||||
|
||||
self.speed_button = self._gtk.ButtonImage("speed+", None, None, .6, Gtk.PositionType.LEFT)
|
||||
self.speed_button = self._gtk.ButtonImage("speed+", None, None, self.bt_scale, Gtk.PositionType.LEFT)
|
||||
self.speed_button.set_label(self.labels['speed_factor'].get_text())
|
||||
self.speed_button.connect("clicked", self.create_move_grid)
|
||||
self.speed_button.set_halign(Gtk.Align.START)
|
||||
|
||||
self.extrusion_button = self._gtk.ButtonImage("extrude", None, None, .6, Gtk.PositionType.LEFT)
|
||||
self.extrusion_button = self._gtk.ButtonImage("extrude", None, None, self.bt_scale, Gtk.PositionType.LEFT)
|
||||
self.extrusion_button.set_label(self.labels['extrude_factor'].get_text())
|
||||
self.extrusion_button.connect("clicked", self.create_extrusion_grid)
|
||||
self.extrusion_button.set_halign(Gtk.Align.START)
|
||||
|
||||
self.fan_button = self._gtk.ButtonImage("fan", None, None, .6, Gtk.PositionType.LEFT)
|
||||
self.fan_button = self._gtk.ButtonImage("fan", None, None, self.bt_scale, Gtk.PositionType.LEFT)
|
||||
self.fan_button.set_label(self.labels['fan'].get_text())
|
||||
self.fan_button.connect("clicked", self.menu_item_clicked, "fan", {"panel": "fan", "name": _("Fan")})
|
||||
self.fan_button.set_halign(Gtk.Align.START)
|
||||
|
||||
elapsed_label = self.labels['elapsed'].get_text() + " " + self.labels['duration'].get_text()
|
||||
self.elapsed_button = self._gtk.ButtonImage("clock", elapsed_label, None, .6, Gtk.PositionType.LEFT, False)
|
||||
self.elapsed_button = self._gtk.ButtonImage("clock", elapsed_label, None,
|
||||
self.bt_scale, Gtk.PositionType.LEFT, False)
|
||||
self.elapsed_button.connect("clicked", self.create_time_grid)
|
||||
self.elapsed_button.set_halign(Gtk.Align.START)
|
||||
|
||||
remaining_label = self.labels['left'].get_text() + " " + self.labels['time_left'].get_text()
|
||||
self.left_button = self._gtk.ButtonImage("hourglass", remaining_label, None, .6, Gtk.PositionType.LEFT, False)
|
||||
self.left_button = self._gtk.ButtonImage("hourglass", remaining_label,
|
||||
None, self.bt_scale, Gtk.PositionType.LEFT, False)
|
||||
self.left_button.connect("clicked", self.create_time_grid)
|
||||
self.left_button.set_halign(Gtk.Align.START)
|
||||
|
||||
@ -262,7 +265,7 @@ class JobStatusPanel(ScreenPanel):
|
||||
|
||||
def create_extrusion_grid(self, widget=None):
|
||||
self.main_status_displayed = False
|
||||
goback = self._gtk.ButtonImage("back", None, "color1", .66, Gtk.PositionType.TOP, False)
|
||||
goback = self._gtk.ButtonImage("back", None, "color1", self.bt_scale, Gtk.PositionType.TOP, False)
|
||||
goback.connect("clicked", self.create_status_grid)
|
||||
goback.set_hexpand(False)
|
||||
goback.get_style_context().add_class("printing-info")
|
||||
@ -287,7 +290,7 @@ class JobStatusPanel(ScreenPanel):
|
||||
|
||||
def create_move_grid(self, widget=None):
|
||||
self.main_status_displayed = False
|
||||
goback = self._gtk.ButtonImage("back", None, "color2", .66, Gtk.PositionType.TOP, False)
|
||||
goback = self._gtk.ButtonImage("back", None, "color2", self.bt_scale, Gtk.PositionType.TOP, False)
|
||||
goback.connect("clicked", self.create_status_grid)
|
||||
goback.set_hexpand(False)
|
||||
goback.get_style_context().add_class("printing-info")
|
||||
@ -318,7 +321,7 @@ class JobStatusPanel(ScreenPanel):
|
||||
|
||||
def create_time_grid(self, widget=None):
|
||||
self.main_status_displayed = False
|
||||
goback = self._gtk.ButtonImage("back", None, "color3", .66, Gtk.PositionType.TOP, False)
|
||||
goback = self._gtk.ButtonImage("back", None, "color3", self.bt_scale, Gtk.PositionType.TOP, False)
|
||||
goback.connect("clicked", self.create_status_grid)
|
||||
goback.set_hexpand(False)
|
||||
|
||||
|
@ -70,7 +70,7 @@ class TemperaturePanel(ScreenPanel):
|
||||
def create_right_panel(self):
|
||||
|
||||
cooldown = self._gtk.ButtonImage('cool-down', _('Cooldown'), "color4", .5, Gtk.PositionType.LEFT, 1)
|
||||
adjust = self._gtk.ButtonImage('fine-tune', '', "color3", 1, Gtk.PositionType.LEFT, 1)
|
||||
adjust = self._gtk.ButtonImage('fine-tune', None, "color3", 1, Gtk.PositionType.LEFT, 1)
|
||||
|
||||
right = self._gtk.HomogeneousGrid()
|
||||
right.attach(cooldown, 0, 0, 2, 1)
|
||||
|
@ -372,7 +372,7 @@ trough {
|
||||
}
|
||||
|
||||
.printing-filename {
|
||||
font-size: 1.75em;
|
||||
font-size: 1.4em;
|
||||
font-weight: bold;
|
||||
margin: .25em .25em 0 0;
|
||||
}
|
||||
@ -381,7 +381,7 @@ trough {
|
||||
margin-right: .25em;
|
||||
}
|
||||
.printing-info button {
|
||||
margin: .15em;
|
||||
margin: .1em;
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
border-radius: .5em;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user