docs: def choose_font(self, font=None):
          """Choose a font for the label through a dialog"""
          fmt_widget = self.parent()
          if font is None:
              if self.current_font:
                  font, ok = QFontDialog.getFont(
                      self.current_font, fmt_widget,
                      'Select %s font' % self.fmto_name,
                      QFontDialog.DontUseNativeDialog)
              else:
                  font, ok = QFontDialog.getFont(fmt_widget)
              if not ok:
                  return
          self.current_font = font
          properties = self.load_properties()
          properties.update(self.qfont_to_artist_props(font))
          fmt_widget.set_obj(properties)
          self.refresh()