Commits

Steve Borho committed 108a8dd Merge

Merge with stable

  • Participants
  • Parent commits cf352c5, e3d3048

Comments (0)

Files changed (9)

doc/ReadMe-nl.txt

+TortoiseHg Documentatie
+
+Om deze documentatie aan te maken moet Sphinx geďnstalleerd zijn.  Voor Ubuntu
+is dit het python-sphinx pakket.  Voor Windows maakt u de beste kans met
+easy_install of pip.  Om een build te doen zonder waarschuwingen heeft u
+Sphinx 0.6 of later nodig.
+
+Om PDF bestanden te maken heeft u LaTeX pakketten nodig.  Voor Ubuntu zijn dat
+texlive-latex-extra, texlive-fonts-recommended en al hun afhankelijkheden.  Voor
+Windows is de beste keuze MiKTeX.
+
+Eens alle voorwaarden voldaan zijn kunt u de makefile gebruiken om doelen te
+maken: 'make html htmlhelp latex'.
+
+Eens 'latex' aangemaakt is gaat u met cd naar de resultaatmap om 'make all-pdf'
+te laten lopen om de eigenlijke PDF bestanden te maken.
+
+Eens 'htmlhelp' gemaakt is kunt u de eigenlijke HTML Help Compiler laten lopen
+op een Windows machine.
+
+Als u geen make programma hebt voor Windows kunt u build.bat gebruiken.  Als
+de HTML Help Compiler en MiKTeX geďnstalleerd zijn kunt u het CHM bestand
+('build chm') en het PDF bestand ('build pdf') rechtstreeks genereren.
+
+Hacking in de broncode
+======================
+
+Volg aub onderstaande regels als u de bronbestanden van de documentatie gaat
+aanpassen.
+
+- Zoals voorgesteld door Sphinx (zie http://sphinx.pocoo.org/rest.html#sections) gebruik:
+
+  ***************
+  Hoofdstuk titel
+  ***************
+
+  Sectie titel
+  ============
+
+  Subsectie titel
+  ---------------
+
+  Subsubsectie titel
+  ^^^^^^^^^^^^^^^^^^
+
+- Om een toets of toetscombinatie aan te geven gebruik :kbd:, bijvoorbeeld:
+
+  :kbd:`Ctrl-A`
+
+- Om een veldnaam of knop aan te geven, of eender wat in de
+gebruikersinterfaces verschijnt, gebruik :guilabel:, bijvoorbeeld:
+
+  :guilabel:`Commit`
+
+- Om een menukeuze aan te geven gebruik :menuselection: en -->, bijvoorbeeld:
+
+  :menuselection:`Bestand --> Instellingen...`
+
+- Om een bestand aan te geven gebruik :file:, bijvoorbeeld:
+
+  :file:`.hg/hgrc`
+
+- Om een opdracht aan te geven om in het opdrachtvenster in te voeren gebruik
+:command:, bijvoorbeeld:
+
+  :command:`thg log`
+
+- Om een tekst aan te geven om in te geven in een tekstveld in de GUI gebruik ``, bijvoorbeeld:
+
+  ``myproxy:8000``

tortoisehg/hgqt/commit.py

                 self.commit.stwidget.refthread.wait()
                 QTimer.singleShot(0, self.reject)
 
+    def promptExit(self):
+        exit = self.commit.canExit()
+        if not exit:
+            exit = qtlib.QuestionMsgBox(_('TortoiseHg Commit'),
+                _('Are you sure that you want to cancel the commit operation?'),
+                parent=self)
+        if exit:
+            s = QSettings()
+            s.setValue('commit/geom', self.saveGeometry())
+            self.commit.saveSettings(s, 'committool')
+        return exit
+    
     def accept(self):
         self.commit.commit()
 
     def reject(self):
-        if self.commit.canExit():
-            s = QSettings()
-            s.setValue('commit/geom', self.saveGeometry())
-            self.commit.saveSettings(s, 'committool')
+        if self.promptExit():
             QDialog.reject(self)
 
+    def closeEvent(self, event):
+        if not self.promptExit():
+            event.ignore()
+
 def run(ui, *pats, **opts):
     from tortoisehg.util import paths
     from tortoisehg.hgqt import thgrepo

tortoisehg/hgqt/compress.py

         self.resize(0, 340)
         self.setWindowTitle(_('Compress - %s') % repo.displayname)
 
+        self.restoreSettings()
+
     def checkStatus(self):
         repo = self.repo
         class CheckThread(QThread):
         self.cancelbtn.setShown(False)
         uc = ['update', '--repository', self.repo.root, '--clean', '--rev',
               str(self.revs[1])]
-        rc = ['revert', '--repository', self.repo.root, '--all', '--rev', 
+        rc = ['revert', '--repository', self.repo.root, '--all', '--rev',
               str(self.revs[0])]
         self.repo.incrementBusyCount()
         self.cmd.run(uc, rc)
             self.runner.commandFinished.connect(finished)
             self.repo.incrementBusyCount()
             self.runner.run(cmdline)
+
+    def storeSettings(self):
+        s = QSettings()
+        s.setValue('compress/geometry', self.saveGeometry())
+
+    def restoreSettings(self):
+        s = QSettings()
+        self.restoreGeometry(s.value('compress/geometry').toByteArray())
+
+    def accept(self):
+        self.storeSettings()
+        super(CompressDialog, self).accept()
+
+    def reject(self):
+        self.storeSettings()
+        super(CompressDialog, self).reject()

tortoisehg/hgqt/manifestdialog.py

             actionlist = ['opensubrepo', 'explore', 'terminal']
         else:
             contextmenu = self.filecontextmenu
-            actionlist = ['diff', 'ldiff', 'edit', 'save', 'ledit', 'revert',
-                        'navigate', 'diffnavigate']
+            actionlist = ['diff', 'ldiff', None, 'edit', 'save', 'ledit', None,
+                        'revert', None, 'navigate', 'diffnavigate']
 
         if not contextmenu:
             contextmenu = QMenu(self)

tortoisehg/hgqt/pbranch.py

     TODO: Should be extended to list all branches
     """
     _columns = ['Graph', 'Name', 'Status', 'Title', 'Message',]
+    _headers = (_('Graph'), _('Name'), _('Status'), _('Title'), _('Message'))
 
     def __init__(self, model, wd_branch="", parent=None):
         QAbstractTableModel.__init__(self, parent)
     def headerData(self, section, orientation, role):
         if orientation == Qt.Horizontal:
             if role == Qt.DisplayRole:
-                return QVariant(self._columns[section])
+                return QVariant(self._headers[section])
             if role == Qt.TextAlignmentRole:
                 return QVariant(Qt.AlignLeft)
         return nullvariant

tortoisehg/hgqt/repomodel.py

             self.reloadConfig()
             self.updateColumns()
             self.setBranch(branch)
-    
+
     def initBranchColors(self):
         # Set all the branch colors once on a fixed order,
         # which should make the branch colors more stable
-        
+
         # Always assign the first color to the default branch
         self.namedbranch_color('default')
         # Then assign colors to all branches in alphabetical order

tortoisehg/hgqt/revdetails.py

             else:
                 self.filecontextmenu = contextmenu
 
-        if len(self.filelist.getSelectedFiles()) > 1 and not itemissubrepo:
+        ln = len(self.filelist.getSelectedFiles())
+        if ln == 0:
+            return
+        if ln > 1 and not itemissubrepo:
             singlefileactions = False
         else:
             singlefileactions = True

tortoisehg/hgqt/shellconf.py

         cmenuwidget = QWidget()
         grid = QGridLayout()
         cmenuwidget.setLayout(grid)
-        tw.addTab(cmenuwidget, _("Contex Menu"))
+        tw.addTab(cmenuwidget, _("Context Menu"))
 
         w = QLabel(_("Top menu items:"))
         grid.addWidget(w, 0, 0)

tortoisehg/hgqt/thgrepo.py

         raise error.RepoError('%s is not a valid repository' % path)
     return _repocache[path]
 
+class _LockStillHeld(Exception):
+    'Raised to abort status check due to lock existence'
+
 class ThgRepoWrapper(QObject):
 
     configChanged = pyqtSignal()
         if self.locked():
             dbgoutput('locked, aborting')
             return
-        if self._checkdirstate():
-            dbgoutput('dirstate changed, exiting')
-            return
-        self._checkrepotime()
-        self._checkuimtime()
+        try:
+            if self._checkdirstate():
+                dbgoutput('dirstate changed, exiting')
+                return
+            self._checkrepotime()
+            self._checkuimtime()
+        except _LockStillHeld:
+            dbgoutput('lock still held - ignoring for now')
 
     def locked(self):
         if os.path.lexists(self.repo.join('wlock')):
         if self._repomtime < self._getrepomtime():
             dbgoutput('detected repository change')
             if self.locked():
-                dbgoutput('lock still held - ignoring for now')
-                return
+                raise _LockStillHeld
             self.recordState()
             self.repo.thginvalidate()
             self.repositoryChanged.emit()
             return False
         if mtime <= self._dirstatemtime:
             return False
+        changed = self._checkparentchanges() or self._checkbranch()
         self._dirstatemtime = mtime
+        return changed
+
+    def _checkparentchanges(self):
         nodes = self._getrawparents()
         if nodes != self._parentnodes:
             dbgoutput('dirstate change found')
             if self.locked():
-                dbgoutput('lock still held - ignoring for now')
-                return True
+                raise _LockStillHeld
             self.recordState()
             self.repo.thginvalidate()
             self.repositoryChanged.emit()
             return True
+        return False
+
+    def _checkbranch(self):
         try:
             mtime = os.path.getmtime(self.repo.join('branch'))
         except EnvironmentError:
             return False
         if mtime <= self._branchmtime:
             return False
+        changed = self._checkbranchcontent()
         self._branchmtime = mtime
+        return changed
+
+    def _checkbranchcontent(self):
         try:
             newbranch = self.repo.opener('branch').read()
         except EnvironmentError:
         if newbranch != self._rawbranch:
             dbgoutput('branch time change')
             if self.locked():
-                dbgoutput('lock still held - ignoring for now')
-                return True
+                raise _LockStillHeld
             self._rawbranch = newbranch
             self.repo.thginvalidate()
             self.workingBranchChanged.emit()