def checkVersionUse(self, arch): # Check the wine version use by wineprefix used_versions = set([]) prefixes = os.listdir(Variables.playonlinux_rep+"/wineprefix/") # List of wineprefix prefixes.remove('default') # Remove 'default' (no wine version use by it) for prefix in prefixes: if playonlinux.GetSettings("ARCH", prefix) == arch: wine_version = playonlinux.GetSettings("VERSION", prefix) used_versions.add(wine_version) return(used_versions)
def UpdateVersions(self, arch): elements = playonlinux.Get_versions(arch) self.general_elements["wineversion"].Clear() if(arch == playonlinux.GetSettings("WINE_SYSTEM_ARCH") or (arch == "x86" and playonlinux.GetSettings("WINE_SYSTEM_ARCH") != "amd64")): self.general_elements["wineversion"].Append("System") self.general_elements["wineversion"].AppendItems(elements) version = playonlinux.GetSettings('VERSION',self.s_prefix) if(version == ''): self.general_elements["wineversion"].SetValue('System') else: self.general_elements["wineversion"].SetValue(version)
def UpdateVersions(self, arch): elements = playonlinux.Get_versions(arch) self.general_elements["wineversion"].Clear() if (arch == 'x86'): self.general_elements["wineversion"].Append("System") self.general_elements["wineversion"].AppendItems(elements) version = playonlinux.GetSettings('VERSION', self.s_prefix) if (version == ''): self.general_elements["wineversion"].SetValue('System') else: self.general_elements["wineversion"].SetValue(version)
def installapp(self, event): if (self.live == 1): InstallApplication = "ExecLiveInstall" else: InstallApplication = self.list_apps.GetItemText( self.list_apps.GetSelection()) if (InstallApplication == "about:creator"): self.EasterEgg = sp.egg(None, -1, "PlayOnLinux Conceptor") self.EasterEgg.Show() self.EasterEgg.Center(wx.BOTH) else: if (playonlinux.GetSettings("FIRST_INSTALL_DONE") == ""): wx.MessageBox( _("When {0} installs a Windows program: \n\n - Leave the default location\n - Do not tick the checkbox 'Run the program' if asked." ).format(os.environ["APPLICATION_TITLE"]), _("Please read this")) playonlinux.SetSettings("FIRST_INSTALL_DONE", "TRUE") if (os.path.exists(Variables.playonlinux_rep + "/configurations/listes/search")): content = codecs.open( Variables.playonlinux_rep + "/configurations/listes/search", "r", "utf-8").read().split("\n") found = False for line in content: split = line.split("~") if (split[0] == InstallApplication): found = True break if (found == True): if (len(split) <= 1): self.UpdatePol(self) else: if (split[1] == "1"): wx.MessageBox( _("This program is currently in testing.\n\nIt might not work as expected. Your feedback, positive or negative, is specially important to improve this installer." ), _("Please read this")) if (split[2] == "1"): wx.MessageBox( _("This program contains a protection against copy (DRM) incompatible with emulation.\nThe only workaround is to use a \"no-cd\" patch, but since those can also be used for piracy purposes we won't give any support on this matter." ), _("Please read this")) os.system("bash \"" + Variables.playonlinux_env + "/bash/install\" \"" + InstallApplication.encode("utf-8", "replace") + "\"&") self.Destroy() return
def Internet(self, nom): self.panelInternet = wx.Panel(self, -1) if(os.path.exists(Variables.playonlinux_rep+"/configurations/options/offline")): if(open(Variables.playonlinux_rep+"/configurations/options/offline",'r').read() == '1'): self.OffLineCheck.SetValue(1) self.ProxySettings = wx.StaticText(self.panelInternet, -1, _("Proxy configuration"), (0,0), wx.DefaultSize) self.ProxySettings.SetFont(self.fontTitle) proxy_settings = {} proxy_settings['PROXY_ENABLED'] = playonlinux.GetSettings("PROXY_ENABLED") if(proxy_settings['PROXY_ENABLED'] == ""): proxy_settings['PROXY_ENABLED'] = "0" proxy_settings['PROXY_ADRESS'] = playonlinux.GetSettings("PROXY_URL") proxy_settings["PROXY_PORT"] = playonlinux.GetSettings("PROXY_PORT") proxy_settings["PROXY_LOGIN"] = playonlinux.GetSettings("PROXY_LOGIN") proxy_settings["PROXY_PASS"] = playonlinux.GetSettings("PROXY_PASSWORD") self.ProxyCheck = wx.CheckBox(self.panelInternet, 120, _("Set a proxy"),pos=(10,30)) self.ProxyCheck.SetValue(int(proxy_settings['PROXY_ENABLED'])) self.ProxyTxtAdresse = wx.StaticText(self.panelInternet, -1, _("Proxy address"), (10,60), wx.DefaultSize) self.ProxyAdresse = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_ADRESS"], pos=(20,80),size=(300,27)) self.ProxyTxtPort = wx.StaticText(self.panelInternet, -1, _("Proxy port"), (10,120), wx.DefaultSize) self.ProxyPort = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_PORT"], pos=(20,140),size=(80,27)) self.ProxyTxtLogin = wx.StaticText(self.panelInternet, -1, _("Proxy login"), (10,180), wx.DefaultSize) self.ProxyLogin = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_LOGIN"], pos=(20,200),size=(300,27)) self.ProxyTxtPass = wx.StaticText(self.panelInternet, -1, _("Proxy password"), (10,240), wx.DefaultSize) self.ProxyPass = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_PASS"], pos=(20,260),size=(300,27), style=wx.TE_PASSWORD) self.AddPage(self.panelInternet, nom, imageId=2) self.Bind(wx.EVT_CHECKBOX, self.proxy_enable, id=120) self.proxy_enable(self)
def assign(self, event): old_version = playonlinux.GetSettings('VERSION',self.s_prefix) if old_version == '': old_version = 'System' version = self.general_elements["wineversion"].GetValue() if version != old_version: if (wx.YES == wx.MessageBox(_("Warning:\n\nAny program still running in this virtual drive will be terminated before Wine version is changed.\nAre you sure you want to continue?"), os.environ["APPLICATION_TITLE"], style = wx.YES_NO | wx.ICON_QUESTION)): self.evt_killall(event) if version != 'System': playonlinux.SetSettings('VERSION',version,self.s_prefix) else: playonlinux.DeleteSettings('VERSION',self.s_prefix) else: version = old_version self.general_elements["wineversion"].SetValue(old_version)
def list_software(self): self.prefixes = os.listdir(Variables.playonlinux_rep + "wineprefix/") self.prefixes.sort() self.logs = os.listdir(Variables.playonlinux_rep + "logs/") self.logs.sort() try: self.prefixes.remove(".DS_Store") except: pass self.list_game.DeleteAllItems() self.images.RemoveAll() root = self.list_game.AddRoot("") self.scripts_entry = self.list_game.AppendItem(root, _("Install scripts"), 1) self.prefixes_entry = self.list_game.AppendItem( root, _("Virtual drives"), 0) self.file_icone = Variables.playonlinux_env + "/resources/images/icones/generic.png" self.bitmap = wx.Image(self.file_icone) self.bitmap.Rescale(16, 16, wx.IMAGE_QUALITY_HIGH) self.bitmap = self.bitmap.ConvertToBitmap() self.images.Add(self.bitmap) self.images.Add(self.bitmap) self.i = 2 for prefix in self.prefixes: if (os.path.isdir(Variables.playonlinux_rep + "wineprefix/" + prefix)): if (os.path.exists(Variables.playonlinux_rep + "/wineprefix/" + prefix + "/icon")): self.file_icone = Variables.playonlinux_rep + "/wineprefix/" + prefix + "/icon" else: try: archdd = playonlinux.GetSettings('ARCH', prefix) if (archdd == "amd64"): archdd = "64" else: archdd = "32" except: archdd = "32" self.file_icone = Variables.playonlinux_env + "/resources/images/menu/virtual_drive_" + archdd + ".png" try: self.bitmap = wx.Image(self.file_icone) self.bitmap.Rescale(16, 16, wx.IMAGE_QUALITY_HIGH) self.bitmap = self.bitmap.ConvertToBitmap() self.images.Add(self.bitmap) except: pass self.prefixes_item[prefix] = self.list_game.AppendItem( self.prefixes_entry, prefix, self.i) self.i += 1 for log in self.logs: if (not "_" in log and os.path.isdir(Variables.playonlinux_rep + "logs/" + log)): self.file_icone = Variables.playonlinux_env + "/resources/images/menu/manual.png" try: self.bitmap = wx.Image(self.file_icone) self.bitmap.Rescale(16, 16, wx.IMAGE_QUALITY_HIGH) self.bitmap = self.bitmap.ConvertToBitmap() self.images.Add(self.bitmap) except: pass self.logs_item[log] = self.list_game.AppendItem( self.scripts_entry, log, self.i) self.i += 1 self.list_game.Collapse(self.scripts_entry) self.list_game.Collapse(self.prefixes_entry) self.list_game.ExpandAll()
os.environ["LD_PATH_ORIGIN"] = os.environ["LD_LIBRARY_PATH"] try: os.environ["LD_32_PATH_ORIGIN"] = os.environ["LD_32_LIBRARY_PATH"] except KeyError: os.environ["LD_32_PATH_ORIGIN"] = "" os.environ["DYLDPATH_ORIGIN"] = os.environ["DYLD_LIBRARY_PATH"] playonlinux_env = os.environ["PLAYONLINUX"] playonlinux_rep = os.environ["POL_USER_ROOT"] version = os.environ["VERSION"] current_user = os.environ["USER"] os.environ["WGETRC"] = os.environ["POL_USER_ROOT"] + "/configurations/wgetrc" ## Proxy settings if playonlinux.GetSettings("PROXY_ENABLED") == "1": if playonlinux.GetSettings("PROXY_URL") != "": if playonlinux.GetSettings("PROXY_LOGIN") == "": http_proxy = "http://" + playonlinux.GetSettings( "PROXY_URL") + ":" + playonlinux.GetSettings("PROXY_PORT") else: http_proxy = "http://" + playonlinux.GetSettings( "PROXY_LOGIN") + ":" + playonlinux.GetSettings( "PROXY_PASSWORD") + "@" + playonlinux.GetSettings( "PROXY_URL") + ":" + playonlinux.GetSettings( "PROXY_PORT") os.environ["http_proxy"] = http_proxy userAgent = "PlayOnLinux/" + os.environ["VERSION"]
def UpdateValues(self, selection): # print "Test" if (self.s_isPrefix == False): self.ChangeTitle(selection) # self.general_elements["wineversion"].SetValue(wine_versions.GetWineVersion(selection)) # self.general_elements["wineversion"].Show() self.general_elements["wineprefix"].Show() self.general_elements["arguments"].Show() self.general_elements["arguments_text"].Show() # self.general_elements["name"].Show() # self.general_elements["wineversion_text"].Show() self.general_elements["wineprefix_text"].Show() self.general_elements["name"].SetEditable(True) # self.general_elements["name_text"].Show() self.general_elements["wineprefix"].SetValue( playonlinux.getPrefix(self.s_title)) self.general_elements["arguments"].SetValue( playonlinux.getArgs(self.s_title)) self.display_elements["folder_button"].SetLabel( _("Open program's directory")) if not playonlinux.GetSettings("OPEN_IN", self.s_prefix): self.display_elements["open_in"].SetValue("xdg-open") else: self.display_elements["open_in"].SetValue( playonlinux.GetSettings("OPEN_IN", self.s_prefix)) if (os.path.exists(Variables.playonlinux_rep + "configurations/configurators/" + self.s_title)): self.configurator_title.Show() self.configurator_button.Show() else: self.configurator_title.Hide() self.configurator_button.Hide() self.configurator_title.SetLabel( "{0} specific configuration".format(self.s_title)) self.display_elements["pre_run_panel"].Show() self.display_elements["pre_run_text"].Show() else: self.s_prefix = selection self.s_title = selection # self.general_elements["wineversion"].Hide() self.general_elements["wineprefix"].Hide() # self.general_elements["name"].Hide() self.general_elements["name"].SetEditable(False) self.general_elements["name"].SetValue(self.s_prefix) self.general_elements["arguments"].Hide() self.general_elements["arguments_text"].Hide() # self.general_elements["wineversion_text"].Hide() self.general_elements["wineprefix_text"].Hide() # self.general_elements["name_text"].Hide() self.display_elements["folder_button"].SetLabel( _("Open virtual drive's directory")) self.configurator_title.Hide() self.configurator_button.Hide() self.display_elements["pre_run_panel"].Hide() self.display_elements["pre_run_text"].Hide() self.Refresh() self.elements = [ "UseGLSL", "DirectDrawRenderer", "VideoMemorySize", "OffscreenRenderingMode", "RenderTargetModeLock", "Multisampling", "StrictDrawOrdering", "MouseWarpOverride" ] self.settings = wine.LoadRegValues(self.s_prefix, self.elements) # print self.settings self.get_current_settings("UseGLSL") self.get_current_settings("DirectDrawRenderer") self.get_current_settings("VideoMemorySize") self.get_current_settings("OffscreenRenderingMode") self.get_current_settings("RenderTargetModeLock") self.get_current_settings("Multisampling") self.get_current_settings("StrictDrawOrdering") self.get_current_settings("MouseWarpOverride") self.arch = playonlinux.GetSettings('ARCH', self.s_prefix) if (self.arch == ""): self.arch = "x86" self.UpdateVersions(self.arch) self.general_elements["winedebug"].SetValue( playonlinux.GetSettings("WINEDEBUG", self.s_prefix)) try: self.display_elements["pre_run"].SetValue( open( os.environ["POL_USER_ROOT"] + "/configurations/pre_shortcut/" + self.s_title, 'r').read()) except: self.display_elements["pre_run"].SetValue("")
def list_software(self): self.games = os.listdir(Variables.playonlinux_rep+"shortcuts/") self.games.sort() self.prefixes = os.listdir(Variables.playonlinux_rep+"wineprefix/") self.prefixes.sort() self.games_item = {} self.prefixes_item = {} try: self.games.remove(".DS_Store") except: pass try: self.prefixes.remove(".DS_Store") except: pass self.list_game.DeleteAllItems() self.images.RemoveAll() root = self.list_game.AddRoot("#ROOT#") self.i = 0 for prefix in self.prefixes: if(os.path.isdir(Variables.playonlinux_rep+"wineprefix/"+prefix)): self.prefixes_item[prefix] = self.list_game.AppendItem(root, prefix, self.i) if(os.path.exists(Variables.playonlinux_rep+"/wineprefix/"+prefix+"/icon")): self.file_icone = Variables.playonlinux_rep+"/wineprefix/"+prefix+"/icon" else: try: archdd = playonlinux.GetSettings('ARCH',prefix) if(archdd == "amd64"): archdd = "64" else: archdd = "32" except: archdd = "32" self.file_icone = Variables.playonlinux_env+"/resources/images/menu/virtual_drive_"+archdd+".png" try: self.bitmap = wx.Image(self.file_icone) self.bitmap.Rescale(16,16,wx.IMAGE_QUALITY_HIGH) self.bitmap = self.bitmap.ConvertToBitmap() self.images.Add(self.bitmap) except: pass self.list_game.SetItemBold(self.prefixes_item[prefix], True) for game in self.games: #METTRE EN 32x32 if(playonlinux.getPrefix(game).lower() == prefix.lower()): if(os.path.exists(Variables.playonlinux_rep+"/icones/32/"+game)): self.file_icone = Variables.playonlinux_rep+"/icones/32/"+game else: self.file_icone = Variables.playonlinux_env+"/etc/playonlinux32.png" try: self.bitmap = wx.Image(self.file_icone) self.bitmap.Rescale(16,16,wx.IMAGE_QUALITY_HIGH) self.bitmap = self.bitmap.ConvertToBitmap() self.images.Add(self.bitmap) except: pass self.i += 1 self.games_item[game] = self.list_game.AppendItem(self.prefixes_item[prefix], game, self.i) self.i += 1 self.list_game.ExpandAll() try: if(self.onglets.s_isPrefix == True): self.list_game.SelectItem(self.prefixes_item[self.onglets.s_prefix.encode("utf-8","replace")]) else: self.list_game.SelectItem(self.games_item[self.onglets.s_title.encode("utf-8","replace")]) except: self.onglets.s_isPrefix = True self.change_program("default",True) self.list_game.SelectItem(self.prefixes_item["default"])
def UpdateValues(self, selection): #print "Test" if (self.s_isPrefix == False): self.ChangeTitle(selection) #self.general_elements["wineversion"].SetValue(wine_versions.GetWineVersion(selection)) #self.general_elements["wineversion"].Show() self.general_elements["wineprefix"].Show() self.general_elements["arguments"].Show() self.general_elements["arguments_text"].Show() #self.general_elements["name"].Show() #self.general_elements["wineversion_text"].Show() self.general_elements["wineprefix_text"].Show() self.general_elements["debug_text"].Show() self.general_elements["debug_check"].Show() self.general_elements["name"].SetEditable(True) #self.general_elements["name_text"].Show() self.general_elements["wineprefix"].SetValue( playonlinux.getPrefix(self.s_title)) self.general_elements["arguments"].SetValue( playonlinux.getArgs(self.s_title)) self.display_elements["folder_button"].SetLabel( _("Open program's directory")) self.general_elements["debug_check"].SetValue( playonlinux.GetDebugState(self.s_title)) if (os.path.exists(Variables.playonlinux_rep + "configurations/configurators/" + self.s_title)): self.configurator_title.Show() self.configurator_button.Show() else: self.configurator_title.Hide() self.configurator_button.Hide() self.configurator_title.SetLabel(self.s_title + " specific configuration") else: self.s_prefix = selection self.s_title = selection #self.general_elements["wineversion"].Hide() self.general_elements["wineprefix"].Hide() #self.general_elements["name"].Hide() self.general_elements["name"].SetEditable(False) self.general_elements["name"].SetValue(self.s_prefix) self.general_elements["arguments"].Hide() self.general_elements["arguments_text"].Hide() #self.general_elements["wineversion_text"].Hide() self.general_elements["wineprefix_text"].Hide() self.general_elements["debug_text"].Hide() self.general_elements["debug_check"].Hide() #self.general_elements["name_text"].Hide() self.display_elements["folder_button"].SetLabel( _("Open virtual drive's directory")) self.configurator_title.Hide() self.configurator_button.Hide() self.Refresh() self.elements = [ "UseGLSL", "DirectDrawRenderer", "VideoMemorySize", "OffscreenRenderingMode", "RenderTargetModeLock", "Multisampling", "StrictDrawOrdering", "MouseWarpOverride" ] self.settings = wine.LoadRegValues(self.s_prefix, self.elements) #print self.settings self.get_current_settings("UseGLSL") self.get_current_settings("DirectDrawRenderer") self.get_current_settings("VideoMemorySize") self.get_current_settings("OffscreenRenderingMode") self.get_current_settings("RenderTargetModeLock") self.get_current_settings("Multisampling") self.get_current_settings("StrictDrawOrdering") self.get_current_settings("MouseWarpOverride") self.arch = playonlinux.GetSettings('ARCH', self.s_prefix) if (self.arch == ""): self.arch = "x86" self.UpdateVersions(self.arch)