예제 #1
0
def resolveAnySymlink(file_name: str) -> str:
    """ Some OSs have different extensions for linked files (for example, one possibility is .lnk-files on Windows).
    In such cases, the literal .lnk file will be attempted to open, not the file this resolves:
    """

    info = QFileInfo(file_name)
    if info.exists() and info.isSymLink(
    ):  # Use 'exists': Not certain to be a literal file, depending on subclass.
        file_name = info.symLinkTarget()
    return file_name
예제 #2
0
 def browseOpenwith(self):
     filename, selectedFilter = QFileDialog.getOpenFileName(self, self.windowTitle())
     if not filename:
         return
     fi = QFileInfo(filename)
     if fi.isSymLink():
         filename = fi.symLinkTarget()
         if not os.path.exists(filename):
             QMessageBox.information(self, self.windowTitle(),
                     self.tr("快捷方式所指向的程序不正确。"))
             return
     fi = QFileInfo(filename)
     if not fi.isExecutable():
         QMessageBox.information(self, self.windowTitle(),
                 self.tr("编辑程序必须是一个可执行文件。请重新选择。该选项是选填项,并不一定要填写。"))
     self.txtOpenwith.setText(fi.absoluteFilePath())
예제 #3
0
 def browsePath(self):
     """用户点击了浏览路径的按钮。如果成功设置了路径,就返回True,如果用户取消了操作或者出错,就返回False
     返回的用途参见showEvent()"""
     filename, selectedFilter = QFileDialog.getOpenFileName(self, self.windowTitle())
     if not filename:
         return False
     fi = QFileInfo(filename)
     if fi.isSymLink():
         filename = fi.symLinkTarget()
         if not os.path.exists(filename):
             QMessageBox.information(self, self.windowTitle(), self.tr("快捷方式所指向的程序不正确。"))
             return False
     fi = QFileInfo(filename)
     self.txtName.setText(fi.baseName())
     self.txtPath.setText(fi.absoluteFilePath())
     self.setFileIcon(fi.absoluteFilePath())
     self.txtDir.setText(fi.dir().absolutePath())
     return True
예제 #4
0
 def browseOpenwith(self):
     filename, selectedFilter = QFileDialog.getOpenFileName(
         self, self.windowTitle())
     if not filename:
         return
     fi = QFileInfo(filename)
     if fi.isSymLink():
         filename = fi.symLinkTarget()
         if not os.path.exists(filename):
             QMessageBox.information(self, self.windowTitle(),
                                     self.tr("快捷方式所指向的程序不正确。"))
             return
     fi = QFileInfo(filename)
     if not fi.isExecutable():
         QMessageBox.information(
             self, self.windowTitle(),
             self.tr("编辑程序必须是一个可执行文件。请重新选择。该选项是选填项,并不一定要填写。"))
     self.txtOpenwith.setText(fi.absoluteFilePath())
예제 #5
0
 def browsePath(self):
     """用户点击了浏览路径的按钮。如果成功设置了路径,就返回True,如果用户取消了操作或者出错,就返回False
     返回的用途参见showEvent()"""
     filename, selectedFilter = QFileDialog.getOpenFileName(
         self, self.windowTitle())
     if not filename:
         return False
     fi = QFileInfo(filename)
     if fi.isSymLink():
         filename = fi.symLinkTarget()
         if not os.path.exists(filename):
             QMessageBox.information(self, self.windowTitle(),
                                     self.tr("快捷方式所指向的程序不正确。"))
             return False
     fi = QFileInfo(filename)
     self.txtName.setText(fi.baseName())
     self.txtPath.setText(fi.absoluteFilePath())
     self.setFileIcon(fi.absoluteFilePath())
     self.txtDir.setText(fi.dir().absolutePath())
     return True