[meld] Replace font-related RadioButtons with a CheckButton
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] Replace font-related RadioButtons with a CheckButton
- Date: Fri, 14 May 2010 22:33:33 +0000 (UTC)
commit 6f99e10180b1040d2779bb092eb22a4ba3bcea10
Author: Kai Willadsen <kai willadsen gmail com>
Date: Thu Apr 29 08:29:27 2010 +1000
Replace font-related RadioButtons with a CheckButton
Rather than using RadioButtons to represent the font use-system-default
preference, this commit switches to using a CheckButton with sensitivity
setting. We also set the default font, and set a mnemonic widget for the
custom font label.
data/ui/preferences.glade | 28 ++++++++++------------------
meld/preferences.py | 20 ++++++++++++--------
2 files changed, 22 insertions(+), 26 deletions(-)
---
diff --git a/data/ui/preferences.glade b/data/ui/preferences.glade
index 5a6143c..1db4073 100644
--- a/data/ui/preferences.glade
+++ b/data/ui/preferences.glade
@@ -56,39 +56,36 @@
<child>
<widget class="GtkVBox" id="vbox10">
<property name="visible">True</property>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkRadioButton" id="radiobutton_gnome_font">
- <property name="label" translatable="yes">Use GNOME monospace font</property>
+ <widget class="GtkCheckButton" id="checkbutton_default_font">
+ <property name="label" translatable="yes">_Use the system fixed width font</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
+ <property name="active">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="on_radiobutton_font_toggled"/>
+ <signal name="toggled" handler="on_checkbutton_default_font_toggled"/>
</widget>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="hbox5">
<property name="visible">True</property>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkRadioButton" id="radiobutton_custom_font">
- <property name="label" translatable="yes">Use custom font</property>
+ <widget class="GtkLabel" id="label1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
+ <property name="label" translatable="yes">_Editor font:</property>
<property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton_gnome_font</property>
- <signal name="toggled" handler="on_radiobutton_font_toggled"/>
+ <property name="mnemonic_widget">fontpicker</property>
</widget>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
@@ -97,31 +94,26 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
+ <property name="font_name">Monospace 12</property>
<property name="use_font">True</property>
<signal name="font_set" handler="on_fontpicker_font_set"/>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
- <property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
- <property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
diff --git a/meld/preferences.py b/meld/preferences.py
index 296f278..e790b50 100644
--- a/meld/preferences.py
+++ b/meld/preferences.py
@@ -126,10 +126,13 @@ class PreferencesDialog(gnomeglade.Component):
self.prefs = parentapp.prefs
# editor
self.map_widgets_into_lists( ["editor_command"] )
- if self.prefs.use_custom_font:
- self.radiobutton_custom_font.set_active(1)
+ if not self.prefs.use_custom_font:
+ self.checkbutton_default_font.set_active(True)
+ self.fontpicker.set_sensitive(False)
else:
- self.radiobutton_gnome_font.set_active(1)
+ self.checkbutton_default_font.set_active(False)
+ self.fontpicker.set_sensitive(True)
+ self.fontpicker.set_font_name(self.prefs.custom_font)
self.fontpicker.set_font_name( self.prefs.custom_font )
self.spinbutton_tabsize.set_value( self.prefs.tab_size )
if srcviewer:
@@ -172,11 +175,12 @@ class PreferencesDialog(gnomeglade.Component):
#
def on_fontpicker_font_set(self, picker):
self.prefs.custom_font = picker.get_font_name()
- def on_radiobutton_font_toggled(self, radio):
- if radio.get_active():
- custom = radio == self.radiobutton_custom_font
- self.fontpicker.set_sensitive(custom)
- self.prefs.use_custom_font = custom
+
+ def on_checkbutton_default_font_toggled(self, button):
+ use_custom = not button.get_active()
+ self.fontpicker.set_sensitive(use_custom)
+ self.prefs.use_custom_font = use_custom
+
def on_spinbutton_tabsize_changed(self, spin):
self.prefs.tab_size = int(spin.get_value())
def on_checkbutton_spaces_instead_of_tabs_toggled(self, check):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]