Skip to content
Snippets Groups Projects
Unverified Commit 6caaf2d7 authored by Martijn Braam's avatar Martijn Braam
Browse files

Add font settings

parent 81b3eb63
No related branches found
Tags 0.7.1
No related merge requests found
......@@ -67,6 +67,8 @@ class Setting:
value = self._settings.get_string(self.key)
elif self.gtype == 'number':
value = self._settings.get_int(self.key)
elif self.gtype == 'double':
value = self._settings.get_double(self.key)
elif self.backend == 'gtk3settings':
if os.path.isfile(self.file):
ini = configparser.SafeConfigParser()
......@@ -94,6 +96,8 @@ class Setting:
self._settings.set_string(self.key, value)
elif self.gtype == 'number':
self._settings.set_int(self.key, value)
elif self.gtype == 'double':
self._settings.set_double(self.key, value)
elif self.backend == 'gtk3settings':
ini = configparser.SafeConfigParser()
if os.path.isfile(self.file):
......
......@@ -173,6 +173,25 @@ class TweaksWindow:
widget.connect('changed', self.on_widget_changed)
setting.connect(self.on_setting_change)
wbox.pack_start(widget, False, False, 0)
elif setting.type == 'font':
widget = Gtk.FontButton()
setting.widget = widget
widget.setting = setting
widget.set_font(setting.get_value())
widget.connect('font-set', self.on_widget_changed)
setting.connect(self.on_setting_change)
wbox.pack_start(widget, False, False, 0)
elif setting.type == 'number':
w_min = setting.definition['min']
w_max = setting.definition['max']
w_step = setting.definition['step']
widget = Gtk.SpinButton.new_with_range(w_min, w_max, w_step)
setting.widget = widget
widget.setting = setting
widget.set_value(setting.get_value())
widget.connect('value-changed', self.on_widget_changed)
setting.connect(self.on_setting_change)
wbox.pack_start(widget, False, False, 0)
widget = self.listbox.get_row_at_index(0)
self.listbox.select_row(widget)
......@@ -186,6 +205,10 @@ class TweaksWindow:
if key == value:
setting.widget.set_active(i)
i += 1
elif setting.type == 'font':
setting.widget.set_font(value)
elif setting.type == 'number':
setting.widget.set_value(value)
def on_widget_changed(self, widget, *args):
setting = widget.setting
......@@ -193,6 +216,10 @@ class TweaksWindow:
setting.set_value(widget.get_active())
elif setting.type == 'choice':
setting.set_value(widget.get_active_text())
elif setting.type == 'font':
setting.set_value(widget.get_font())
elif setting.type == 'number':
setting.set_value(widget.get_value())
def on_select_page(self, widget, row):
if row:
......
- name: Fonts
weight: 40
sections:
- name: Interface font
weight: 0
settings:
- name: Interface
type: font
help: The default interface text font
backend: gsettings
gtype: string
key: org.gnome.desktop.interface.font-name
- name: Document
type: font
help: The default font for reading documents
backend: gsettings
gtype: string
key: org.gnome.desktop.interface.document-font-name
- name: Monospace
type: font
help: Name of a monospaced (fixed-width) font for use in locations like terminals.
backend: gsettings
gtype: string
key: org.gnome.desktop.interface.monospace-font-name
- name: Font rendering
weight: 10
settings:
- name: Hinting
type: choice
help: The type of hinting to use when rendering fonts.
gtype: string
key: org.gnome.settings-daemon.plugins.xsettings.hinting
map:
None: none
Slight: slight
Medium: medium
Full: full
- name: Scaling
type: number
gtype: double
help: Scaling factor for all font sizes
key: org.gnome.desktop.interface.text-scaling-factor
min: 0.5
max: 3
step: 0.1
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment