Sun, 10 Feb 2013 19:17:45 +0100
Continued implementing the delayed import.
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
2302
f29e9405c851
Updated copyright for 2013.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2278
diff
changeset
|
3 | # Copyright (c) 2010 - 2013 Detlev Offenbach <detlev@die-offenbachs.de> |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the Mercurial configuration page. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
2278
72d794b6fef8
Added code to create an empty Mercurial user configuration file, if non exists already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
10 | import os |
72d794b6fef8
Added code to create an empty Mercurial user configuration file, if non exists already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
11 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | from PyQt4.QtCore import pyqtSlot |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | from Preferences.ConfigurationPages.ConfigurationPageBase import ConfigurationPageBase |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | from .Ui_MercurialPage import Ui_MercurialPage |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
17 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | class MercurialPage(ConfigurationPageBase, Ui_MercurialPage): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | Class implementing the Mercurial configuration page. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | def __init__(self, plugin): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | Constructor |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | @param plugin reference to the plugin object |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | """ |
1131
7781e396c903
Changed the code to use super() to access the superclass.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1085
diff
changeset
|
28 | super().__init__() |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | self.setupUi(self) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | self.setObjectName("MercurialPage") |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | self.__plugin = plugin |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | # set initial values |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | self.logSpinBox.setValue(self.__plugin.getPreferences("LogLimit")) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | self.commitSpinBox.setValue(self.__plugin.getPreferences("CommitMessages")) |
181
4af57f97c1bc
Added code to choose the way incoming and outgoing logs are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
178
diff
changeset
|
37 | self.logBrowserCheckBox.setChecked(self.__plugin.getPreferences("UseLogBrowser")) |
219
0553aa793753
Added action to back out a changeset and added code to update automatically after a pull (Mercurial Plug-in).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
181
diff
changeset
|
38 | self.pullUpdateCheckBox.setChecked(self.__plugin.getPreferences("PullUpdate")) |
1307
9f7a056dbcc6
Modified pull such, that it will try to apply an existing changegroups file first.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
39 | self.preferUnbundleCheckBox.setChecked( |
9f7a056dbcc6
Modified pull such, that it will try to apply an existing changegroups file first.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
40 | self.__plugin.getPreferences("PreferUnbundle")) |
1085
ef6102d5fefe
Made the Mercurial cleanup patterns configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1064
diff
changeset
|
41 | self.cleanupPatternEdit.setText(self.__plugin.getPreferences("CleanupPatterns")) |
1312
12506dba74dc
Added configuration option to create backup files when reverting changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1307
diff
changeset
|
42 | self.backupCheckBox.setChecked(self.__plugin.getPreferences("CreateBackup")) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | def save(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | Public slot to save the Mercurial configuration. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | self.__plugin.setPreferences("LogLimit", self.logSpinBox.value()) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | self.__plugin.setPreferences("CommitMessages", self.commitSpinBox.value()) |
181
4af57f97c1bc
Added code to choose the way incoming and outgoing logs are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
178
diff
changeset
|
50 | self.__plugin.setPreferences("UseLogBrowser", self.logBrowserCheckBox.isChecked()) |
219
0553aa793753
Added action to back out a changeset and added code to update automatically after a pull (Mercurial Plug-in).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
181
diff
changeset
|
51 | self.__plugin.setPreferences("PullUpdate", self.pullUpdateCheckBox.isChecked()) |
1307
9f7a056dbcc6
Modified pull such, that it will try to apply an existing changegroups file first.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
52 | self.__plugin.setPreferences("PreferUnbundle", |
9f7a056dbcc6
Modified pull such, that it will try to apply an existing changegroups file first.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
53 | self.preferUnbundleCheckBox.isChecked()) |
1085
ef6102d5fefe
Made the Mercurial cleanup patterns configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1064
diff
changeset
|
54 | self.__plugin.setPreferences("CleanupPatterns", self.cleanupPatternEdit.text()) |
1312
12506dba74dc
Added configuration option to create backup files when reverting changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1307
diff
changeset
|
55 | self.__plugin.setPreferences("CreateBackup", self.backupCheckBox.isChecked()) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | @pyqtSlot() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | def on_configButton_clicked(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | """ |
1064
10bdbb173c0f
Added an entry to the Mercurial menu to edit the user configuration file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
60 | Private slot to edit the (per user) Mercurial configuration file. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | """ |
2405
d4b5f3bd4720
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
62 | from QScintilla.MiniEditor import MiniEditor |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | cfgFile = self.__plugin.getConfigPath() |
2278
72d794b6fef8
Added code to create an empty Mercurial user configuration file, if non exists already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
64 | if not os.path.exists(cfgFile): |
72d794b6fef8
Added code to create an empty Mercurial user configuration file, if non exists already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
65 | try: |
72d794b6fef8
Added code to create an empty Mercurial user configuration file, if non exists already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
66 | f = open(cfgFile, "w") |
72d794b6fef8
Added code to create an empty Mercurial user configuration file, if non exists already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
67 | f.close() |
72d794b6fef8
Added code to create an empty Mercurial user configuration file, if non exists already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
68 | except (IOError, OSError): |
72d794b6fef8
Added code to create an empty Mercurial user configuration file, if non exists already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
69 | # ignore these |
72d794b6fef8
Added code to create an empty Mercurial user configuration file, if non exists already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
70 | pass |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | editor = MiniEditor(cfgFile, "Properties", self) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | editor.show() |