~ubuntu-branches/debian/sid/tortoisehg/sid

« back to all changes in this revision

Viewing changes to tortoisehg/hgqt/workbench.py

  • Committer: Package Import Robot
  • Author(s): Ludovico Cavedon
  • Date: 2012-02-20 22:03:12 UTC
  • mfrom: (1.2.8)
  • Revision ID: package-import@ubuntu.com-20120220220312-11yhqpn8suxvwyg4
Tags: 2.3-1
* Imported Upstream version 2.3 (Closes: #660387, #658140).
* Update dependency on Merurual (2.1, 2.2).

Show diffs side-by-side

added added

removed removed

Lines of Context:
300
300
        newaction(_("Load all revisions"), self.loadall,
301
301
                  enabled='repoopen', menu='view', shortcut='Shift+Ctrl+A',
302
302
                  tooltip=_('Load all revisions into graph'))
 
303
        newaction(_("&Goto revision..."), self.gotorev,
 
304
                  enabled='repoopen', menu='view', shortcut='Ctrl+/',
 
305
                  tooltip=_('Go to a specific revision'))
303
306
 
304
307
        newaction(_("Web Server..."), self.serve, enabled='repoopen',
305
308
                  menu='repository')
318
321
                  enabled='repoopen', menu='repository')
319
322
        newseparator(menu='repository')
320
323
        newaction(_("Rollback/Undo..."), self._repofwd('rollback'),
 
324
                  shortcut='Ctrl+u',
321
325
                  enabled='repoopen', menu='repository')
322
326
        newseparator(menu='repository')
323
327
        newaction(_("Purge..."), self._repofwd('purge'), enabled='repoopen',
339
343
                  icon='thg-logo')
340
344
 
341
345
        newseparator(toolbar='edit')
 
346
        self.actionCurrentRev = \
 
347
        newaction(_("Go to current revision"), self._repofwd('gotoParent'), icon='go-home',
 
348
                  enabled=True, toolbar='edit', shortcut='Ctrl+.')
 
349
        self.actionGoTo = \
 
350
        newaction(_("Go to a specific revision"), self.gotorev, icon='go-to-rev',
 
351
                  enabled=True, toolbar='edit')
342
352
        self.actionBack = \
343
353
        newaction(_("Back"), self._repofwd('back'), icon='go-previous',
344
354
                  enabled=False, toolbar='edit')
501
511
                return
502
512
        self._openRepo(root, False)
503
513
 
 
514
    @pyqtSlot(QString, QString)
 
515
    def showClonedRepo(self, root, src=None):
 
516
        """Activate the repo tab or open it on if not available [unicode]
 
517
 
 
518
        This method simply calls showRepo, ignoring the second argument on the received signal
 
519
        """
 
520
        self.showRepo(root)
 
521
 
504
522
    @pyqtSlot(unicode, QString)
505
523
    def setRevsetFilter(self, path, filter):
506
524
        for i in xrange(self.repoTabsWidget.count()):
645
663
        self.log.setRepository(repo)
646
664
        self.mqpatches.setrepo(repo)
647
665
 
648
 
    def addRepoTab(self, repo):
 
666
    def addRepoTab(self, repo, bundle):
649
667
        '''opens the given repo in a new tab'''
650
 
        rw = RepoWidget(repo, self)
 
668
        rw = RepoWidget(repo, self, bundle=bundle)
651
669
        rw.showMessageSignal.connect(self.showMessage)
652
670
        rw.closeSelfSignal.connect(self.repoTabCloseSelf)
653
671
        rw.progress.connect(lambda tp, p, i, u, tl:
684
702
        self.updateMenu()
685
703
 
686
704
 
 
705
 
687
706
    def showMessage(self, msg):
688
707
        self.statusbar.showMessage(msg)
689
708
 
724
743
        if w:
725
744
            w.repoview.model().loadall()
726
745
 
 
746
    def gotorev(self):
 
747
        rev, ok = qtlib.getTextInput(self,
 
748
                                     _("Goto revision"),
 
749
                                     _("Enter revision identifier"))
 
750
        w = self.repoTabsWidget.currentWidget()
 
751
        if ok and w:
 
752
            w.repoview.goto(rev)
 
753
 
727
754
    def newRepository(self):
728
755
        """ Run init dialog """
729
756
        from tortoisehg.hgqt.hginit import InitDialog
749
776
            args = []
750
777
        dlg = CloneDialog(args, parent=self)
751
778
        dlg.finished.connect(dlg.deleteLater)
752
 
        dlg.clonedRepository.connect(self.showRepo)
 
779
        dlg.clonedRepository.connect(self.showClonedRepo)
753
780
        dlg.exec_()
754
781
 
755
782
    def openRepository(self):
766
793
                                       FD.ShowDirsOnly | FD.ReadOnly)
767
794
        self._openRepo(hglib.fromunicode(path), False)
768
795
 
769
 
    def _openRepo(self, root, reuse):
 
796
    def _openRepo(self, root, reuse, bundle=None):
770
797
        if root and not root.startswith('ssh://'):
771
798
            if reuse:
772
799
                for rw in self._findrepowidget(root):
774
801
                    return
775
802
            try:
776
803
                repo = thgrepo.repository(path=root)
777
 
                self.addRepoTab(repo)
 
804
                self.addRepoTab(repo, bundle)
778
805
            except RepoError:
779
806
                upath = hglib.tounicode(root)
780
807
                qtlib.WarningMsgBox(_('Failed to open repository'),
924
951
    w = Workbench()
925
952
    if root:
926
953
        root = hglib.tounicode(root)
927
 
        w.showRepo(root)
 
954
        bundle = opts.get('bundle')
 
955
        if bundle:
 
956
            w._openRepo(root, False, bundle=bundle)
 
957
        else:
 
958
            w.showRepo(root)
 
959
 
928
960
        if pats:
929
961
            q = []
930
962
            for pat in pats: