7 Module implementing the exporter base class. |
7 Module implementing the exporter base class. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt6.QtCore import QFileInfo, QObject, QCoreApplication |
10 from PyQt6.QtCore import QFileInfo, QObject, QCoreApplication |
11 |
11 |
12 from E5Gui import E5MessageBox, E5FileDialog |
12 from E5Gui import EricMessageBox, EricFileDialog |
13 |
13 |
14 import Utilities |
14 import Utilities |
15 |
15 |
16 |
16 |
17 class ExporterBase(QObject): |
17 class ExporterBase(QObject): |
36 "All Files (*)" is appended by this method. |
36 "All Files (*)" is appended by this method. |
37 @return file name entered by the user (string) |
37 @return file name entered by the user (string) |
38 """ |
38 """ |
39 fileFilter += ";;" |
39 fileFilter += ";;" |
40 fileFilter += QCoreApplication.translate('Exporter', "All Files (*)") |
40 fileFilter += QCoreApplication.translate('Exporter', "All Files (*)") |
41 fn, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( |
41 fn, selectedFilter = EricFileDialog.getSaveFileNameAndFilter( |
42 self.editor, |
42 self.editor, |
43 QCoreApplication.translate('Exporter', "Export source"), |
43 QCoreApplication.translate('Exporter', "Export source"), |
44 "", |
44 "", |
45 fileFilter, |
45 fileFilter, |
46 "", |
46 "", |
47 E5FileDialog.DontConfirmOverwrite) |
47 EricFileDialog.DontConfirmOverwrite) |
48 |
48 |
49 if fn: |
49 if fn: |
50 ext = QFileInfo(fn).suffix() |
50 ext = QFileInfo(fn).suffix() |
51 if not ext: |
51 if not ext: |
52 ex = selectedFilter.split("(*")[1].split(")")[0] |
52 ex = selectedFilter.split("(*")[1].split(")")[0] |
53 if ex: |
53 if ex: |
54 fn += ex |
54 fn += ex |
55 if QFileInfo(fn).exists(): |
55 if QFileInfo(fn).exists(): |
56 res = E5MessageBox.yesNo( |
56 res = EricMessageBox.yesNo( |
57 self.editor, |
57 self.editor, |
58 QCoreApplication.translate( |
58 QCoreApplication.translate( |
59 'Exporter', "Export source"), |
59 'Exporter', "Export source"), |
60 QCoreApplication.translate( |
60 QCoreApplication.translate( |
61 'Exporter', |
61 'Exporter', |
62 "<p>The file <b>{0}</b> already exists." |
62 "<p>The file <b>{0}</b> already exists." |
63 " Overwrite it?</p>").format(fn), |
63 " Overwrite it?</p>").format(fn), |
64 icon=E5MessageBox.Warning) |
64 icon=EricMessageBox.Warning) |
65 if not res: |
65 if not res: |
66 return "" |
66 return "" |
67 |
67 |
68 fn = Utilities.toNativeSeparators(fn) |
68 fn = Utilities.toNativeSeparators(fn) |
69 |
69 |