[GRASS-SVN] r68549 - grass/branches/releasebranch_7_0/gui/wxpython/gui_core

svn_grass at osgeo.org svn_grass at osgeo.org
Tue May 31 18:26:28 PDT 2016


Author: annakrat
Date: 2016-05-31 18:26:28 -0700 (Tue, 31 May 2016)
New Revision: 68549

Modified:
   grass/branches/releasebranch_7_0/gui/wxpython/gui_core/preferences.py
Log:
wxGUI: fix font dialogs on Mac, see #3046, merged from trunk r68532, r68535, r68545

Modified: grass/branches/releasebranch_7_0/gui/wxpython/gui_core/preferences.py
===================================================================
--- grass/branches/releasebranch_7_0/gui/wxpython/gui_core/preferences.py	2016-06-01 01:18:19 UTC (rev 68548)
+++ grass/branches/releasebranch_7_0/gui/wxpython/gui_core/preferences.py	2016-06-01 01:26:28 UTC (rev 68549)
@@ -558,7 +558,10 @@
         panel.SetSizer(border)
                 
         # bindings
-        outfontButton.Bind(wx.EVT_BUTTON, self.OnSetOutputFont)
+        if sys.platform == 'darwin':
+            outfontButton.Bind(wx.EVT_BUTTON, self.OnSetOutputFontCustomDialog)
+        else:
+            outfontButton.Bind(wx.EVT_BUTTON, self.OnSetOutputFont)
         
         return panel
     
@@ -1462,6 +1465,22 @@
         
         event.Skip()
 
+    def OnSetOutputFontCustomDialog(self, event):
+        """Set font for command console using the custom dialog
+           (native is crashing on Mac)"""
+        dlg = DefaultFontDialog(parent=self,
+                                title=_('Select default output font'),
+                                style=wx.DEFAULT_DIALOG_STYLE,
+                                type='outputfont')
+        if dlg.ShowModal() == wx.ID_OK:
+            # set output font and font size variables
+            if dlg.font:
+                self.settings.Set(group='appearance', value=dlg.font,
+                                  key='outputfont', subkey='type')
+                self.settings.Set(group='appearance', value=dlg.fontsize,
+                                  key='outputfont', subkey='size')
+        dlg.Destroy()
+
     def OnSetOutputFont(self, event):
         """'Set output font' button pressed
         """
@@ -1545,15 +1564,18 @@
 
         gridSizer = wx.GridBagSizer (hgap = 5, vgap = 5)
 
-        label = wx.StaticText(parent = panel, id = wx.ID_ANY,
-                              label = _("Select font:"))
-        gridSizer.Add(item = label,
-                      flag = wx.ALIGN_TOP,
-                      pos = (0,0))
-        
-        self.fontlb = wx.ListBox(parent = panel, id = wx.ID_ANY, pos = wx.DefaultPosition,
-                                 choices = self.fontlist,
-                                 style = wx.LB_SINGLE|wx.LB_SORT)
+        label = wx.StaticText(parent=panel, id=wx.ID_ANY,
+                              label=_("Select font:"))
+        gridSizer.Add(item=label,
+                      flag=wx.ALIGN_TOP,
+                      pos=(0, 0))
+
+        self.fontlb = wx.ListBox(
+            parent=panel,
+            id=wx.ID_ANY,
+            pos=wx.DefaultPosition,
+            choices=self.fontlist,
+            style=wx.LB_SINGLE)
         self.Bind(wx.EVT_LISTBOX, self.EvtListBox, self.fontlb)
         self.Bind(wx.EVT_LISTBOX_DCLICK, self.EvtListBoxDClick, self.fontlb)
 



More information about the grass-commit mailing list