]> git.saurik.com Git - wxWidgets.git/blobdiff - src/cocoa/settings.mm
Fix wxLaunchDefaultBrowser on wxMSW for local files/directories: the bug could be...
[wxWidgets.git] / src / cocoa / settings.mm
index 168ab4884c4f67d66f57b81ddf7189b5cd4538bd..0f6ffb05f02b908a2b9dc49b48717a2edb91b399 100644 (file)
@@ -9,17 +9,20 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#include <wx/wxprec.h>
-#ifndef WX_PRECOMP
-#endif
+#include "wx/wxprec.h"
 
 #include "wx/settings.h"
-#include "wx/gdicmn.h"
-#include "wx/utils.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/utils.h"
+    #include "wx/gdicmn.h"
+#endif
 
 #include "wx/cocoa/autorelease.h"
+#include "wx/cocoa/private/fontfactory.h"
 
 #import <AppKit/NSColor.h>
+#import <AppKit/NSFont.h>
 
 // ----------------------------------------------------------------------------
 // wxSystemSettingsNative
@@ -105,8 +108,10 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index)
 
 wxFont wxSystemSettingsNative::GetFont(wxSystemFont index)
 {
-// return a nonworking font object, crash from wxInitializeStockObjects
-    return wxFont();
+    // Return the system font for now
+    {   wxAutoNSAutoreleasePool pool;
+        return wxCocoaFontFactory::InstanceForNSFont([NSFont systemFontOfSize:0.0], false);
+    }
     switch (index)
     {
         case wxSYS_ANSI_VAR_FONT :
@@ -125,7 +130,7 @@ wxFont wxSystemSettingsNative::GetFont(wxSystemFont index)
                 return *wxNORMAL_FONT ;
                     } ;
             break ;
-                
+
     }
     return *wxNORMAL_FONT;
 }
@@ -141,7 +146,7 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow *WXUNUSED(w
     {
         case wxSYS_MOUSE_BUTTONS:
                     return 2; // we emulate a two button mouse (ctrl + click = right button )
-                    
+
         // TODO case wxSYS_BORDER_X:
         // TODO case wxSYS_BORDER_Y:
         // TODO case wxSYS_CURSOR_X:
@@ -159,7 +164,7 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow *WXUNUSED(w
             return 16;
         case wxSYS_HTHUMB_X:
             return 16;
-            
+
         // TODO case wxSYS_ICON_X:
         // TODO case wxSYS_ICON_Y:
         // TODO case wxSYS_ICONSPACING_X:
@@ -172,7 +177,7 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow *WXUNUSED(w
         // TODO case wxSYS_FRAMESIZE_Y:
         // TODO case wxSYS_SMALLICON_X:
         // TODO case wxSYS_SMALLICON_Y:
-            
+
         case wxSYS_HSCROLL_Y:
             return 16;
         case wxSYS_VSCROLL_X:
@@ -183,19 +188,19 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow *WXUNUSED(w
             return 16;
         case wxSYS_VTHUMB_Y:
             return 16;
-            
+
         // TODO case wxSYS_CAPTION_Y:
         // TODO case wxSYS_MENU_Y:
         // TODO case wxSYS_NETWORK_PRESENT:
-            
+
         case wxSYS_PENWINDOWS_PRESENT:
             return 0;
-            
+
         // TODO case wxSYS_SHOW_SOUNDS:
 
         case wxSYS_SWAP_BUTTONS:
             return 0;
-            
+
         default:
             return -1;  // unsupported metric
     }
@@ -206,11 +211,11 @@ bool wxSystemSettingsNative::HasFeature(wxSystemFeature index)
 {
     switch (index)
     {
-        case wxSYS_CAN_ICONIZE_FRAME: 
+        case wxSYS_CAN_ICONIZE_FRAME:
         case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
-            return TRUE;
-            
+            return true;
+
         default:
-            return FALSE;
+            return false;
     }
 }