Thu, 13 Mar 2014 19:21:25 +0100
Made some changes to have a bunch of dialogs with correct sizes.
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
3160
209a07d7e401
Updated copyright for 2014.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
3 | # Copyright (c) 2012 - 2014 Detlev Offenbach <detlev@die-offenbachs.de> |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
1906
8487f9c2533b
Continued implementing support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1905
diff
changeset
|
7 | Module implementing a dialog to add a sub-repository. |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import os |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | from PyQt4.QtCore import pyqtSlot |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | from PyQt4.QtGui import QDialog, QDialogButtonBox |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | from E5Gui import E5FileDialog, E5MessageBox |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | import Utilities |
3186
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
18 | import UI.PixmapCache |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | from .Ui_HgAddSubrepositoryDialog import Ui_HgAddSubrepositoryDialog |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | class HgAddSubrepositoryDialog(QDialog, Ui_HgAddSubrepositoryDialog): |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | """ |
1906
8487f9c2533b
Continued implementing support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1905
diff
changeset
|
25 | Class implementing a dialog to add a sub-repository. |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | def __init__(self, projectPath, parent=None): |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | Constructor |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
2962
d6c9d1ca2da4
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
31 | @param projectPath project directory name (string) |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | @param parent reference to the parent widget (QWidget) |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | super().__init__(parent) |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | self.setupUi(self) |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | |
3186
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
37 | self.pathButton.setIcon(UI.PixmapCache.getIcon("open.png")) |
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
38 | |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | self.__ok = self.buttonBox.button(QDialogButtonBox.Ok) |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | self.__ok.setEnabled(False) |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | self.__projectPath = projectPath |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | self.typeCombo.addItem("Mercurial", "hg") |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | self.typeCombo.addItem("GIT", "git") |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.typeCombo.addItem("Subversion", "svn") |
3366
6084bb3c3911
Made some changes to have a bunch of dialogs with correct sizes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
47 | |
6084bb3c3911
Made some changes to have a bunch of dialogs with correct sizes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
48 | msh = self.minimumSizeHint() |
6084bb3c3911
Made some changes to have a bunch of dialogs with correct sizes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
49 | self.resize(max(self.width(), msh.width()), msh.height()) |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | def __updateOk(self): |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | Private slot to update the state of the OK button. |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | path = self.pathEdit.text() |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | url = self.urlEdit.text() |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | self.__ok.setEnabled( |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | path != "" and |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | not os.path.isabs(path) and |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | url != "" |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | ) |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | @pyqtSlot(str) |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | def on_pathEdit_textChanged(self, p0): |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | Private slot to handle the update of the path. |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | @param p0 text of the path edit (string) |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | self.__updateOk() |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | @pyqtSlot(str) |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | def on_urlEdit_textChanged(self, p0): |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | Private slot to handle the update of the URL. |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | @param p0 text of the URL edit (string) |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | self.__updateOk() |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | @pyqtSlot() |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | def on_pathButton_clicked(self): |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2962
diff
changeset
|
85 | Private slot to handle the path selection via a directory selection |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2962
diff
changeset
|
86 | dialog. |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | path = E5FileDialog.getExistingDirectory( |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
90 | self.tr("Add Sub-repository"), |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | os.path.join(self.__projectPath, self.pathEdit.text()), |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | E5FileDialog.Options(E5FileDialog.Option(0))) |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | if path: |
1910
96641d9a10a2
Fixed an issue adding a sub-repository on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1906
diff
changeset
|
95 | path = Utilities.toNativeSeparators(path) |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | if path.startswith(self.__projectPath): |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | path = path.replace(self.__projectPath, "")[1:] |
1910
96641d9a10a2
Fixed an issue adding a sub-repository on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1906
diff
changeset
|
98 | self.pathEdit.setText(path) |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | else: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
100 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
101 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
102 | self.tr("Add Sub-repository"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
103 | self.tr("""The sub-repository path must be inside""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
104 | """ the project.""")) |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | return |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | def getData(self): |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | Public method to get the data. |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2962
diff
changeset
|
111 | @return tuple containing the relative path within the project, the |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2962
diff
changeset
|
112 | sub-repository type and the sub-repository URL (string, string, |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2962
diff
changeset
|
113 | string) |
1905
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | """ |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | return ( |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | self.pathEdit.text(), |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | self.typeCombo.itemData(self.typeCombo.currentIndex()), |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | self.urlEdit.text() |
7ad9161c5293
Started adding support for Mercurial sub-repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | ) |