|
22 | 22 | except ImportError: |
23 | 23 | raise ImportError("Qt4 backend requires that PyQt4 is installed.") |
24 | 24 |
|
| 25 | +import sip |
| 26 | + |
| 27 | +try : |
| 28 | + if sip.getapi("QString") > 1 : |
| 29 | + # Use new getSaveFileNameAndFilter() |
| 30 | + _getSaveFileName = lambda self, msg, start, filters, selectedFilter : \ |
| 31 | + QtGui.QFileDialog.getSaveFileNameAndFilter(self, \ |
| 32 | + msg, start, filters, selectedFilter)[0] |
| 33 | + else : |
| 34 | + # Use old getSaveFileName() |
| 35 | + _getSaveFileName = QtGui.QFileDialog.getSaveFileName |
| 36 | +except (AttributeError, KeyError) : |
| 37 | + # call to getapi() can fail in older versions of sip |
| 38 | + # Use the old getSaveFileName() |
| 39 | + _getSaveFileName = QtGui.QFileDialog.getSaveFileName |
| 40 | + |
25 | 41 | backend_version = "0.9.1" |
26 | 42 | def fn_name(): return sys._getframe(1).f_code.co_name |
27 | 43 |
|
@@ -524,8 +540,8 @@ def save_figure(self, *args): |
524 | 540 | filters.append(filter) |
525 | 541 | filters = ';;'.join(filters) |
526 | 542 |
|
527 | | - fname = QtGui.QFileDialog.getSaveFileName( |
528 | | - self, "Choose a filename to save to", start, filters, selectedFilter) |
| 543 | + fname = _getSaveFileName(self, "Choose a filename to save to", |
| 544 | + start, filters, selectedFilter) |
529 | 545 | if fname: |
530 | 546 | try: |
531 | 547 | self.canvas.print_figure( unicode(fname) ) |
|
0 commit comments