by
Changes to 23 files · Browse files at 85194acab29a Showing diff from parent 1e3719600bfc 85ad42406750 Diff from another changeset...
@@ -28,3 +28,4 @@ glob:win32/shellext/x64
glob:win32/shellext/shellext.vcproj.*
glob:win32/shellext/Release/
+glob:.DS_Store
|
@@ -20,3 +20,4 @@ ef5ab6bccf5ee5356a0d5f42987f55af0f75330f 0.7.4
a88261eec1f43d37786bfdb492322bddd94dcf8d 0.7.5
525469f83de5473ab3d00fd5111ee91020251e62 0.7.6
+ecf6fc1b0c9fd11e8ffe314c68ee75752371ac5f 0.8
|
@@ -2,3 +2,4 @@ include contrib/_hgtk
include contrib/nautilus-thg.py
include COPYING.txt ReleaseNotes.txt
+recursive-include locale *.mo
|
@@ -12,6 +12,7 @@ # current executable to find our package data.
import os
+import sys
import win32api, win32process
proc = win32api.GetCurrentProcess()
@@ -25,3 +26,10 @@license_path = os.path.join(bin_path, 'COPYING.txt')
locale_path = os.path.join(bin_path, 'locale')
icon_path = os.path.join(bin_path, 'icons')
+
+enc = sys.getfilesystemencoding()
+if enc:
+ bin_path = bin_path.encode(enc)
+ license_path = license_path.encode(enc)
+ locale_path = locale_path.encode(enc)
+ icon_path = icon_path.encode(enc)
|
@@ -379,7 +379,7 @@ self.ui.pushbuffer()
try:
command()
- except util.Abort, inst:
+ except (util.Abort, IOError, OSError), inst:
Prompt(title + _(' Aborted'), str(inst), self).run()
return False, ''
finally:
|
@@ -541,7 +541,7 @@ self.hgthread = hgthread.HgThread(cmdline, parent=self)
self.hgthread.start()
self.stbar.begin()
- self.stbar.set_status_text('hg ' + ' '.join(cmd + [remote_path]))
+ self.stbar.set_status_text('hg ' + ' '.join(cmd))
self.add_src_to_recent(remote_path)
|
@@ -649,7 +649,7 @@ _('Path testing cannot work without a repository'))
return
model, path = selection.get_selected()
- testpath = hglib.fromutf(model[path][1])
+ testpath = hglib.fromutf(model[path][2])
if not testpath:
return
if testpath[0] == '~':
@@ -786,6 +786,7 @@ scrolledwindow = gtk.ScrolledWindow()
scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
scrolledwindow.add(desctext)
+ scrolledwindow.set_border_width(4)
descframe.add(scrolledwindow)
vbox = gtk.VBox()
|
@@ -14,7 +14,7 @@ "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\changeset.py:147
|
@@ -14,7 +14,7 @@ "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\about.py:52
|
|
|
@@ -8,13 +8,13 @@ "Project-Id-Version: tortoisehg\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-06-28 05:54+0000\n"
-"PO-Revision-Date: 2009-06-29 18:59+0000\n"
+"PO-Revision-Date: 2009-06-30 19:53+0000\n"
"Last-Translator: simohe <Unknown>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-30 04:36+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\changeset.py:147
@@ -39,7 +39,7 @@
#: hggtk\hgshelve.py:148
msgid "%d hunks, %d lines changed\n"
-msgstr "%d Brocken, %d Zeilen geändert\n"
+msgstr "%d Blöcke, %d Zeilen geändert\n"
#: hggtk\hgshelve.py:320
msgid " [Ynsfdaq?] "
@@ -55,19 +55,19 @@
#: hggtk\hgshelve.py:361
msgid "shelve this change to %r?"
-msgstr "Diese Änderung zurückstellen auf: %r ?"
+msgstr "Diese Änderung an %r zwischenlagern?"
#: hggtk\hgshelve.py:433
msgid "shelve can only be run interactively"
-msgstr "zurückstellen ist nur inter-aktiv möglich"
+msgstr "Zwischenlagern ist nur interaktiv möglich"
#: hggtk\hgshelve.py:437
msgid "shelve data already exists"
-msgstr "zurückstellungs daten existieren bereits"
+msgstr "Bereits daten zwischengelagert"
#: hggtk\hgshelve.py:468
msgid "no changes to shelve\n"
-msgstr "keine Änderungen zum Zurückstellen\n"
+msgstr "keine Änderungen zum Zwischenlagern\n"
#: hggtk\hgshelve.py:502
msgid "applying patch\n"
@@ -169,6 +169,8 @@#: hggtk\about.py:52
msgid "Several icons are courtesy of the TortoiseSVN project"
msgstr ""
+"Verschiedene Icons wurden freundlicherweise durch das TortoiseSVN-Projekt "
+"zur Verfügung gestellt."
#: hggtk\backout.py:24
msgid "Backout changeset - "
@@ -275,7 +277,7 @@
#: hggtk\changeset.py:197
msgid " %s is larger than the specified max diff size"
-msgstr ""
+msgstr " %s ist grösser als die maximal konfigurierte Vergleich-Grösse"
#: hggtk\changeset.py:292
msgid "_visual diff"
@@ -367,7 +369,7 @@
#: hggtk\clone.py:143
msgid "Remote Cmd:"
-msgstr ""
+msgstr "Entfernter Bef.:"
#: hggtk\clone.py:157 hggtk\thgshelve.py:151
msgid "Cancel"
@@ -415,7 +417,7 @@
#: hggtk\commit.py:37
msgid "Changes take effect on next commit"
-msgstr ""
+msgstr "Änderungen werden bei der nächsten Übernahme aktiv"
#: hggtk\commit.py:38
msgid "No branch changes"
@@ -518,7 +520,7 @@
#: hggtk\commit.py:407
msgid "No committable files selected"
-msgstr ""
+msgstr "Keine gewählte Datei kann übernommen werden"
#: hggtk\commit.py:424 hggtk\commit.py:479 hggtk\merge.py:83
#: hggtk\thgconfig.py:465
@@ -752,7 +754,7 @@
#: hggtk\datamine.py:225
msgid "Regular expression search pattern"
-msgstr ""
+msgstr "Suchmuster (Regulärer Ausdruck)"
#: hggtk\datamine.py:226
msgid ""
@@ -816,7 +818,7 @@
#: hggtk\datamine.py:473
msgid "File is unrevisioned"
-msgstr ""
+msgstr "Datei wird nicht verwaltet"
#: hggtk\datamine.py:474
msgid "Unable to annotate "
@@ -852,11 +854,11 @@
#: hggtk\gdialog.py:399
msgid "No visual diff configured"
-msgstr ""
+msgstr "kein Vergleichswerkzeug konfiguriert"
#: hggtk\gdialog.py:400
msgid "Please select a visual diff application."
-msgstr ""
+msgstr "Bitte konfigurieren Sie ein visuelles Vergleichswerkzeug"
#: hggtk\gdialog.py:459
msgid "making snapshot of %d files from rev %s\n"
@@ -984,7 +986,7 @@
#: hggtk\hgemail.py:64
msgid "Envelope"
-msgstr ""
+msgstr "Umschlag"
#: hggtk\hgemail.py:65 hggtk\taskbarui.py:45
msgid "Options"
@@ -1064,6 +1066,9 @@"from them. This is the safest way to send changes to recipient Mercurial "
"users."
msgstr ""
+"Bündeldateien enthalten ganze Änderungssätze in binärem Format. Ein Import "
+"erfolgt mit herunterladen (pull). Dies ist die sicherste Art um Änderungen "
+"an andere Benutzer von Mercurial zu senden."
#: hggtk\hgemail.py:155
msgid "attach"
@@ -1075,15 +1080,15 @@
#: hggtk\hgemail.py:158
msgid "inline"
-msgstr ""
+msgstr "eingebettet"
#: hggtk\hgemail.py:160
msgid "send patches as inline attachments"
-msgstr ""
+msgstr "Sende Patches als eingebettete Anhänge"
#: hggtk\hgemail.py:161
msgid "diffstat"
-msgstr ""
+msgstr "diffstat"
#: hggtk\hgemail.py:163
msgid "add diffstat output to messages"
@@ -1206,14 +1211,16 @@msgid ""
"total: %d hunks (%d changed lines); selected: %d hunks (%d changed lines)"
msgstr ""
+"Total: %d Blöcke (%d geänderte Zeilen); gewählt: %d Blöcke (%d geänderte "
+"Zeilen)"
#: hggtk\hgshelve.py:294
msgid "unhandled transition: %s -> %s"
-msgstr ""
+msgstr "Unbehandelter Übergang: %s -> %s"
#: hggtk\hgshelve.py:350
msgid "shelve changes to %s?"
-msgstr ""
+msgstr "Änderungen an %s zwischenlagern?"
#: hggtk\hgshelve.py:400
msgid "backup %r as %r\n"
@@ -1221,7 +1228,7 @@
#: hggtk\hgshelve.py:514
msgid "saving patch to shelve\n"
-msgstr ""
+msgstr "Patch zwichenlagern\n"
#: hggtk\hgshelve.py:525 hggtk\hgshelve.py:576
msgid "restoring %r to %r\n"
@@ -1229,7 +1236,7 @@
#: hggtk\hgshelve.py:527
msgid "removing shelve file\n"
-msgstr ""
+msgstr "Datei zum zwischenlagern entfernen\n"
#: hggtk\hgshelve.py:536
msgid "removing backup for %r : %r\n"
@@ -1253,15 +1260,17 @@
#: hggtk\hgshelve.py:589
msgid "unshelve completed\n"
-msgstr ""
+msgstr "entlagern abgeschlossen\n"
#: hggtk\hgshelve.py:591
msgid "nothing to unshelve\n"
-msgstr ""
+msgstr "nichts zum entlagern\n"
#: hggtk\hgshelve.py:597
msgid "mark new/missing files as added/removed before shelving"
msgstr ""
+"Vor dem zwischenlagern neue und fehlende Dateien als hinzugefügt, respektive "
+"entfernt, markieren"
#: hggtk\hgshelve.py:599
msgid "overwrite existing shelve data"
@@ -1269,7 +1278,7 @@
#: hggtk\hgshelve.py:601
msgid "append to existing shelve data"
-msgstr "an existierende zurückgestellte Daten anhängen"
+msgstr "an vorhandene zurückgestellte Daten anhängen"
#: hggtk\hgshelve.py:603
msgid "hg shelve [OPTION]... [FILE]..."
@@ -1277,11 +1286,11 @@
#: hggtk\hgshelve.py:606
msgid "inspect shelved changes only"
-msgstr "Zurückgestellte Änderungen nur ansehen"
+msgstr "Zwischengelagerte Änderungen nur ansehen"
#: hggtk\hgshelve.py:608
msgid "proceed even if patches do not unshelve cleanly"
-msgstr ""
+msgstr "Fortfahren auch wenn Patches nicht korrekt entlagert werden konnten"
#: hggtk\hgthread.py:176
msgid "[command returned code %d]\n"
@@ -1550,7 +1559,7 @@
#: hggtk\hgtk.py:636
msgid "revisions to view in diff tool"
-msgstr ""
+msgstr "Revisionen, die mit dem Vergleichswerkzeug angezeigt werden"
#: hggtk\hgtk.py:637
msgid "launch visual diff tool"
@@ -1594,7 +1603,7 @@
#: hggtk\history.py:64
msgid "_DataMine"
-msgstr ""
+msgstr "_DataMine"
#: hggtk\history.py:66
msgid "Search Repository History"
@@ -1786,7 +1795,7 @@
#: hggtk\logfilter.py:31
msgid "Log Filter - %s"
-msgstr ""
+msgstr "Log Filter - %s"
#: hggtk\logfilter.py:46 hggtk\logview\treeview.py:398
msgid "Branch"
@@ -1810,7 +1819,7 @@
#: hggtk\logfilter.py:82
msgid "Search repository changelog with criteria"
-msgstr ""
+msgstr "Historie des Projektverzeichnisses mit Kriterien durchsuchen"
#: hggtk\logfilter.py:94
msgid "File(s):"
@@ -1857,7 +1866,7 @@
#: hggtk\logview\treeview.py:357
msgid "Graph"
-msgstr ""
+msgstr "Graph"
#: hggtk\logview\treeview.py:385
msgid "ID"
@@ -1926,7 +1935,7 @@
#: hggtk\recovery.py:47
msgid "Clean"
-msgstr ""
+msgstr "Bereinigen"
#: hggtk\recovery.py:49
msgid "Clean checkout, undo all changes"
@@ -1934,11 +1943,11 @@
#: hggtk\recovery.py:52
msgid "Rollback"
-msgstr ""
+msgstr "Zurückrollen"
#: hggtk\recovery.py:54
msgid "Rollback (undo) last transaction to repository (pull, commit, etc)"
-msgstr ""
+msgstr "Letzte Übermittlung zum Projektverzeichnis zurückrollen"
#: hggtk\recovery.py:58
msgid "Recover"
@@ -1954,7 +1963,7 @@
#: hggtk\recovery.py:65
msgid "Validate repository consistency"
-msgstr ""
+msgstr "Überprüft das Projektarchiv auf Korrektheit"
#: hggtk\recovery.py:99 hggtk\synch.py:367
msgid "Cannot close now"
@@ -1978,11 +1987,11 @@
#: hggtk\recovery.py:137
msgid "Confirm rollback repository"
-msgstr ""
+msgstr "Zurückrollen bestätigen"
#: hggtk\recovery.py:138
msgid "Rollback repository '%s' ?"
-msgstr ""
+msgstr "Projektverzeichnis '%s' zurückrollen?"
#: hggtk\recovery.py:159 hggtk\synch.py:507
msgid "Cannot run now"
@@ -2278,7 +2287,7 @@
#: hggtk\status.py:911
msgid "Hunk selection is disabled for this file.\n"
-msgstr ""
+msgstr "Die Auswahl von Blöcken ist in dieser Datei nicht möglich.\n"
#: hggtk\status.py:1081 hggtk\status.py:1102
msgid "Nothing Reverted"
@@ -2424,11 +2433,11 @@
#: hggtk\synch.py:106
msgid "Repo:"
-msgstr ""
+msgstr "Proj.arch.:"
#: hggtk\synch.py:111
msgid "Bundle:"
-msgstr ""
+msgstr "Bündel:"
#: hggtk\synch.py:155
msgid "Post pull operation"
@@ -2709,15 +2718,16 @@
#: hggtk\thgconfig.py:34
msgid "Visual Diff Command"
-msgstr ""
+msgstr "Befehl zum visuellen Vergleichen"
#: hggtk\thgconfig.py:35
msgid "Specify visual diff tool; must be an extdiff command"
msgstr ""
+"Visuelles Vergleichswerkzeug angeben; muss ein Befehl von extiff sein"
#: hggtk\thgconfig.py:36
msgid "Skip Diff Window"
-msgstr ""
+msgstr "Vergleichsfenster überspringen"
#: hggtk\thgconfig.py:37
msgid ""
@@ -2725,6 +2735,11 @@"tool's directory diff feature. Only enable this feature if you know your "
"diff tool has a valid extdiff configuration. Default: False"
msgstr ""
+"Überspringe den eingebauten visuellen Vergleichsdialog und benutze direkt "
+"die Möglichkeit des Vergleichswerkzeugs um Verzeichnisse zu vergleichen. "
+"Schalten Sie diese Option nur ein, wenn sie wissen, dass ihr "
+"Vergleichswerkzeug eine gültige Konfiguration für extdiff hat. "
+"Voreinstellung: False"
#: hggtk\thgconfig.py:41
msgid "Visual Editor"
@@ -2866,7 +2881,7 @@
#: hggtk\thgconfig.py:89
msgid "Log Batch Size"
-msgstr ""
+msgstr "Log-Stapel-Grösse"
#: hggtk\thgconfig.py:90
msgid ""
@@ -2883,6 +2898,8 @@"Allow the changelog viewer to copy the changeset hash of the currently "
"selected changeset into the clipboard. Default: False"
msgstr ""
+"Die Historieanzeige kopiert den Hash vom ausgewählten Änderungssatz in die "
+"Zwischenablage. Voreinstellung: False"
#: hggtk\thgconfig.py:99
msgid "After pull operation"
@@ -2947,7 +2964,7 @@
#: hggtk\thgconfig.py:121
msgid "Port to listen on"
-msgstr ""
+msgstr "Port auf dem gehorcht werden soll"
#: hggtk\thgconfig.py:121 hggtk\thgconfig.py:231
msgid "Port"
@@ -2992,6 +3009,7 @@#: hggtk\thgconfig.py:131
msgid "Maximum number of changes to list on the changelog."
msgstr ""
+"Maximale Anzahl Änderungssätze, die in der Historieanzeige angezeigt werden"
#: hggtk\thgconfig.py:132
msgid "Allow Push"
@@ -3037,7 +3055,7 @@
#: hggtk\thgconfig.py:151 hggtk\thgconfig.py:232
msgid "Host"
-msgstr ""
+msgstr "Rechner"
#: hggtk\thgconfig.py:152
msgid ""
@@ -3092,7 +3110,7 @@
#: hggtk\thgconfig.py:170
msgid "Comma-separated list of carbon copy recipient email addresses"
-msgstr ""
+msgstr "Kommagetrennte Liste der Empfänger von Kopien"
#: hggtk\thgconfig.py:172
msgid "Bcc"
@@ -3100,7 +3118,7 @@
#: hggtk\thgconfig.py:173
msgid "Comma-separated list of blind carbon copy recipient email addresses"
-msgstr ""
+msgstr "Kommagetrennte Liste der Empfänger von Blindkopien"
#: hggtk\thgconfig.py:175
msgid "method"
@@ -3172,6 +3190,8 @@#: hggtk\thgconfig.py:193
msgid "Hostname the sender can use to identify itself to the mail server."
msgstr ""
+"Rechnernamen, den der Computer verwende kann, um sich beim Mailserver zu "
+"identifizieren."
#: hggtk\thgconfig.py:196
msgid "Git Format"
@@ -3180,6 +3200,8 @@#: hggtk\thgconfig.py:197
msgid "Use git extended diff header format. Default: False"
msgstr ""
+"Nutze das erweiterte (git) Format in den Kopfdaten von Vergleichen. "
+"Voreinstellung: False"
#: hggtk\thgconfig.py:199
msgid "No Dates"
@@ -3212,7 +3234,7 @@
#: hggtk\thgconfig.py:208
msgid "Ignore WS Amount"
-msgstr ""
+msgstr "ign. Leeränderungen"
#: hggtk\thgconfig.py:209
msgid "Ignore changes in the amount of white space. Default: False"
@@ -3274,7 +3296,7 @@
#: hggtk\thgconfig.py:471
msgid "Sync"
-msgstr ""
+msgstr "Synch."
#: hggtk\thgconfig.py:475
msgid "Web"
@@ -3286,7 +3308,7 @@
#: hggtk\thgconfig.py:484
msgid "Diff"
-msgstr ""
+msgstr "Vergleich"
#: hggtk\thgconfig.py:497
msgid "Unapplied changes"
@@ -3363,7 +3385,7 @@#: hggtk\thgshelve.py:71 hggtk\thgshelve.py:133 hggtk\thgshelve.py:139
#: hggtk\thgshelve.py:147
msgid "Shelve"
-msgstr ""
+msgstr "Zwischenlagern"
#: hggtk\thgshelve.py:72
msgid "set aside selected changes"
@@ -3371,28 +3393,28 @@
#: hggtk\thgshelve.py:73
msgid "Unshelve"
-msgstr ""
+msgstr "Entlagern"
#: hggtk\thgshelve.py:74
msgid "restore shelved changes"
-msgstr ""
+msgstr "zwischengelagerte Änderungen wiederherstellen"
#: hggtk\thgshelve.py:97 hggtk\thgshelve.py:98 hggtk\thgshelve.py:99
#: hggtk\thgshelve.py:102
msgid "_shelve"
-msgstr ""
+msgstr "_zwischenlagern"
#: hggtk\thgshelve.py:134
msgid "No changes to shelve"
-msgstr ""
+msgstr "Keine Änderungen zum zwischenlagern"
#: hggtk\thgshelve.py:140
msgid "Please select diff chunks to shelve"
-msgstr ""
+msgstr "Bitte wählen Sie die Blöcke, die zwischengelagert werden sollen"
#: hggtk\thgshelve.py:148
msgid "<b>Shelve file exists!</b>"
-msgstr "<b>Shelve-Datei existiert!</b>"
+msgstr "<b>Zwischanlager-Datei (shelve) existiert!>/b>"
#: hggtk\thgshelve.py:149
msgid "Overwrite"
@@ -3420,7 +3442,7 @@
#: hggtk\visdiff.py:61
msgid "Visual Diffs"
-msgstr ""
+msgstr "Visuelle Vergleiche"
#: hggtk\visdiff.py:64
msgid "Temporary files are removed when this dialog is closed"
@@ -3429,7 +3451,7 @@
#: hggtk\visdiff.py:82
msgid "Always launch single files"
-msgstr ""
+msgstr "Einzelne Dateien direkt öffnen"
#: hggtk\visdiff.py:108
msgid "No repository"
@@ -3441,15 +3463,15 @@
#: hggtk\visdiff.py:116
msgid "Select diff tool"
-msgstr ""
+msgstr "Vergleichswerkzeug wählen"
#: hggtk\visdiff.py:135
msgid "No visual diff tool"
-msgstr ""
+msgstr "kein Vergleichswerkzeug"
#: hggtk\visdiff.py:136
msgid "No visual diff tool has been configured"
-msgstr ""
+msgstr "Es ist kein visuelles Vergleichswerkzeug konfiguriert"
#: hggtk\visdiff.py:155
msgid "changeset "
@@ -3461,11 +3483,11 @@
#: hggtk\visdiff.py:162
msgid "working changes"
-msgstr ""
+msgstr "aktuelle Ändrungen"
#: hggtk\visdiff.py:165
msgid "Visual Diffs - "
-msgstr ""
+msgstr "visuelle Vergleiche - "
#: hggtk\visdiff.py:173
msgid "No file changes"
@@ -3477,15 +3499,15 @@
#: hggtk\visdiff.py:242
msgid "Tool launch failure"
-msgstr ""
+msgstr "Werkzeug konnte nicht gestartet werden"
#: hggtk\visdiff.py:243
msgid "%s : %s"
-msgstr ""
+msgstr "%s : %s"
#: thgutil\menuthg.py:168 thgutil\menuthg.py:303
msgid "Create Clone"
-msgstr ""
+msgstr "Klon erstellen"
#: thgutil\menuthg.py:169
msgid "Create clone here from source"
@@ -3549,19 +3571,19 @@
#: thgutil\menuthg.py:238
msgid "Shelve Changes"
-msgstr ""
+msgstr "Änderungen zwischenlagern"
#: thgutil\menuthg.py:239
msgid "Shelve or unshelve repository changes"
-msgstr ""
+msgstr "Änderungen vom Projektverzeichnis zwischenlagern oder entlagern"
#: thgutil\menuthg.py:245
msgid "Visual Diff"
-msgstr ""
+msgstr "Vergleichen"
#: thgutil\menuthg.py:246
msgid "View changes using GUI diff tool"
-msgstr ""
+msgstr "Änderungen mit visuellem Vergleichswerkzeug anzeigen"
#: thgutil\menuthg.py:250
msgid "Guess Renames"
@@ -3613,7 +3635,7 @@
#: thgutil\menuthg.py:280
msgid "View Changelog"
-msgstr ""
+msgstr "Historie anzeigen"
#: thgutil\menuthg.py:281
msgid "View revision history"
|
@@ -14,7 +14,7 @@ "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\about.py:52
|
@@ -8,13 +8,13 @@ "Project-Id-Version: tortoisehg\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-06-28 05:54+0000\n"
-"PO-Revision-Date: 2009-05-23 11:04+0000\n"
-"Last-Translator: Yoan Blanc <Unknown>\n"
+"PO-Revision-Date: 2009-06-29 15:37+0000\n"
+"Last-Translator: simohe <Unknown>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\about.py:52
|
@@ -14,7 +14,7 @@ "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\about.py:52
|
@@ -14,7 +14,7 @@ "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\about.py:52
|
@@ -14,7 +14,7 @@ "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\hgthread.py:84
|
@@ -14,7 +14,7 @@ "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\about.py:52
|
@@ -14,7 +14,7 @@ "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\about.py:52
|
@@ -8,13 +8,13 @@ "Project-Id-Version: tortoisehg\n"
"Report-Msgid-Bugs-To: Alil Adamov <diagiman@gmail.com>\n"
"POT-Creation-Date: 2009-06-28 05:54+0000\n"
-"PO-Revision-Date: 2009-06-27 05:23+0000\n"
+"PO-Revision-Date: 2009-07-01 10:03+0000\n"
"Last-Translator: Alil Adamov <diagiman@gmail.com>\n"
"Language-Team: Russian <ru@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\about.py:52
@@ -81,7 +81,7 @@
#: hggtk\bugreport.py:23
msgid "TortoiseHg Bug Report"
-msgstr "TortoiseHg Отчет Об Ошибке"
+msgstr "Отчет об ошибке TortoiseHg"
#: hggtk\bugreport.py:48
msgid ""
@@ -102,7 +102,7 @@
#: hggtk\changeset.py:104
msgid "[All Files]"
-msgstr "[Все Файлы]"
+msgstr "[Все файлы]"
#: hggtk\changeset.py:147
msgid "changeset:"
@@ -130,7 +130,7 @@
#: hggtk\changeset.py:197
msgid " %s is larger than the specified max diff size"
-msgstr " %s больше, чем указанный максимальный размер файла различий"
+msgstr " %s превышает указанный максимальный размер файла различий"
#: hggtk\changeset.py:292
msgid "_visual diff"
@@ -178,7 +178,7 @@
#: hggtk\changeset.py:548
msgid "Revert %s to contents at revision %d?"
-msgstr "Возвратить содержимое %s к ревизии %d?"
+msgstr "Вернуть содержимое %s к ревизии %d?"
#: hggtk\changeset.py:560 hggtk\synch.py:635
msgid "Toggle _Wordwrap"
|
@@ -14,7 +14,7 @@ "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\about.py:52
|
@@ -14,7 +14,7 @@ "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2009-06-29 04:32+0000\n"
+"X-Launchpad-Export-Date: 2009-07-01 19:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: hggtk\gdialog.py:492
|
|
|
|
@@ -0,0 +1,190 @@ + <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16"
+ height="16"
+ id="svg2183"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ version="1.0"
+ sodipodi:docbase="D:\Development\SVN\TortoiseSVN\src\Resources\svg\Overlays"
+ sodipodi:docname="refresh_overlays.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="E:\src\mercurial\thg\thg-icons\icons\tortoise\refresh_overlays.ico.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs2185">
+ <linearGradient
+ id="linearGradient3608">
+ <stop
+ id="stop3610"
+ offset="0"
+ style="stop-color:#2c7cbf;stop-opacity:0" />
+ <stop
+ id="stop3612"
+ offset="1"
+ style="stop-color:#173561;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3592">
+ <stop
+ style="stop-color:#2c7cbf;stop-opacity:1;"
+ offset="0"
+ id="stop3594" />
+ <stop
+ style="stop-color:#173561;stop-opacity:1;"
+ offset="1"
+ id="stop3596" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 128 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="256 : 128 : 1"
+ inkscape:persp3d-origin="128 : 85.333333 : 1"
+ id="perspective2780" />
+ <linearGradient
+ id="linearGradient4154">
+ <stop
+ style="stop-color:#20f500;stop-opacity:0.56470591;"
+ offset="0"
+ id="stop4156" />
+ <stop
+ style="stop-color:#207e00;stop-opacity:1;"
+ offset="1"
+ id="stop4158" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4154"
+ id="radialGradient2814"
+ gradientUnits="userSpaceOnUse"
+ cx="47.119026"
+ cy="208.49529"
+ fx="47.119026"
+ fy="208.49529"
+ r="47.490459" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3592"
+ id="linearGradient3598"
+ x1="3"
+ y1="2"
+ x2="13"
+ y2="14"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3592"
+ id="linearGradient3616"
+ x1="4"
+ y1="1"
+ x2="8"
+ y2="3"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="38.125"
+ inkscape:cx="8"
+ inkscape:cy="8.0862674"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ width="256px"
+ height="256px"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:window-width="1058"
+ inkscape:window-height="809"
+ inkscape:window-x="334"
+ inkscape:window-y="32"
+ inkscape:snap-bbox="true"
+ gridtolerance="21">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2782"
+ visible="true"
+ enabled="true"
+ spacingx="0.5px"
+ spacingy="0.5px"
+ empspacing="2" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata2188">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Refresh Overlay Icons</dc:title>
+ <dc:date>2009-05-31</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Peer Sommerlund</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:description>TortoiseHg menu icon for refreshing overlay icons</dc:description>
+ <cc:license
+ rdf:resource="" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g2810"
+ transform="translate(2.9687137,-2.9698314)">
+ <path
+ transform="matrix(0.1064046,0,0,0.1064046,1.7606244e-2,-11.215025)"
+ d="M 94.109486,208.49529 A 46.990459,46.990459 0 1 1 0.12856674,208.49529 A 46.990459,46.990459 0 1 1 94.109486,208.49529 z"
+ sodipodi:ry="46.990459"
+ sodipodi:rx="46.990459"
+ sodipodi:cy="208.49529"
+ sodipodi:cx="47.119026"
+ id="path3183"
+ style="fill:url(#radialGradient2814);fill-opacity:1;stroke:none;stroke-opacity:0.76394851"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path4164"
+ d="M 1.5640694,11.714511 L 0.91706738,12.484433 C 1.5304267,13.567543 2.0001634,14.263755 3.2721548,15.005818 C 5.5252665,13.185393 7.136925,10.367866 8.4611106,7.7818781 C 7.6319875,7.8904219 5.4428114,11.474402 3.1427545,13.094874 C 2.7117009,13.470142 1.9030483,12.586926 1.5640694,11.714511 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.10192677px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3598);stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.11828219999999990;stroke-opacity:1"
+ id="path2816"
+ sodipodi:cx="8"
+ sodipodi:cy="8"
+ sodipodi:rx="7"
+ sodipodi:ry="7"
+ d="M 10.36215,1.4105957 A 7,7 0 1 1 6.416358,1.1814901"
+ sodipodi:start="5.0565956"
+ sodipodi:end="10.767364"
+ sodipodi:open="true" />
+ <path
+ style="fill:#729fcf;fill-rule:evenodd;stroke:url(#linearGradient3616);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 4,1 C 6,1 6,1 7,1 C 6,2 6,2 5,3"
+ id="path3588"
+ sodipodi:nodetypes="ccc" />
+ </g>
+</svg>
|
|
@@ -64,7 +64,7 @@ "general.ico", 0},
{"thgstatus", "Update Icons",
"Update icons for this repository",
- "menumerge.ico", 0},
+ "refresh_overlays.ico", 0},
{"userconf", "Global Settings",
"Configure user wide settings",
"settings_user.ico", 0},
@@ -456,35 +456,59 @@ UINT_PTR idCmd, UINT uFlags, UINT FAR *reserved,
LPSTR pszName, UINT cchMax)
{
- *pszName = 0;
- char *psz;
+ const char *psz = "";
TDEBUG_TRACE(
"CShellExt::GetCommandString: idCmd = " << idCmd
<< ", uFlags = " << uFlags
);
+
MenuIdCmdMap::iterator iter = MenuIdMap.find(static_cast<UINT>(idCmd));
if (iter != MenuIdMap.end())
{
TDEBUG_TRACE(
"CShellExt::GetCommandString: name = " << iter->second.name);
- psz = (char*)iter->second.helpText.c_str();
+ psz = iter->second.helpText.c_str();
}
else
{
TDEBUG_TRACE(
"CShellExt::GetCommandString: can't find idCmd " << idCmd);
- psz = "";
}
+ bool copied = false;
+ size_t size = 0;
+
if (uFlags & GCS_UNICODE)
{
- wcscpy((wchar_t*)pszName, _WCSTR(psz));
+ wchar_t* const dest = reinterpret_cast<wchar_t*>(pszName);
+ *dest = 0;
+ const wchar_t* const src = _WCSTR(psz);
+ size = wcslen(src);
+ if (size < cchMax)
+ {
+ wcscpy(dest, src);
+ copied = true;
+ }
}
else
{
- strcpy((char*)pszName, psz);
+ *pszName = 0;
+ size = strlen(psz);
+ if (size < cchMax)
+ {
+ strcpy(pszName, psz);
+ copied = true;
+ }
}
+
+ if (!copied)
+ {
+ TDEBUG_TRACE(
+ "CShellExt::GetCommandString: error: source string length ("
+ << size << ") exceeds target buffer size (" << cchMax << ")");
+ }
+
return NOERROR;
}
@@ -584,17 +608,24 @@ cwd = IsDirectory(myFiles[0])? myFiles[0] : DirName(myFiles[0]);
const std::string tempfile = GetTemporaryFile();
- SECURITY_ATTRIBUTES sa;
- memset(&sa, 0, sizeof(sa));
- sa.nLength = sizeof(sa);
- sa.bInheritHandle = TRUE;
+ if (tempfile.empty())
+ {
+ TDEBUG_TRACE("DoHgtk: error: GetTemporaryFile returned empty string");
+ return;
+ }
TDEBUG_TRACE("DoHgtk: temp file = " << tempfile);
HANDLE tempfileHandle = CreateFileA(
tempfile.c_str(), GENERIC_WRITE,
- FILE_SHARE_READ, &sa, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0
+ FILE_SHARE_READ, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0
);
+ if (tempfileHandle == INVALID_HANDLE_VALUE)
+ {
+ TDEBUG_TRACE("DoHgtk: error: failed to create file " << tempfile);
+ return;
+ }
+
typedef std::vector<std::string>::size_type ST;
for (ST i = 0; i < myFiles.size(); i++)
{
|
Loading...