Changeset 1492

Show
Ignore:
Timestamp:
10/09/08 08:39:34 (3 months ago)
Author:
astormont
Message:

GUI supports fetching of windows version from registry on wine 1.0 - must check previous versions

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • wine-doors/trunk/src/ui.py

    r1491 r1492  
    390390        #        wn_prefs['cb_winever'].prepend_text( engine.replace("winex", "cedega") ) 
    391391 
     392        # Do winver 
     393        win_versions_model = gtk.ListStore( gobject.TYPE_STRING, # Display name 
     394                                      gobject.TYPE_STRING, # CurrentVersion 
     395                                      gobject.TYPE_INT,    # Platform 
     396                                      gobject.TYPE_STRING )# Service Pack 
     397        win_versions = wine.GetWindowsVersions() 
     398        wn_prefs['cb_winver'].set_model( win_versions_model ) 
     399        for i in range( len( win_versions ) ): 
     400            win_versions_model.append( win_versions[i] ) 
     401            if wine.GetWindowsVersion() == [ win_versions[i][1], win_versions[i][2] ]: 
     402                wn_prefs['cb_winver'].set_active( i ) 
     403 
    392404        # Detect wineversion and leave it at that 
    393         winver_model = gtk.ListStore( gobject.TYPE_STRING ) 
    394         winver_model.append( [ wine.WineVersion() ] ) 
    395         wn_prefs['cb_winever'].set_model( winver_model ) 
     405        winever_model = gtk.ListStore( gobject.TYPE_STRING ) 
     406        winever_model.append( [ wine.WineVersion() ] ) 
     407        wn_prefs['cb_winever'].set_model( winever_model ) 
    396408        wn_prefs['cb_winever'].set_active(0) 
    397409 
     
    400412        audio_systems = wine.GetAudioSystems() 
    401413        wn_prefs['cb_audio'].set_model( audio_model ) 
    402         for i in range( ( len( audio_systems ) - 1 ) ): 
     414        for i in range( ( len( audio_systems ) ) ): 
    403415            audio_model.append( [ audio_systems[i] ] ) 
    404416            if audio_systems[i] == wine.GetAudioSystem(): 
  • wine-doors/trunk/src/wine.py

    r1490 r1492  
    1818 
    1919class Wine: 
     20 
     21    [ WIN32S_PLATFORM, WIN32_WINDOWS_PLATFORM, WIN32_NT_PLATFORM ] = range( 3 )  
     22 
    2023    def __init__( self ): 
    2124        self.gui = True 
     
    4447            audio_sys.append( "esd" ) 
    4548        return audio_sys 
     49 
     50    def GetWindowsVersion( self ): 
     51        win32_windows = self.getRegistry( "HKLM\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion", "VersionNumber" ) 
     52        if win32_windows != "": 
     53            return [ win32_windows, self.WIN32_WINDOWS_PLATFORM ] 
     54        else: 
     55            return [ self.getRegistry( "HKLM\\\\Software\\\\Microsoft\\\\Windows NT\\\\CurrentVersion", "CurrentVersion" ),  
     56                     self.WIN32_NT_PLATFORM ] 
     57 
     58    def SetWindowsVersion( self, version, platform, service_pack = False ): 
     59        if platform == self.WIN32_WINDOWS_PLATFORM: 
     60            current_version =  "HKLM\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\VersionNumber" 
     61            csd_version = "HKLM\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\CSDVersion" 
     62        elif platform == self.WIN32_NT_PLATFORM: 
     63            current_version =  "HKLM\\\\Software\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\CurrentVersion" 
     64            csd_version = "HKLM\\\\Software\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\CSDVersion" 
     65 
     66        if not current_version: 
     67            log.Warn( "Setting of windows platform to %s not implemented" % platform ) 
     68            return 
     69        else: 
     70            self.setRegistry( current_version, version ) 
     71 
     72        if service_pack: 
     73            self.setRegistry( csd_version, service_pack ) 
     74 
     75    def GetWindowsVersions( self ): 
     76        """ Returns list of windows names and versions """ 
     77        # Display Name, CurrentVersion, Platform, Service Pack 
     78        return [ [ "Windows 2008", "win2008", self.WIN32_NT_PLATFORM, "Service Pack 1" ], 
     79                 [ "Windows Vista", "vista", self.WIN32_NT_PLATFORM, " " ], 
     80                 [ "Windows 2003", "win2003", self.WIN32_NT_PLATFORM, "Service Pack 1" ], 
     81                 [ "Windows XP", "winxp", self.WIN32_NT_PLATFORM, "Service Pack 2" ], 
     82                 [ "Windows 2000", "5.0", self.WIN32_NT_PLATFORM, "Service Pack 4" ], 
     83                 [ "Windows ME", "4.90.3000", self.WIN32_WINDOWS_PLATFORM, " " ], 
     84                 [ "Windows 98", "4.10.2222", self.WIN32_WINDOWS_PLATFORM, " A " ], 
     85                 [ "Windows 95", "4.0.950", self.WIN32_WINDOWS_PLATFORM, "" ], 
     86                 [ "Windows NT 4.0", "4.0", self.WIN32_NT_PLATFORM, "Service Pack 6a" ], 
     87                 [ "Windows NT 3.5", "3.51", self.WIN32_NT_PLATFORM, "Service Pack 2" ], 
     88                 #[ "Windows 3.1", "win31", self.WIN32S_PLATFORM, "Win32s 1.3" ], 
     89                 #[ "Windows 3.0", "win30", self.WIN32S_PLATFORM, "Win32s 1.3" ], 
     90                 #[ "Windows 2.0", "win20", self.WIN32S_PLATFORM, "Win32s 1.3" ] 
     91               ] 
    4692 
    4793    def SetRegOwner( self, name ): 
  • wine-doors/trunk/src/winedoors.glade

    r1490 r1492  
    10021002                  <widget class="GtkComboBox" id="cb_winver"> 
    10031003                    <property name="visible">True</property> 
    1004                     <property name="items" translatable="yes">Windows 95 
     1004                    <property name="items" translatable="yes"><!--Windows 95 
    10051005Windows 98 
    10061006Windows ME 
     
    10081008Windows NT 4 
    10091009Windows 2000 
    1010 Windows XP</property> 
     1010Windows XP--></property> 
    10111011                  </widget> 
    10121012                  <packing>