Sat, 13 Apr 2013 13:06:39 +0200
Fixed an issue in the Mercurial log browser setting the correct state of the phase button in 'incoming' and 'outgoing' mode.
1315
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
2302
f29e9405c851
Updated copyright for 2013.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2132
diff
changeset
|
3 | # Copyright (c) 2011 - 2013 Detlev Offenbach <detlev@die-offenbachs.de> |
1315
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a dialog to enter data for the Mercurial export command. |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import os |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | from PyQt4.QtCore import pyqtSlot, QDir |
2132
8f013b041e8a
Changed a few occurances of QFileDialog to E5FileDialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
13 | from PyQt4.QtGui import QDialog, QDialogButtonBox |
1315
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | from E5Gui import E5FileDialog |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | from E5Gui.E5Completers import E5DirCompleter |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | from .Ui_HgExportDialog import Ui_HgExportDialog |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | import Utilities |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | class HgExportDialog(QDialog, Ui_HgExportDialog): |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | Class documentation goes here. |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | def __init__(self, parent=None): |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | Constructor |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | @param parent reference to the parent widget (QWidget) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | super().__init__(parent) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | self.setupUi(self) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(False) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | self.__directoryCompleter = E5DirCompleter(self.directoryEdit) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | # set default values for directory and pattern |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | self.patternEdit.setText("%b_%r_%h_%n_of_%N.diff") |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | self.directoryEdit.setText(QDir.tempPath()) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | def __updateOK(self): |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | Private slot to update the OK button. |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | enabled = True |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | if self.directoryEdit.text() == "": |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | enabled = False |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | elif self.patternEdit.text() == "": |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | enabled = False |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | elif self.changesetsEdit.toPlainText() == "": |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | enabled = False |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enabled) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | @pyqtSlot(str) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | def on_directoryEdit_textChanged(self, p0): |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | Private slot to react on changes of the export directory edit. |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | @param txt contents of the line edit (string) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | self.__updateOK() |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | @pyqtSlot() |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | def on_directoryButton_clicked(self): |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | Private slot called by pressing the export directory selection button. |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | dn = E5FileDialog.getExistingDirectory( |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | self, |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | self.trUtf8("Export Patches"), |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | self.directoryEdit.text(), |
2132
8f013b041e8a
Changed a few occurances of QFileDialog to E5FileDialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
77 | E5FileDialog.Options(E5FileDialog.Option(0))) |
1315
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | if dn: |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | self.directoryEdit.setText(Utilities.toNativeSeparators(dn)) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | @pyqtSlot(str) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | def on_patternEdit_textChanged(self, p0): |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | Private slot to react on changes of the export file name pattern edit. |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | @param txt contents of the line edit (string) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | self.__updateOK() |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | @pyqtSlot() |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | def on_changesetsEdit_textChanged(self): |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | Private slot to react on changes of the changesets edit. |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | @param txt contents of the line edit (string) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | self.__updateOK() |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | def getParameters(self): |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | Public method to retrieve the export data. |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | @return tuple naming the output file name, the list of revisions to export, |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | and flags indicating to compare against the second parent, to treat all |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | files as text, to omit dates in the diff headers and to use the git extended |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | diff format (string, list of strings, boolean, boolean, boolean, boolean) |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | """ |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | return ( |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | os.path.join(Utilities.toNativeSeparators(self.directoryEdit.text()), |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | self.patternEdit.text()), |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | self.changesetsEdit.toPlainText().splitlines(), |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | self.switchParentCheckBox.isChecked(), |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | self.textCheckBox.isChecked(), |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | self.datesCheckBox.isChecked(), |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | self.gitCheckBox.isChecked() |
faafd2aa48d5
Added support for exporting patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | ) |