12 from PyQt4.QtCore import QProcess |
12 from PyQt4.QtCore import QProcess |
13 from PyQt4.QtGui import QDialog, QInputDialog |
13 from PyQt4.QtGui import QDialog, QInputDialog |
14 |
14 |
15 from ..HgExtension import HgExtension |
15 from ..HgExtension import HgExtension |
16 from ..HgDialog import HgDialog |
16 from ..HgDialog import HgDialog |
17 |
|
18 from .HgBookmarksListDialog import HgBookmarksListDialog |
|
19 from .HgBookmarkDialog import HgBookmarkDialog |
|
20 from .HgBookmarkRenameDialog import HgBookmarkRenameDialog |
|
21 from .HgBookmarksInOutDialog import HgBookmarksInOutDialog |
|
22 |
17 |
23 import Preferences |
18 import Preferences |
24 |
19 |
25 |
20 |
26 class Bookmarks(HgExtension): |
21 class Bookmarks(HgExtension): |
54 |
49 |
55 @param path directory name of the project (string) |
50 @param path directory name of the project (string) |
56 """ |
51 """ |
57 self.bookmarksList = [] |
52 self.bookmarksList = [] |
58 |
53 |
|
54 from .HgBookmarksListDialog import HgBookmarksListDialog |
59 self.bookmarksListDlg = HgBookmarksListDialog(self.vcs) |
55 self.bookmarksListDlg = HgBookmarksListDialog(self.vcs) |
60 self.bookmarksListDlg.show() |
56 self.bookmarksListDlg.show() |
61 self.bookmarksListDlg.start(path, self.bookmarksList) |
57 self.bookmarksListDlg.start(path, self.bookmarksList) |
62 |
58 |
63 def hgGetBookmarksList(self, repodir): |
59 def hgGetBookmarksList(self, repodir): |
110 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): |
106 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): |
111 repodir = os.path.dirname(repodir) |
107 repodir = os.path.dirname(repodir) |
112 if os.path.splitdrive(repodir)[1] == os.sep: |
108 if os.path.splitdrive(repodir)[1] == os.sep: |
113 return |
109 return |
114 |
110 |
|
111 from .HgBookmarkDialog import HgBookmarkDialog |
115 dlg = HgBookmarkDialog(HgBookmarkDialog.DEFINE_MODE, |
112 dlg = HgBookmarkDialog(HgBookmarkDialog.DEFINE_MODE, |
116 self.vcs.hgGetTagsList(repodir), |
113 self.vcs.hgGetTagsList(repodir), |
117 self.vcs.hgGetBranchesList(repodir), |
114 self.vcs.hgGetBranchesList(repodir), |
118 self.hgGetBookmarksList(repodir)) |
115 self.hgGetBookmarksList(repodir)) |
119 if dlg.exec_() == QDialog.Accepted: |
116 if dlg.exec_() == QDialog.Accepted: |
172 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): |
169 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): |
173 repodir = os.path.dirname(repodir) |
170 repodir = os.path.dirname(repodir) |
174 if os.path.splitdrive(repodir)[1] == os.sep: |
171 if os.path.splitdrive(repodir)[1] == os.sep: |
175 return |
172 return |
176 |
173 |
|
174 from .HgBookmarkRenameDialog import HgBookmarkRenameDialog |
177 dlg = HgBookmarkRenameDialog(self.hgGetBookmarksList(repodir)) |
175 dlg = HgBookmarkRenameDialog(self.hgGetBookmarksList(repodir)) |
178 if dlg.exec_() == QDialog.Accepted: |
176 if dlg.exec_() == QDialog.Accepted: |
179 newName, oldName = dlg.getData() |
177 newName, oldName = dlg.getData() |
180 |
178 |
181 args = [] |
179 args = [] |
200 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): |
198 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): |
201 repodir = os.path.dirname(repodir) |
199 repodir = os.path.dirname(repodir) |
202 if os.path.splitdrive(repodir)[1] == os.sep: |
200 if os.path.splitdrive(repodir)[1] == os.sep: |
203 return |
201 return |
204 |
202 |
|
203 from .HgBookmarkDialog import HgBookmarkDialog |
205 dlg = HgBookmarkDialog(HgBookmarkDialog.MOVE_MODE, |
204 dlg = HgBookmarkDialog(HgBookmarkDialog.MOVE_MODE, |
206 self.vcs.hgGetTagsList(repodir), |
205 self.vcs.hgGetTagsList(repodir), |
207 self.vcs.hgGetBranchesList(repodir), |
206 self.vcs.hgGetBranchesList(repodir), |
208 self.hgGetBookmarksList(repodir)) |
207 self.hgGetBookmarksList(repodir)) |
209 if dlg.exec_() == QDialog.Accepted: |
208 if dlg.exec_() == QDialog.Accepted: |
226 """ |
225 """ |
227 Public method to show a list of incoming bookmarks. |
226 Public method to show a list of incoming bookmarks. |
228 |
227 |
229 @param name file/directory name (string) |
228 @param name file/directory name (string) |
230 """ |
229 """ |
|
230 from .HgBookmarksInOutDialog import HgBookmarksInOutDialog |
231 self.bookmarksInOutDlg = HgBookmarksInOutDialog( |
231 self.bookmarksInOutDlg = HgBookmarksInOutDialog( |
232 self.vcs, HgBookmarksInOutDialog.INCOMING) |
232 self.vcs, HgBookmarksInOutDialog.INCOMING) |
233 self.bookmarksInOutDlg.show() |
233 self.bookmarksInOutDlg.show() |
234 self.bookmarksInOutDlg.start(name) |
234 self.bookmarksInOutDlg.start(name) |
235 |
235 |
237 """ |
237 """ |
238 Public method to show a list of outgoing bookmarks. |
238 Public method to show a list of outgoing bookmarks. |
239 |
239 |
240 @param name file/directory name (string) |
240 @param name file/directory name (string) |
241 """ |
241 """ |
|
242 from .HgBookmarksInOutDialog import HgBookmarksInOutDialog |
242 self.bookmarksInOutDlg = HgBookmarksInOutDialog( |
243 self.bookmarksInOutDlg = HgBookmarksInOutDialog( |
243 self.vcs, HgBookmarksInOutDialog.OUTGOING) |
244 self.vcs, HgBookmarksInOutDialog.OUTGOING) |
244 self.bookmarksInOutDlg.show() |
245 self.bookmarksInOutDlg.show() |
245 self.bookmarksInOutDlg.start(name) |
246 self.bookmarksInOutDlg.start(name) |
246 |
247 |
311 args = [] |
312 args = [] |
312 args.append('pull') |
313 args.append('pull') |
313 args.append('--bookmark') |
314 args.append('--bookmark') |
314 args.append(bookmark) |
315 args.append(bookmark) |
315 |
316 |
316 dia = HgDialog(self.trUtf8('Pulling bookmark from a remote Mercurial repository'), |
317 dia = HgDialog(self.trUtf8( |
317 self.vcs) |
318 'Pulling bookmark from a remote Mercurial repository'), |
|
319 self.vcs) |
318 res = dia.startProcess(args, repodir) |
320 res = dia.startProcess(args, repodir) |
319 if res: |
321 if res: |
320 dia.exec_() |
322 dia.exec_() |
321 |
323 |
322 def hgBookmarkPush(self, name): |
324 def hgBookmarkPush(self, name): |
344 args = [] |
346 args = [] |
345 args.append('push') |
347 args.append('push') |
346 args.append('--bookmark') |
348 args.append('--bookmark') |
347 args.append(bookmark) |
349 args.append(bookmark) |
348 |
350 |
349 dia = HgDialog(self.trUtf8('Pushing bookmark to a remote Mercurial repository'), |
351 dia = HgDialog(self.trUtf8( |
350 self.vcs) |
352 'Pushing bookmark to a remote Mercurial repository'), |
351 res = dia.startProcess(args, repodir) |
353 self.vcs) |
352 if res: |
354 res = dia.startProcess(args, repodir) |
353 dia.exec_() |
355 if res: |
|
356 dia.exec_() |