26 from .GitUtilities import strToQByteArray |
26 from .GitUtilities import strToQByteArray |
27 |
27 |
28 import Preferences |
28 import Preferences |
29 |
29 |
30 |
30 |
31 # TODO: add button to set user credentials (git remote set-url) |
|
32 class GitRemoteRepositoriesDialog(QWidget, Ui_GitRemoteRepositoriesDialog): |
31 class GitRemoteRepositoriesDialog(QWidget, Ui_GitRemoteRepositoriesDialog): |
33 """ |
32 """ |
34 Class implementing a dialog to show available remote repositories. |
33 Class implementing a dialog to show available remote repositories. |
35 """ |
34 """ |
36 def __init__(self, vcs, parent=None): |
35 def __init__(self, vcs, parent=None): |
305 Private method to update the buttons status. |
304 Private method to update the buttons status. |
306 """ |
305 """ |
307 enable = len(self.repolist.selectedItems()) == 1 |
306 enable = len(self.repolist.selectedItems()) == 1 |
308 |
307 |
309 self.removeButton.setEnabled(enable) |
308 self.removeButton.setEnabled(enable) |
310 self.renameButton.setEnabled(enable) |
|
311 self.pruneButton.setEnabled(enable) |
309 self.pruneButton.setEnabled(enable) |
312 self.showInfoButton.setEnabled(enable) |
310 self.showInfoButton.setEnabled(enable) |
|
311 self.renameButton.setEnabled(enable) |
|
312 self.changeUrlButton.setEnabled(enable) |
|
313 self.credentialsButton.setEnabled(enable) |
313 |
314 |
314 @pyqtSlot() |
315 @pyqtSlot() |
315 def on_repolist_itemSelectionChanged(self): |
316 def on_repolist_itemSelectionChanged(self): |
316 """ |
317 """ |
317 Private slot to act upon changes of selected items. |
318 Private slot to act upon changes of selected items. |
323 """ |
324 """ |
324 Private slot to add a remote repository. |
325 Private slot to add a remote repository. |
325 """ |
326 """ |
326 self.vcs.gitAddRemote(self.projectDir) |
327 self.vcs.gitAddRemote(self.projectDir) |
327 self.on_refreshButton_clicked() |
328 self.on_refreshButton_clicked() |
|
329 |
|
330 @pyqtSlot() |
|
331 def on_removeButton_clicked(self): |
|
332 """ |
|
333 Private slot to remove a remote repository. |
|
334 """ |
|
335 remoteName = self.repolist.selectedItems()[0].text(0) |
|
336 self.vcs.gitRemoveRemote(self.projectDir, remoteName) |
|
337 self.on_refreshButton_clicked() |
|
338 |
|
339 @pyqtSlot() |
|
340 def on_showInfoButton_clicked(self): |
|
341 """ |
|
342 Private slot to show information about a remote repository. |
|
343 """ |
|
344 remoteName = self.repolist.selectedItems()[0].text(0) |
|
345 self.vcs.gitShowRemote(self.projectDir, remoteName) |
|
346 |
|
347 @pyqtSlot() |
|
348 def on_pruneButton_clicked(self): |
|
349 """ |
|
350 Private slot to prune all stale remote-tracking branches. |
|
351 """ |
|
352 remoteName = self.repolist.selectedItems()[0].text(0) |
|
353 self.vcs.gitPruneRemote(self.projectDir, remoteName) |
328 |
354 |
329 @pyqtSlot() |
355 @pyqtSlot() |
330 def on_renameButton_clicked(self): |
356 def on_renameButton_clicked(self): |
331 """ |
357 """ |
332 Private slot to rename a remote repository. |
358 Private slot to rename a remote repository. |
334 remoteName = self.repolist.selectedItems()[0].text(0) |
360 remoteName = self.repolist.selectedItems()[0].text(0) |
335 self.vcs.gitRenameRemote(self.projectDir, remoteName) |
361 self.vcs.gitRenameRemote(self.projectDir, remoteName) |
336 self.on_refreshButton_clicked() |
362 self.on_refreshButton_clicked() |
337 |
363 |
338 @pyqtSlot() |
364 @pyqtSlot() |
339 def on_removeButton_clicked(self): |
365 def on_changeUrlButton_clicked(self): |
340 """ |
366 """ |
341 Private slot to remove a remote repository. |
367 Private slot to change the URL of a remote repository. |
342 """ |
368 """ |
343 remoteName = self.repolist.selectedItems()[0].text(0) |
369 repositoryItem = self.repolist.selectedItems()[0] |
344 self.vcs.gitRemoveRemote(self.projectDir, remoteName) |
370 remoteName = repositoryItem.text(0) |
345 self.on_refreshButton_clicked() |
371 remoteUrl = repositoryItem.text(1) |
346 |
372 self.vcs.gitChangeRemoteUrl(self.projectDir, remoteName, remoteUrl) |
347 @pyqtSlot() |
373 self.on_refreshButton_clicked() |
348 def on_showInfoButton_clicked(self): |
374 |
349 """ |
375 @pyqtSlot() |
350 Private slot to show information about a remote repository. |
376 def on_credentialsButton_clicked(self): |
351 """ |
377 """ |
352 remoteName = self.repolist.selectedItems()[0].text(0) |
378 Private slot to change the credentials of a remote repository. |
353 self.vcs.gitShowRemote(self.projectDir, remoteName) |
379 """ |
354 |
380 repositoryItem = self.repolist.selectedItems()[0] |
355 @pyqtSlot() |
381 remoteName = repositoryItem.text(0) |
356 def on_pruneButton_clicked(self): |
382 remoteUrl = repositoryItem.text(1) |
357 """ |
383 self.vcs.gitChangeRemoteCredentials(self.projectDir, remoteName, |
358 Private slot to prune all stale remote-tracking branches. |
384 remoteUrl) |
359 """ |
385 self.on_refreshButton_clicked() |
360 remoteName = self.repolist.selectedItems()[0].text(0) |
|
361 self.vcs.gitPruneRemote(self.projectDir, remoteName) |
|