eric7/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.py

Thu, 05 May 2022 17:40:52 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 05 May 2022 17:40:52 +0200
branch
eric7
changeset 9054
adae534abaf0
parent 9016
6f079c524e99
permissions
-rw-r--r--

Mercurial Interface
- added configuration option to override the automatic search for the hg executable

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
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
3 # Copyright (c) 2010 - 2022 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
8465
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
10 import os
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
11
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
12 from PyQt6.QtCore import pyqtSlot
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
8465
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
14 from EricWidgets.EricApplication import ericApp
9054
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
15 from EricWidgets.EricPathPicker import EricPathPickerModes
8465
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
16
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
17 from Preferences.ConfigurationPages.ConfigurationPageBase import (
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
18 ConfigurationPageBase
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
19 )
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 from .Ui_MercurialPage import Ui_MercurialPage
8465
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
21 from .. import HgUtilities
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
9016
6f079c524e99 Changed occurrences of sys.executable with a method to get rid of the "w" on Windows and macOS systems (i.e. change pythonw to python).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
23 import Globals
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
24 from Utilities import supportedCodecs
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
25
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
26
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 class MercurialPage(ConfigurationPageBase, Ui_MercurialPage):
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 Class implementing the Mercurial configuration page.
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 def __init__(self, plugin):
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 Constructor
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 @param plugin reference to the plugin object
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
37 super().__init__()
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.setupUi(self)
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.setObjectName("MercurialPage")
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.__plugin = plugin
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
9054
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
43 self.hgPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
44 if Globals.isWindowsPlatform():
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
45 self.hgPicker.setFilters(self.tr(
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
46 "Executable Files (*.exe);;"
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
47 "All Files (*)"
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
48 ))
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
49 else:
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
50 self.hgPicker.setFilters(self.tr("All Files (*)"))
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
51
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
52 self.encodingComboBox.addItems(sorted(supportedCodecs))
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
53 self.encodingModeComboBox.addItems(["strict", "ignore", "replace"])
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
54
8465
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
55 self.installButton.setEnabled(not self.__mercurialInstalled())
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
56
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 # set initial values
9054
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
58 # executable override
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
59 self.hgPicker.setText(
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
60 self.__plugin.getPreferences("MercurialExecutablePath"))
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
61
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
62 # global options
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
63 index = self.encodingComboBox.findText(
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
64 self.__plugin.getPreferences("Encoding"))
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
65 self.encodingComboBox.setCurrentIndex(index)
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
66 index = self.encodingModeComboBox.findText(
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
67 self.__plugin.getPreferences("EncodingMode"))
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
68 self.encodingModeComboBox.setCurrentIndex(index)
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
69 self.hiddenChangesetsCheckBox.setChecked(
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
70 self.__plugin.getPreferences("ConsiderHidden"))
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
71 # log
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
72 self.logSpinBox.setValue(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
73 self.__plugin.getPreferences("LogLimit"))
5451
8ee36e8a315f Added the capability to configure the length of the log message shown in the message column of the Mercurial log browser list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
74 self.logWidthSpinBox.setValue(
8ee36e8a315f Added the capability to configure the length of the log message shown in the message column of the Mercurial log browser list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
75 self.__plugin.getPreferences("LogMessageColumnWidth"))
7009
eaf5ed6ef298 Mercurial Interface:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
76 self.startFullLogCheckBox.setChecked(
eaf5ed6ef298 Mercurial Interface:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
77 self.__plugin.getPreferences("LogBrowserShowFullLog"))
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
78 # commit
5330
381665763704 Added possibility to enter a commit author and commit date/time to the Mercurial commit dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5292
diff changeset
79 self.commitAuthorsSpinBox.setValue(
381665763704 Added possibility to enter a commit author and commit date/time to the Mercurial commit dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5292
diff changeset
80 self.__plugin.getPreferences("CommitAuthorsLimit"))
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
81 # pull
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
82 self.pullUpdateCheckBox.setChecked(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
83 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
84 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
85 self.__plugin.getPreferences("PreferUnbundle"))
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
86 # cleanup
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
87 self.cleanupPatternEdit.setText(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
88 self.__plugin.getPreferences("CleanupPatterns"))
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
89 # revert
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
90 self.backupCheckBox.setChecked(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
91 self.__plugin.getPreferences("CreateBackup"))
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
92 # merge
3256
1a43351889d5 Aded a configuration option to enforce the useage of the internal merge tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3231
diff changeset
93 self.internalMergeCheckBox.setChecked(
1a43351889d5 Aded a configuration option to enforce the useage of the internal merge tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3231
diff changeset
94 self.__plugin.getPreferences("InternalMerge"))
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 def save(self):
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 """
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 Public slot to save the Mercurial configuration.
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 """
9054
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
100 # executable override
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
101 self.__plugin.setPreferences(
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9016
diff changeset
102 "MercurialExecutablePath", self.hgPicker.text())
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
103 # global options
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
104 self.__plugin.setPreferences(
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
105 "Encoding", self.encodingComboBox.currentText())
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
106 self.__plugin.setPreferences(
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
107 "EncodingMode", self.encodingModeComboBox.currentText())
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
108 self.__plugin.setPreferences(
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
109 "ConsiderHidden", self.hiddenChangesetsCheckBox.isChecked())
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
110 # log
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
111 self.__plugin.setPreferences(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
112 "LogLimit", self.logSpinBox.value())
5451
8ee36e8a315f Added the capability to configure the length of the log message shown in the message column of the Mercurial log browser list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
113 self.__plugin.setPreferences(
8ee36e8a315f Added the capability to configure the length of the log message shown in the message column of the Mercurial log browser list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
114 "LogMessageColumnWidth", self.logWidthSpinBox.value())
7009
eaf5ed6ef298 Mercurial Interface:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
115 self.__plugin.setPreferences(
eaf5ed6ef298 Mercurial Interface:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
116 "LogBrowserShowFullLog", self.startFullLogCheckBox.isChecked())
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
117 # commit
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
118 self.__plugin.setPreferences(
5330
381665763704 Added possibility to enter a commit author and commit date/time to the Mercurial commit dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5292
diff changeset
119 "CommitAuthorsLimit", self.commitAuthorsSpinBox.value())
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
120 # pull
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
121 self.__plugin.setPreferences(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
122 "PullUpdate", self.pullUpdateCheckBox.isChecked())
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
123 self.__plugin.setPreferences(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
124 "PreferUnbundle", self.preferUnbundleCheckBox.isChecked())
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
125 # cleanup
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
126 self.__plugin.setPreferences(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
127 "CleanupPatterns", self.cleanupPatternEdit.text())
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
128 # revert
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
129 self.__plugin.setPreferences(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2810
diff changeset
130 "CreateBackup", self.backupCheckBox.isChecked())
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3256
diff changeset
131 # merge
3256
1a43351889d5 Aded a configuration option to enforce the useage of the internal merge tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3231
diff changeset
132 self.__plugin.setPreferences(
1a43351889d5 Aded a configuration option to enforce the useage of the internal merge tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3231
diff changeset
133 "InternalMerge", self.internalMergeCheckBox.isChecked())
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 @pyqtSlot()
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 def on_configButton_clicked(self):
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 """
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
138 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
139 """
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5256
diff changeset
140 from ..HgUserConfigDialog import HgUserConfigDialog
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
141 from ..HgUtilities import hgVersion
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
142
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
143 dlg = HgUserConfigDialog(version=hgVersion(self.__plugin)[1])
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
144 dlg.exec()
8465
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
145
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
146 @pyqtSlot()
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
147 def on_installButton_clicked(self):
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
148 """
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
149 Private slot to install Mercurial alongside eric7.
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
150 """
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
151 pip = ericApp().getObject("Pip")
9016
6f079c524e99 Changed occurrences of sys.executable with a method to get rid of the "w" on Windows and macOS systems (i.e. change pythonw to python).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
152 pip.installPackages(["mercurial"],
6f079c524e99 Changed occurrences of sys.executable with a method to get rid of the "w" on Windows and macOS systems (i.e. change pythonw to python).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
153 interpreter=Globals.getPythonExecutable())
8465
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
154 self.installButton.setEnabled(not self.__mercurialInstalled())
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
155
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
156 def __mercurialInstalled(self):
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
157 """
8522
4f263b89a293 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8465
diff changeset
158 Private method to check, if Mercurial is installed alongside eric7.
4f263b89a293 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8465
diff changeset
159
4f263b89a293 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8465
diff changeset
160 @return flag indicating an installed Mercurial executable
4f263b89a293 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8465
diff changeset
161 @rtype bool
8465
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
162 """
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
163 hg = HgUtilities.getHgExecutable()
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
164 # assume local installation, if the path is absolute
59bb8fdeef1b Mercurial: added a button to the configuration page to install Mercurial into the eric7 environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
165 return os.path.isabs(hg)

eric ide

mercurial