[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/base/guidance/wineconfig
From: Yuriy Kozlov <yuriy.kozlov () gmail ! com>
Date: 2006-07-31 22:11:22
Message-ID: 1154383882.338798.25399.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 568364 by ykozlov:
Libraries tab is functional.
M +26 -6 wineconfig.py
M +1 -1 wineread.py
M +42 -3 winewrite.py
--- trunk/playground/base/guidance/wineconfig/wineconfig.py #568363:568364
@@ -1700,6 +1700,14 @@
dlls = [""]
overriddendlls = {}
+ orderoptions = ("builtin","native","builtin,native","native,builtin","")
+ orderoptionstr = [
+ str(i18n("Built-in (Wine)")),
+ str(i18n("Native (Windows)")),
+ str(i18n("Built-in then Native")),
+ str(i18n("Native then Built-in")),
+ str(i18n("Disable"))]
+
def __init__(self,parent = None,name = None,modal = 0,fl = 0):
QWidget.__init__(self,parent)
@@ -1763,6 +1771,7 @@
self.editbutton = KPushButton(i18n("Edit"),vbox3)
self.connect(self.editbutton,SIGNAL("clicked()"),self.slotEditClicked)
+ self.editbutton.setEnabled(False)
self.removebutton = KPushButton(i18n("Remove"),vbox3)
self.connect(self.removebutton,SIGNAL("clicked()"),self.slotRemoveClicked)
@@ -1792,11 +1801,10 @@
self.originaloverriddendlls = self.overriddendlls.copy()
self.selecteddll = None
self.updateDllOverridesList()
-
def applyChanges(self):
""" Applies the changes to wine's configuration """
- winewrite.SetApps(self.applications)
+ winewrite.SetDllOverrides(self.overriddendlls,application)
self.reset()
def slotListClicked(self,item):
@@ -1811,6 +1819,7 @@
if dll:
self.overriddendlls[str(dll)]="native,builtin"
self.updateDllOverridesList()
+ self.__selectOverriddenDll(dll)
self.emit(PYSIGNAL("changedSignal()"), ())
def slotRemoveClicked(self):
@@ -1823,7 +1832,17 @@
"""
Gives a choice for the load order for the library
"""
- return
+ if self.selecteddll:
+ order = KInputDialog.getItem(i18n("Edit Library Override"),\
+ str(i18n("Load order for ")) + str(self.selecteddll) +":",\
+ QStringList.fromStrList(self.orderoptionstr),\
+ False,0,self,"editdll")
+
+ if order[1]:
+ self.overriddendlls[str(self.selecteddll)] = \
+ self.orderoptions[self.orderoptionstr.index(str(order[0]))]
+ self.updateDllOverridesList()
+ self.emit(PYSIGNAL("changedSignal()"), ())
def slotDllComboActivated(self,dllid):
return
@@ -1846,10 +1865,8 @@
if self.selecteddll and self.selecteddll==dll:
firstselecteddll = dll
lastdll = dll
-
- if firstselecteddll==None:
- firstselecteddll = lastdll
+ self.dllslist.setSortColumn(0)
self.selecteddll = firstselecteddll
self.__selectOverriddenDll(self.selecteddll)
self.dllslist.ensureItemVisible(self.dllslist.currentItem())
@@ -1857,6 +1874,9 @@
def __selectOverriddenDll(self,dll):
""" Select a dll from the overridden list """
self.selecteddll = dll
+ if dll:
+ self.dllslist.setSelected(self.dllsToListItems[str(dll)],True)
+ self.editbutton.setEnabled(True)
def setMargin(self,margin):
self.top_layout.setMargin(margin)
--- trunk/playground/base/guidance/wineconfig/wineread.py #568363:568364
@@ -369,7 +369,7 @@
dlls.sort()
return dlls
-def GetDllOverrides(app):
+def GetDllOverrides(app = None):
""" Returns a dictionary of overridden dlls """
if not app:
return GetKeyValues("HKEY_CURRENT_USER\\Software\\Wine\\DllOverrides")
--- trunk/playground/base/guidance/wineconfig/winewrite.py #568363:568364
@@ -177,7 +177,7 @@
SetKeyValues("HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\" +\
app + "\\DirectSound", settings)
-def SetWindowSettings(settings, app):
+def SetWindowSettings(settings, app = None):
""" Sets the window settings in the registry """
windowsfile=open('.registrywindows.reg','w')
if not app:
@@ -200,7 +200,7 @@
os.system("wine regedit .registrywindows.reg")
os.remove(".registrywindows.reg")
-def SetD3DSettings(settings, app):
+def SetD3DSettings(settings, app = None):
""" Sets the settings for Direct3D in the registry """
d3dfile=open('.registryd3d.reg','w')
d3dfile.write("REGEDIT4\n\n[]\n")
@@ -306,6 +306,28 @@
os.system("wine regedit .registryapps.reg")
os.remove(".registryapps.reg")
+def SetDllOverrides(overrides, app = None):
+ """ Sets the dll override settings in the registry """
+ dllfile=open('.registrydll.reg','w')
+ if not app:
+ dllfile.write("REGEDIT4\n\n[HKEY_CURRENT_USER\\Software\\Wine\\DllOverrides]\n")
+ else:
+ dllfile.write("REGEDIT4\n\n[HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\" +\
+ app + "\\DllOverrides]\n")
+
+ origoverrides = wineread.GetDllOverrides(app)
+
+ for dll in overrides.keys():
+ dllfile.write('"'+str(dll)+'"="'+str(overrides[dll])+'"\n')
+
+ for dll in origoverrides.keys():
+ if dll not in overrides:
+ dllfile.write('"'+str(dll)+'"=-\n')
+
+ dllfile.close()
+ os.system("wine regedit .registrydll.reg")
+ os.remove(".registrydll.reg")
+
def CreateWineDrive(path = None):
"""
Creates a fake windows installation in path
@@ -313,4 +335,21 @@
if not path:
path = wineread.default_winepath
- os.system("WINEPREFIX=" + path + " wineprefixcreate --wait")
\ No newline at end of file
+ os.system("WINEPREFIX=" + path + " wineprefixcreate --wait")
+
+
+ports_translation = {"lp":"lpt","ttyS":"com"}
+
+def CreatePorts(ports = None):
+ """
+ Creates links to ports in dosdevices
+ """
+ if not ports:
+ # Find ports in /dev
+ ports = ["lp0"]
+
+ for port in ports:
+ winport = ports_translation[port.rstrip("012345678")] +\
+ str(int(port.lstrip("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")) + 1)
+ os.symlink("/dev/" + port, wineread.winepath + "/dosdevices/" + winport)
+
\ No newline at end of file
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic