changeset 41:1ab001d67011

implement win version detection
author Frank Benoit <benoit@tionex.de>
date Thu, 10 Apr 2008 11:21:35 +0200
parents da5ad8eedf5d
children 4567a6f54939
files dwtx/jface/resource/FontRegistry.d
diffstat 1 files changed, 16 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/dwtx/jface/resource/FontRegistry.d	Thu Apr 10 08:59:39 2008 +0200
+++ b/dwtx/jface/resource/FontRegistry.d	Thu Apr 10 11:21:35 2008 +0200
@@ -45,6 +45,7 @@
 import dwt.dwthelper.ResourceBundle;
 import dwt.dwthelper.utils;
 import dwt.dwthelper.Runnable;
+version(Windows) import dwt.internal.win32.OS;
 
 /**
  * A font registry maintains a mapping between symbolic font names
@@ -349,11 +350,21 @@
         }
         else version( Windows ){
             char[] propdata;
-            static assert( false, "TODO: detect windows version" );
-            propdata = import( prefix ~ "windowsnt" ~ postfix );
-            propdata = import( prefix ~ "windows98" ~ postfix );
-            propdata = import( prefix ~ "windows2000" ~ postfix );
-            propdata = import( prefix ~ "windowsxp" ~ postfix );
+            if( OS.IsWin95 && OS.WIN32_VERSION >= OS.VERSION (4, 10 )){
+                propdata = import( prefix ~ "windows98" ~ postfix );
+            }
+            else if( OS.WIN32_VERSION >= OS.VERSION (5, 1 )){
+                propdata = import( prefix ~ "windowsxp" ~ postfix );
+            }
+            else if( OS.WIN32_VERSION >= OS.VERSION (5, 0)){
+                propdata = import( prefix ~ "windows2000" ~ postfix );
+            }
+            else if( OS.WIN32_VERSION >= OS.VERSION (4, 0)){
+                propdata = import( prefix ~ "windowsnt" ~ postfix );
+            }
+            else{
+                assert( false, "TODO: detect windows version" );
+            }
         }
         else {
             static assert( false, "unknown plattform" );