From 3baa7fe8f3ff7f7840f22647754783967657fe16 Mon Sep 17 00:00:00 2001 From: Tony S Yu Date: Sun, 19 May 2013 22:58:04 -0500 Subject: [PATCH] Fix file open dialog for PySide --- skimage/viewer/utils/dialogs.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/skimage/viewer/utils/dialogs.py b/skimage/viewer/utils/dialogs.py index 642166ae..f160531d 100644 --- a/skimage/viewer/utils/dialogs.py +++ b/skimage/viewer/utils/dialogs.py @@ -3,23 +3,30 @@ import os from ..qt import QtGui -def open_file_dialog(default_format='png'): - """Return user-selected file path.""" - filename = str(QtGui.QFileDialog.getOpenFileName()) +__all__ = ['open_file_dialog', 'save_file_dialog'] + + +def _format_filename(filename): + if isinstance(filename, tuple): + # Handle discrepancy between PyQt4 and PySide APIs. + filename = filename[0] if len(filename) == 0: return None + return str(filename) + + +def open_file_dialog(): + """Return user-selected file path.""" + filename = QtGui.QFileDialog.getOpenFileName() + filename = _format_filename(filename) return filename def save_file_dialog(default_format='png'): """Return user-selected file path.""" filename = QtGui.QFileDialog.getSaveFileName() - # Handle discrepancy between PyQt4 and PySide APIs. - if isinstance(filename, tuple): - filename = filename[0] - filename = str(filename) - - if len(filename) == 0: + filename = _format_filename(filename) + if filename is None: return None #TODO: io plugins should assign default image formats basename, ext = os.path.splitext(filename)