def findPDFViewer(self): # list of programs to look for. each item is of the form (name, # args). if name is an absolute path only that exact location is # looked at, otherwise PATH is searched for the program (on # Windows, all paths are interpreted as absolute). args is the # list of arguments for the program. progs = [] if misc.isUnix: progs = [ (u"/usr/local/Adobe/Acrobat7.0/bin/acroread", "-tempFile"), (u"acroread", "-tempFile"), (u"evince", ""), (u"okular", ""), ] elif misc.isWindows: # get value via registry if possible, or fallback to old method. viewer = util.getWindowsPDFViewer() if viewer: self.pdfViewerPath = viewer self.pdfViewerArgs = "" return progs = [ (ur"C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe", ""), (ur"C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe", ""), (ur"C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe", ""), (ur"C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe", ""), (ur"C:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe", ""), ] else: pass success = False for name, args in progs: if misc.isWindows or (name[0] == u"/"): if util.fileExists(name): success = True break else: name = util.findFileInPath(name) if name: success = True break if success: self.pdfViewerPath = name self.pdfViewerArgs = args
def OnGuessPDF(self, event): # TODO: there must be a way to find out the default PDF viewer on # Linux; we should do that here. viewer = util.getWindowsPDFViewer() if viewer: self.progEntry.SetValue(viewer) else: wx.MessageBox("Unable to guess. Please set the path manually.", "PDF Viewer", wx.OK, cfgFrame)
def findPDFViewer(self): # list of programs to look for. each item is of the form (name, # args). if name is an absolute path only that exact location is # looked at, otherwise PATH is searched for the program (on # Windows, all paths are interpreted as absolute). args is the # list of arguments for the program. progs = [] if misc.isUnix: progs = [ (u"/usr/local/Adobe/Acrobat7.0/bin/acroread", "-tempFile"), (u"acroread", "-tempFile"), (u"xpdf", ""), (u"evince", ""), (u"gpdf", ""), (u"kpdf", ""), ] elif misc.isWindows: # get value via registry if possible, or fallback to old method. viewer = util.getWindowsPDFViewer() if viewer: self.pdfViewerPath = viewer self.pdfViewerArgs = "" return progs = [ (ur"C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe", ""), (ur"C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe", ""), (ur"C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe", ""), (ur"C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe", ""), (ur"C:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe", ""), (ur"C:\Program Files\Adobe\Acrobat 5.0\Reader\AcroRd32.exe", ""), (ur"C:\Program Files\Adobe\Acrobat 4.0\Reader\AcroRd32.exe", ""), (ur"C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe", ""), ] else: pass success = False for name, args in progs: if misc.isWindows or (name[0] == u"/"): if util.fileExists(name): success = True break else: name = util.findFileInPath(name) if name: success = True break if success: self.pdfViewerPath = name self.pdfViewerArgs = args