Changeset 64b10915546a…
Parent 73d01df955ba…
by
Changes to 13 files · Browse files at 64b10915546a Showing diff from parent 73d01df955ba Diff from another changeset...
@@ -4,15 +4,11 @@ # Copyright (C) 2007 TK Soh <teekaysoh@gmail.com>
#
-try:
- import pygtk
- pygtk.require("2.0")
-except:
- pass
-
-import sys
+import pygtk
+pygtk.require("2.0")
import gtk
import Queue
+import sys
from dialog import question_dialog, error_dialog
from mercurial import util
from mercurial.i18n import _
@@ -72,13 +68,13 @@ self._hbox.pack_start(self._button_box, False, False, 10)
# add navigation controls
- self._btn_goto_tip = gtk.Button("Tip")
+ self._btn_goto_tip = gtk.Button(_('Tip'))
self._button_box.pack_start(self._btn_goto_tip, False, False)
- self._btn_goto_prev = gtk.Button("Prev")
+ self._btn_goto_prev = gtk.Button(_('Prev'))
self._button_box.pack_start(self._btn_goto_prev, False, False)
- self._btn_goto_next = gtk.Button("Next")
+ self._btn_goto_next = gtk.Button(_('Next'))
self._button_box.pack_start(self._btn_goto_next, False, False)
- self._btn_goto_first = gtk.Button("(0)")
+ self._btn_goto_first = gtk.Button('(0)')
self._button_box.pack_start(self._btn_goto_first, False, False)
self._btn_goto_tip.connect('clicked', self._on_goto_clicked, 'tip')
@@ -98,7 +94,7 @@ def _create_treestore(self):
""" create history display """
self.model = gtk.TreeStore(str, str)
- self.treeview.connect("cursor-changed", self._cursor_changed)
+ self.treeview.connect('cursor-changed', self._cursor_changed)
#self.treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
self.treeview.set_headers_visible(False)
self.treeview.set_model(self.model)
@@ -107,12 +103,12 @@
column = gtk.TreeViewColumn()
column.pack_start(cell, expand=True)
- column.add_attribute(cell, "text", 0)
+ column.add_attribute(cell, 'text', 0)
self.treeview.append_column(column)
column = gtk.TreeViewColumn()
column.pack_start(cell, expand=True)
- column.add_attribute(cell, "text", 1)
+ column.add_attribute(cell, 'text', 1)
self.treeview.append_column(column)
def _cursor_changed(self, tv):
@@ -183,12 +179,13 @@ while q.qsize(): out += q.get(0)
self.hgout = out
except util.Abort, inst:
- error_dialog(self, "Error in %s command" % cmd, "abort: %s" % inst)
+ error_dialog(self, _('Error in %s command') % cmd,
+ _('abort: %s') % inst)
return False
except:
import traceback
- error_dialog(self, "Error in %s command" % cmd,
- "Traceback:\n%s" % traceback.format_exc())
+ error_dialog(self, _('Error in %s command') % cmd,
+ _('Traceback:\n%s') % traceback.format_exc())
return False
return True
|
|
|
@@ -6,12 +6,12 @@
import pygtk
pygtk.require("2.0")
-
+import gtk
import os
import sys
-import gtk
from gdialog import *
from mercurial import cmdutil, util, hg, ui
+from mercurial.i18n import _
from hglib import RepoError
from shlib import shell_notify, set_tortoise_icon
@@ -42,9 +42,9 @@ tbuttons = [
self._toolbutton(
gtk.STOCK_FIND,
- 'Apply',
+ _('Apply'),
self._btn_apply_clicked,
- tip='Apply filter to revision history'),
+ tip=_('Apply filter to revision history')),
]
for btn in tbuttons:
self.tbar.insert(btn, -1)
@@ -52,21 +52,21 @@
# branch: combo box
hbox = gtk.HBox()
- self.branchradio = gtk.RadioButton(None, 'Branch')
+ self.branchradio = gtk.RadioButton(None, _('Branch'))
self.branchlist = gtk.ListStore(str)
self.branchbox = gtk.ComboBoxEntry(self.branchlist, 0)
hbox.pack_start(self.branchradio, False, False, 4)
hbox.pack_start(self.branchbox, True, True, 4)
eventbox = gtk.EventBox()
eventbox.add(hbox)
- self.tips.set_tip(eventbox, 'View revision graph of named branch')
+ self.tips.set_tip(eventbox, _('View revision graph of named branch'))
self.vbox.pack_start(eventbox, False, False, 4)
for name in self.repo.branchtags().keys():
self.branchlist.append([name])
# Revision range entries
hbox = gtk.HBox()
- self.revradio = gtk.RadioButton(self.branchradio, 'Rev Range')
+ self.revradio = gtk.RadioButton(self.branchradio, _('Rev Range'))
self.rev0Entry = gtk.Entry()
self.rev0Entry.connect('activate', self._btn_apply_clicked)
self.rev1Entry = gtk.Entry()
@@ -76,7 +76,7 @@ hbox.pack_start(self.rev1Entry, True, False, 4)
eventbox = gtk.EventBox()
eventbox.add(hbox)
- self.tips.set_tip(eventbox, 'View range of revisions')
+ self.tips.set_tip(eventbox, _('View range of revisions'))
self.vbox.pack_start(eventbox, False, False, 4)
if revs:
self.rev0Entry.set_text(str(revs[0]))
@@ -84,11 +84,12 @@ self.rev1Entry.set_text(str(revs[1]))
hbox = gtk.HBox()
- self.searchradio = gtk.RadioButton(self.branchradio, 'Search Filter')
+ self.searchradio = gtk.RadioButton(self.branchradio, _('Search Filter'))
hbox.pack_start(self.searchradio, False, False, 4)
eventbox = gtk.EventBox()
eventbox.add(hbox)
- self.tips.set_tip(eventbox, 'Search repository changelog with criteria')
+ self.tips.set_tip(eventbox, _('Search repository changelog with'
+ ' criteria'))
self.vbox.pack_start(eventbox, False, False, 4)
self.searchframe = gtk.Frame()
@@ -99,15 +100,15 @@ hbox = gtk.HBox()
self.filesentry = gtk.Entry()
self.filesentry.connect('activate', self._btn_apply_clicked)
- lbl = gtk.Label('File(s):')
- lbl.set_property("width-chars", 10)
+ lbl = gtk.Label(_('File(s):'))
+ lbl.set_property('width-chars', 10)
lbl.set_alignment(0, 0.5)
hbox.pack_start(lbl, False, False, 4)
hbox.pack_start(self.filesentry, True, True, 4)
eventbox = gtk.EventBox()
eventbox.add(hbox)
- self.tips.set_tip(eventbox, 'Display only changesets affecting these'
- ' comma separated file paths')
+ self.tips.set_tip(eventbox, _('Display only changesets affecting these'
+ ' comma separated file paths'))
vbox.pack_start(eventbox, False, False, 4)
if files:
self.filesentry.set_text(', '.join(files))
@@ -115,15 +116,15 @@ hbox = gtk.HBox()
self.kwentry = gtk.Entry()
self.kwentry.connect('activate', self._btn_apply_clicked)
- lbl = gtk.Label('Keyword(s):')
- lbl.set_property("width-chars", 10)
+ lbl = gtk.Label(_('Keyword(s):'))
+ lbl.set_property('width-chars', 10)
lbl.set_alignment(0, 0.5)
hbox.pack_start(lbl, False, False, 4)
hbox.pack_start(self.kwentry, True, True, 4)
eventbox = gtk.EventBox()
eventbox.add(hbox)
- self.tips.set_tip(eventbox, 'Display only changesets matching these'
- ' comma separated case insensitive keywords')
+ self.tips.set_tip(eventbox, _('Display only changesets matching these'
+ ' comma separated case insensitive keywords'))
vbox.pack_start(eventbox, False, False, 4)
hbox = gtk.HBox()
@@ -131,18 +132,18 @@ self.dateentry.connect('activate', self._btn_apply_clicked)
self.helpbutton = gtk.Button("?")
self.helpbutton.set_relief(gtk.RELIEF_NONE)
- self.tips.set_tip(self.helpbutton, 'Help on date formats')
+ self.tips.set_tip(self.helpbutton, _('Help on date formats'))
self.helpbutton.connect('clicked', self._date_help)
- lbl = gtk.Label('Date:')
- lbl.set_property("width-chars", 10)
+ lbl = gtk.Label(_('Date:'))
+ lbl.set_property('width-chars', 10)
lbl.set_alignment(0, 0.5)
hbox.pack_start(lbl, False, False, 4)
hbox.pack_start(self.dateentry, True, True, 4)
hbox.pack_start(self.helpbutton, False, False, 4)
eventbox = gtk.EventBox()
eventbox.add(hbox)
- self.tips.set_tip(eventbox, 'Display only changesets matching this'
- ' date specification')
+ self.tips.set_tip(eventbox, _('Display only changesets matching this'
+ ' date specification'))
vbox.pack_start(eventbox, False, False, 4)
self.searchradio.connect('toggled', self.searchtoggle)
@@ -198,7 +199,7 @@ util.matchdate(date)
opts['date'] = date
except (ValueError, util.Abort), e:
- Prompt('Invalid date specification', str(e), self).run()
+ Prompt(_('Invalid date specification'), str(e), self).run()
self.dateentry.grab_focus()
return
elif self.revradio.get_active():
@@ -212,7 +213,7 @@ rrange.reverse()
opts['revrange'] = rrange
except Exception, e:
- Prompt('Invalid revision range', str(e), self).run()
+ Prompt(_('Invalid revision range'), str(e), self).run()
self.rev0Entry.grab_focus()
return
elif self.branchradio.get_active():
|
|
|
@@ -6,11 +6,11 @@
import pygtk
pygtk.require("2.0")
-
+import gtk
import sys
-import gtk
from dialog import *
from mercurial.node import *
+from mercurial.i18n import _
from mercurial import util, hg, ui
from hglib import RepoError
from hgcmd import CmdDialog
@@ -49,16 +49,16 @@
self._btn_merge = self._toolbutton(
gtk.STOCK_CONNECT,
- 'merge',
+ _('merge'),
self._btn_merge_clicked,
menu=self._merge_menu(),
- tip='Merge working revision with selected revision')
+ tip=_('Merge working revision with selected revision'))
self._btn_unmerge = self._toolbutton(
gtk.STOCK_DISCONNECT,
- 'unmerge',
+ _('unmerge'),
self._btn_unmerge_clicked,
- tip='Undo merging and return working directory to'
- ' one of it parent revision')
+ tip=_('Undo merging and return working directory to'
+ ' one of it parent revision'))
tbuttons = [
self._btn_merge,
gtk.SeparatorToolItem(),
@@ -72,8 +72,8 @@
# repo parent revisions
parentbox = gtk.HBox()
- lbl = gtk.Label("Parent revision(s):")
- lbl.set_property("width-chars", 18)
+ lbl = gtk.Label(_('Parent revision(s):'))
+ lbl.set_property('width-chars', 18)
lbl.set_alignment(0, 0.5)
self._parent_revs = gtk.Entry()
parentbox.pack_start(lbl, False, False)
@@ -82,8 +82,8 @@
# revision input
revbox = gtk.HBox()
- self._rev_lbl = gtk.Label("Merge with revision:")
- self._rev_lbl.set_property("width-chars", 18)
+ self._rev_lbl = gtk.Label(_('Merge with revision:'))
+ self._rev_lbl.set_property('width-chars', 18)
self._rev_lbl.set_alignment(0, 0.5)
# revisions combo box
@@ -96,7 +96,7 @@ self._revbox.add_attribute(cell, 'text', 1)
self._rev_input = self._revbox.get_child()
- self._btn_rev_browse = gtk.Button("Browse...")
+ self._btn_rev_browse = gtk.Button(_('Browse...'))
self._btn_rev_browse.connect('clicked', self._btn_rev_clicked)
revbox.pack_start(self._rev_lbl, False, False)
revbox.pack_start(self._revbox, False, False)
@@ -140,12 +140,12 @@ if is_merged:
self._btn_merge.set_sensitive(False)
self._btn_unmerge.set_sensitive(True)
- self._rev_lbl.set_text("Unmerge to revision:")
+ self._rev_lbl.set_text(_('Unmerge to revision:'))
self._btn_rev_browse.set_sensitive(False)
else:
self._btn_merge.set_sensitive(True)
self._btn_unmerge.set_sensitive(False)
- self._rev_lbl.set_text("Merge with revision:")
+ self._rev_lbl.set_text(_('Merge with revision:'))
self._btn_rev_browse.set_sensitive(True)
# populate revision data
@@ -170,7 +170,7 @@ def _merge_menu(self):
menu = gtk.Menu()
- self._chbox_force = gtk.CheckMenuItem("Allow merge with uncommited changes")
+ self._chbox_force = gtk.CheckMenuItem(_('Allow merge with uncommited changes'))
menu.append(self._chbox_force)
menu.show_all()
@@ -192,15 +192,17 @@ rev = self._rev_input.get_text()
if not rev:
- error_dialog(self, "Can't unmerge", "please select revision to unmerge")
+ error_dialog(self, _('Cannot unmerge'),
+ _('please select revision to unmerge'))
return
-
- response = question_dialog(self, "Undo merge",
- "and checkout revision %s?" % rev)
+
+ response = question_dialog(self, _('Undo merge'),
+ _('and checkout revision %s?') % rev)
if response != gtk.RESPONSE_YES:
return
- cmdline = ['hg', 'update', '-R', self.root, '--rev', rev, '--clean', '--verbose']
+ cmdline = ['hg', 'update', '-R', self.root, '--rev', rev,
+ '--clean', '--verbose']
dlg = CmdDialog(cmdline)
dlg.run()
dlg.hide()
@@ -214,11 +216,12 @@ force = self._chbox_force.get_active()
if not rev:
- error_dialog(self, "Can't merge", "please enter revision to merge")
+ error_dialog(self, _('Cannot merge'),
+ _('please enter revision to merge'))
return
- response = question_dialog(self, "Really want to merge?",
- "with revision %s" % rev)
+ response = question_dialog(self, _('Really want to merge?'),
+ _('with revision %s') % rev)
if response != gtk.RESPONSE_YES:
return
|
|
|
@@ -5,18 +5,15 @@ # Copyright (C) 2007 TK Soh <teekaysoh@gmail.com>
#
-try:
- import pygtk
- pygtk.require("2.0")
-except:
- pass
-
+import pygtk
+pygtk.require("2.0")
import gtk
import gobject
import pango
import Queue
import os
import threading
+from mercurial.i18n import _
from mercurial import hg, ui, util
from dialog import error_dialog, question_dialog
from hglib import HgThread, toutf, RepoError
@@ -38,35 +35,35 @@ self.set_default_size(600, 400)
name = os.path.basename(os.path.abspath(root))
- self.set_title("TortoiseHg Recovery - " + name)
+ self.set_title(_('TortoiseHg Recovery - ') + name)
# toolbar
self.tbar = gtk.Toolbar()
self.tips = gtk.Tooltips()
self._stop_button = self._toolbutton(gtk.STOCK_STOP,
- 'Stop', self._stop_clicked, tip='Stop the hg operation')
+ _('Stop'), self._stop_clicked, tip=_('Stop the hg operation'))
self._stop_button.set_sensitive(False)
tbuttons = [
self._toolbutton(gtk.STOCK_CLEAR,
- 'clean',
+ _('clean'),
self._clean_clicked,
- tip='Clean checkout, undo all changes'),
+ tip=_('Clean checkout, undo all changes')),
gtk.SeparatorToolItem(),
self._toolbutton(gtk.STOCK_UNDO,
- 'rollback',
+ _('rollback'),
self._rollback_clicked,
- tip='Rollback (undo) last transaction to'
- ' repository (pull, commit, etc)'),
+ tip=_('Rollback (undo) last transaction to'
+ ' repository (pull, commit, etc)')),
gtk.SeparatorToolItem(),
self._toolbutton(gtk.STOCK_CLEAR,
- 'recover',
+ _('recover'),
self._recover_clicked,
- tip='Recover from interrupted operation'),
+ tip=_('Recover from interrupted operation')),
gtk.SeparatorToolItem(),
self._toolbutton(gtk.STOCK_APPLY,
- 'verify',
+ _('verify'),
self._verify_clicked,
- tip='Validate repository consistency'),
+ tip=_('Validate repository consistency')),
gtk.SeparatorToolItem(),
self._stop_button,
gtk.SeparatorToolItem(),
@@ -83,7 +80,7 @@ scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.textview = gtk.TextView(buffer=None)
self.textview.set_editable(False)
- self.textview.modify_font(pango.FontDescription("Monospace"))
+ self.textview.modify_font(pango.FontDescription('Monospace'))
scrolledwindow.add(self.textview)
self.textview.set_editable(False)
self.textbuffer = self.textview.get_buffer()
@@ -98,7 +95,7 @@
def _do_close(self):
if self._cmd_running():
- error_dialog(self, "Can't close now", "command is running")
+ error_dialog(self, _('Cannot close now'), _('command is running'))
else:
gtk.main_quit()
@@ -117,14 +114,14 @@ return tbutton
def _clean_clicked(self, toolbutton, data=None):
- response = question_dialog(self, "Clean repository",
+ response = question_dialog(self, _('Clean repository'),
"%s ?" % os.path.basename(self.root))
if not response == gtk.RESPONSE_YES:
return
try:
repo = hg.repository(ui.ui(), path=self.root)
except RepoError:
- self.write("Unable to find repo at %s\n" % (self.root), False)
+ self.write(_('Unable to find repo at %s\n') % (self.root), False)
return
pl = repo.changectx(None).parents()
cmd = ['update', '--clean', '--rev', str(pl[0].rev())]
@@ -136,7 +133,7 @@ shell_notify([self.cwd])
def _rollback_clicked(self, toolbutton, data=None):
- response = question_dialog(self, "Rollback repository",
+ response = question_dialog(self, _('Rollback repository'),
"%s ?" % os.path.basename(self.root))
if not response == gtk.RESPONSE_YES:
return
@@ -158,8 +155,8 @@
def _exec_cmd(self, cmd, postfunc=None):
if self._cmd_running():
- error_dialog(self, "Can't run now",
- "Pleas try again after the previous command is completed")
+ error_dialog(self, _('Cannot run now'),
+ _('Please try again after the previous command is completed'))
return
self._stop_button.set_sensitive(True)
@@ -209,7 +206,7 @@ self.stbar.end()
self._stop_button.set_sensitive(False)
if self.hgthread.return_code() is None:
- self.write("[command interrupted]")
+ self.write(_('[command interrupted]'))
return False # Stop polling this function
def run(cwd='', root='', **opts):
|
|
|
@@ -14,6 +14,7 @@ import Queue
import thread2
from dialog import error_dialog
+from mercurial.i18n import _
from mercurial import hg, ui, mdiff, cmdutil, match, util, commands
from hglib import toutf, fromutf, diffexpand, rootpath
from shlib import set_tortoise_icon
@@ -46,7 +47,7 @@
self.root = root
self.notify_func = None
- self.set_title('Detect Copies/Renames in %s' % os.path.basename(root))
+ self.set_title(_('Detect Copies/Renames in %s') % os.path.basename(root))
settings = shlib.Settings('rename')
dims = settings.get_value('dims', (800, 600))
self.set_default_size(dims[0], dims[1])
@@ -55,7 +56,7 @@ value = settings.get_value('percent', None)
if value: adjustment.set_value(value)
hscale = gtk.HScale(adjustment)
- frame = gtk.Frame('Minimum Simularity Percentage')
+ frame = gtk.Frame(_('Minimum Simularity Percentage'))
frame.add(hscale)
topvbox = gtk.VBox()
topvbox.pack_start(frame, False, False, 2)
@@ -75,8 +76,8 @@
vbox = gtk.VBox()
vbox.pack_start(scroller, True, True, 2)
- fr = gtk.Button('Find Renames')
- fc = gtk.Button('Find Copies')
+ fr = gtk.Button(_('Find Renames'))
+ fc = gtk.Button(_('Find Copies'))
hbox = gtk.HBox()
hbox.pack_start(fr, False, False, 2)
hbox.pack_start(fc, False, False, 2)
@@ -84,7 +85,7 @@ fr.set_sensitive(False)
fc.set_sensitive(False)
- unknownframe = gtk.Frame('Unrevisioned Files')
+ unknownframe = gtk.Frame(_('Unrevisioned Files'))
unknownframe.add(vbox)
# source, dest, percent match, sensitive
@@ -96,22 +97,22 @@ ctree.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
cell = gtk.CellRendererText()
- cell.set_property("width-chars", 30)
- cell.set_property("ellipsize", pango.ELLIPSIZE_START)
- col = gtk.TreeViewColumn('Source', cell, text=1, sensitive=5)
+ cell.set_property('width-chars', 30)
+ cell.set_property('ellipsize', pango.ELLIPSIZE_START)
+ col = gtk.TreeViewColumn(_('Source'), cell, text=1, sensitive=5)
col.set_resizable(True)
ctree.append_column(col)
cell = gtk.CellRendererText()
- cell.set_property("width-chars", 30)
- cell.set_property("ellipsize", pango.ELLIPSIZE_START)
- col = gtk.TreeViewColumn('Dest', cell, text=3, sensitive=5)
+ cell.set_property('width-chars', 30)
+ cell.set_property('ellipsize', pango.ELLIPSIZE_START)
+ col = gtk.TreeViewColumn(_('Dest'), cell, text=3, sensitive=5)
col.set_resizable(True)
ctree.append_column(col)
cell = gtk.CellRendererText()
- cell.set_property("width-chars", 5)
- cell.set_property("ellipsize", pango.ELLIPSIZE_NONE)
+ cell.set_property('width-chars', 5)
+ cell.set_property('ellipsize', pango.ELLIPSIZE_NONE)
col = gtk.TreeViewColumn('%', cell, text=4, sensitive=5)
col.set_resizable(True)
ctree.append_column(col)
@@ -123,13 +124,13 @@ stbar = gtklib.StatusBar()
vbox = gtk.VBox()
vbox.pack_start(scroller, True, True, 2)
- ac = gtk.Button('Accept Match')
+ ac = gtk.Button(_('Accept Match'))
hbox = gtk.HBox()
hbox.pack_start(ac, False, False, 2)
vbox.pack_start(hbox, False, False, 2)
ac.set_sensitive(False)
- candidateframe = gtk.Frame('Candidate Matches')
+ candidateframe = gtk.Frame(_('Candidate Matches'))
candidateframe.add(vbox)
hpaned = gtk.HPaned()
@@ -140,7 +141,7 @@
topvbox.pack_start(hpaned, True, True, 2)
- diffframe = gtk.Frame('Differences from Source to Dest')
+ diffframe = gtk.Frame(_('Differences from Source to Dest'))
diffframe.set_shadow_type(gtk.SHADOW_ETCHED_IN)
scroller = gtk.ScrolledWindow()
scroller.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
@@ -237,7 +238,7 @@ args=(self.root, q, tgts, adj))
thread.start()
stbar.begin()
- stbar.set_status_text('finding source of ' + ', '.join(tgts))
+ stbar.set_status_text(_('finding source of ') + ', '.join(tgts))
gobject.timeout_add(50, self.search_wait, thread, q, cmodel, stbar)
def search_thread(self, root, q, tgts, adj):
@@ -349,7 +350,7 @@ opts = mdiff.defaultopts
difftext = mdiff.unidiff(rr, '', aa, '', src, dest, None, opts=opts)
if not difftext:
- l = '== %s and %s have identical contents ==\n\n' % (src, dest)
+ l = _('== %s and %s have identical contents ==\n\n') % (src, dest)
buf.insert(bufiter, l)
continue
difflines = difftext.splitlines(True)
@@ -425,14 +426,14 @@ commands.rename(repo.ui, repo, dialog.orig, new_name, **opts)
toquit = True
except (util.Abort, RepoError), inst:
- error_dialog(None, 'rename error', str(inst))
+ error_dialog(None, _('rename error'), str(inst))
toquit = False
finally:
sys.stderr = saved
textout = errors.getvalue() + repo.ui.popbuffer()
errors.close()
if len(textout) > 1:
- error_dialog(None, 'rename error', textout)
+ error_dialog(None, _('rename error'), textout)
elif toquit:
gtk.main_quit()
|
@@ -5,12 +5,8 @@ # Copyright (C) 2007 TK Soh <teekaysoh@gmail.com>
#
-try:
- import pygtk
- pygtk.require("2.0")
-except:
- pass
-
+import pygtk
+pygtk.require("2.0")
import gtk
import gobject
import httplib
@@ -23,6 +19,7 @@import time
import hglib
from dialog import question_dialog, error_dialog
+from mercurial.i18n import _
from mercurial import hg, ui, commands, cmdutil, util
from mercurial.hgweb import server
from mercurial.i18n import _
@@ -59,21 +56,21 @@ # toolbar
self.tbar = gtk.Toolbar()
self._button_start = self._toolbutton(gtk.STOCK_MEDIA_PLAY,
- 'Start',
+ _('Start'),
self._on_start_clicked,
- None)
+ _('Start server'))
self._button_stop = self._toolbutton(gtk.STOCK_MEDIA_STOP,
- 'Stop',
+ _('Stop'),
self._on_stop_clicked,
- None)
+ _('Stop server'))
self._button_browse = self._toolbutton(gtk.STOCK_HOME,
- 'Browse',
+ _('Browse'),
self._on_browse_clicked,
- None)
+ _('Launch browser'))
self._button_conf = self._toolbutton(gtk.STOCK_PREFERENCES,
- 'Configure',
+ _('Configure'),
self._on_conf_clicked,
- None)
+ _('Configure web settings'))
tbuttons = [
self._button_start,
@@ -92,8 +89,8 @@
# revision input
revbox = gtk.HBox()
- lbl = gtk.Label("HTTP Port:")
- lbl.set_property("width-chars", 16)
+ lbl = gtk.Label(_('HTTP Port:'))
+ lbl.set_property('width-chars', 16)
lbl.set_alignment(0, 0.5)
self._port_input = gtk.Entry()
self._port_input.set_text(self.defport)
@@ -106,7 +103,7 @@ scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.textview = gtk.TextView(buffer=None)
self.textview.set_editable(False)
- self.textview.modify_font(pango.FontDescription("Monospace"))
+ self.textview.modify_font(pango.FontDescription('Monospace'))
scrolledwindow.add(self.textview)
self.textview.set_editable(False)
self.textbuffer = self.textview.get_buffer()
@@ -117,7 +114,7 @@ try:
repo = hg.repository(ui.ui(), path=self._root)
except hglib.RepoError:
- print 'no repository found'
+ print _('no repository found')
gtk.main_quit()
self.defport = repo.ui.config('web', 'port') or '8000'
self.webname = repo.ui.config('web', 'name') or \
@@ -149,9 +146,9 @@ check if server is running, or to terminate if running
'''
if gservice and not gservice.stopped:
- if question_dialog(self, "Really Exit?",
- "Server process is still running\n" +
- "Exiting will stop the server.") != gtk.RESPONSE_YES:
+ if question_dialog(self, _('Really Exit?'),
+ _('Server process is still running\n'
+ 'Exiting will stop the server.')) != gtk.RESPONSE_YES:
return False
else:
self._stop_server()
@@ -215,8 +212,8 @@ except:
try: port = int(self.defport)
except: port = 8000
- error_dialog(self, "Invalid port 2048..65535", "Defaulting to " +
- self.defport)
+ error_dialog(self, _('Invalid port 2048..65535'),
+ _('Defaulting to ') + self.defport)
global gservice
gservice = None
|
@@ -194,7 +194,7 @@ if os.path.isfile(path):
return path
else:
- print 'icon not found', thgicon
+ print _('icon not found'), thgicon
return None
def version():
@@ -202,7 +202,7 @@ import __version__
return __version__.version
except ImportError:
- return 'unknown'
+ return _('unknown')
if os.name == 'nt':
def shell_notify(paths):
@@ -217,8 +217,7 @@ continue
shell.SHChangeNotify(shellcon.SHCNE_UPDATEITEM,
shellcon.SHCNF_IDLIST | shellcon.SHCNF_FLUSH,
- pidl,
- None)
+ pidl, None)
else:
def shell_notify(paths):
pass
|
|
|
@@ -74,51 +74,51 @@ """
return (
# merge
- (('_difference', self._diff_file),
- ('_view right', self._view_file),
- ('view _left', self._view_left_file),
- ('_revert', self._revert_file),
- ('l_og', self._log_file)),
+ ((_('_difference'), self._diff_file),
+ (_('_view right'), self._view_file),
+ (_('view _left'), self._view_left_file),
+ (_('_revert'), self._revert_file),
+ (_('l_og'), self._log_file)),
# addrem
- (('_difference', self._diff_file),
- ('_view', self._view_file),
- ('_revert', self._revert_file),
- ('l_og', self._log_file)),
+ ((_('_difference'), self._diff_file),
+ (_('_view'), self._view_file),
+ (_('_revert'), self._revert_file),
+ (_('l_og'), self._log_file)),
# unknown
- (('_view', self._view_file),
- ('_delete', self._delete_file),
- ('_add', self._add_file),
- ('_guess rename', self._guess_rename),
- ('_ignore', self._ignore_file)),
+ ((_('_view'), self._view_file),
+ (_('_delete'), self._delete_file),
+ (_('_add'), self._add_file),
+ (_('_guess rename'), self._guess_rename),
+ (_('_ignore'), self._ignore_file)),
# clean
- (('_view', self._view_file),
- ('re_move', self._remove_file),
- ('re_name', self._rename_file),
- ('_copy', self._copy_file),
- ('l_og', self._log_file)),
+ ((_('_view'), self._view_file),
+ (_('re_move'), self._remove_file),
+ (_('re_name'), self._rename_file),
+ (_('_copy'), self._copy_file),
+ (_('l_og'), self._log_file)),
# ignored
- (('_view', self._view_file),
- ('_delete', self._delete_file)),
+ ((_('_view'), self._view_file),
+ (_('_delete'), self._delete_file)),
# deleted
- (('_view', self._view_file),
- ('_revert', self._revert_file),
- ('re_move', self._remove_file),
- ('l_og', self._log_file)),
+ ((_('_view'), self._view_file),
+ (_('_revert'), self._revert_file),
+ (_('re_move'), self._remove_file),
+ (_('l_og'), self._log_file)),
# unresolved
- (('_difference', self._diff_file),
- ('_view right', self._view_file),
- ('view _left', self._view_left_file),
- ('_revert', self._revert_file),
- ('l_og', self._log_file),
- ('resolve', self._do_resolve),
- ('mark resolved', self._mark_resolved)),
+ ((_('_difference'), self._diff_file),
+ (_('_view right'), self._view_file),
+ (_('view _left'), self._view_left_file),
+ (_('_revert'), self._revert_file),
+ (_('l_og'), self._log_file),
+ (_('resolve'), self._do_resolve),
+ (_('mark resolved'), self._mark_resolved)),
# resolved
- (('_difference', self._diff_file),
- ('_view right', self._view_file),
- ('view _left', self._view_left_file),
- ('_revert', self._revert_file),
- ('l_og', self._log_file),
- ('mark unresolved', self._unmark_resolved)),
+ ((_('_difference'), self._diff_file),
+ (_('_view right'), self._view_file),
+ (_('view _left'), self._view_left_file),
+ (_('_revert'), self._revert_file),
+ (_('l_og'), self._log_file),
+ (_('mark unresolved'), self._unmark_resolved)),
)
### End of overridable methods ###
@@ -154,7 +154,7 @@ return ' '.join([root, 'status', r]) + ' '.join(self.pats)
elif self.mqmode and self.mode != 'status':
patch = self.repo.mq.lookup('qtip')
- return root + ' applied MQ patch ' + patch
+ return root + _(' applied MQ patch ') + patch
else:
return root + ' status ' + ' '.join(self.pats)
@@ -166,31 +166,31 @@
def get_tbbuttons(self):
- tbuttons = [self.make_toolbutton(gtk.STOCK_REFRESH, 'Re_fresh',
- self._refresh_clicked, tip='refresh'),
+ tbuttons = [self.make_toolbutton(gtk.STOCK_REFRESH, _('Re_fresh'),
+ self._refresh_clicked, tip=_('refresh')),
gtk.SeparatorToolItem()]
if self.count_revs() == 2:
tbuttons += [
- self.make_toolbutton(gtk.STOCK_SAVE_AS, 'Save As',
- self._save_clicked, tip='Save selected changes')]
+ self.make_toolbutton(gtk.STOCK_SAVE_AS, _('Save As'),
+ self._save_clicked, tip=_('Save selected changes'))]
else:
tbuttons += [
- self.make_toolbutton(gtk.STOCK_MEDIA_REWIND, 'Re_vert',
- self._revert_clicked, tip='revert'),
- self.make_toolbutton(gtk.STOCK_ADD, '_Add',
- self._add_clicked, tip='add'),
- self.make_toolbutton(gtk.STOCK_JUMP_TO, 'Move',
+ self.make_toolbutton(gtk.STOCK_MEDIA_REWIND, _('Re_vert'),
+ self._revert_clicked, tip=_('revert')),
+ self.make_toolbutton(gtk.STOCK_ADD, _('_Add'),
+ self._add_clicked, tip=_('add')),
+ self.make_toolbutton(gtk.STOCK_JUMP_TO, _('Move'),
self._move_clicked,
- tip='move selected files to other directory'),
- self.make_toolbutton(gtk.STOCK_DELETE, '_Remove',
- self._remove_clicked, tip='remove'),
+ tip=_('move selected files to other directory')),
+ self.make_toolbutton(gtk.STOCK_DELETE, _('_Remove'),
+ self._remove_clicked, tip=_('remove')),
gtk.SeparatorToolItem()]
self.showdiff_toggle = gtk.ToggleToolButton(gtk.STOCK_JUSTIFY_FILL)
self.showdiff_toggle.set_use_underline(True)
- self.showdiff_toggle.set_label('_Show Diff')
- self.showdiff_toggle.set_tooltip(self.tooltips, 'show diff pane')
+ self.showdiff_toggle.set_label(_('_Show Diff'))
+ self.showdiff_toggle.set_tooltip(self.tooltips, _('show diff pane'))
self.showdiff_toggle.set_active(False)
self._showdiff_toggled_id = self.showdiff_toggle.connect('toggled',
self._showdiff_toggled )
@@ -284,20 +284,20 @@ self.filetree.append_column(col0)
self.selcb = self._add_header_checkbox(col0, self._sel_clicked)
- col1 = gtk.TreeViewColumn('st', stat_cell)
+ col1 = gtk.TreeViewColumn(_('st'), stat_cell)
col1.add_attribute(stat_cell, 'text', FM_STATUS)
col1.set_cell_data_func(stat_cell, self._text_color)
col1.set_sort_column_id(1001)
col1.set_resizable(False)
self.filetree.append_column(col1)
- col = gtk.TreeViewColumn('ms', stat_cell)
+ col = gtk.TreeViewColumn(_('ms'), stat_cell)
col.add_attribute(stat_cell, 'text', FM_MERGE_STATUS)
col.set_sort_column_id(4)
col.set_resizable(False)
self.filetree.append_column(col)
- col2 = gtk.TreeViewColumn('path', path_cell)
+ col2 = gtk.TreeViewColumn(_('path'), path_cell)
col2.add_attribute(path_cell, 'text', FM_PATH_UTF8)
col2.set_cell_data_func(path_cell, self._text_color)
col2.set_sort_column_id(2)
@@ -478,10 +478,10 @@ wgt = cb.get_parent()
while wgt:
if type(wgt) == gtk.Button:
- wgt.connect("clicked", cbclick, cb)
+ wgt.connect('clicked', cbclick, cb)
return cb
wgt = wgt.get_parent()
- print "Warning: checkbox action not connected"
+ print 'Warning: checkbox action not connected'
return
@@ -575,7 +575,8 @@ for wfile in changes:
mst = wfile in ms and ms[wfile].upper() or ""
wfile = util.localpath(wfile)
- self.filemodel.append([wfile in recheck, char, toutf(wfile), wfile, mst, False])
+ self.filemodel.append([wfile in recheck, char,
+ toutf(wfile), wfile, mst, False])
selection = self.filetree.get_selection()
selected = False
@@ -710,7 +711,7 @@
def _rename_file(self, stat, wfile):
fdir, fname = os.path.split(wfile)
- newfile = entry_dialog(self, "Rename file to:", True, fname)
+ newfile = entry_dialog(self, _('Rename file to:'), True, fname)
if newfile and newfile != fname:
self._hg_move([wfile, os.path.join(fdir, newfile)])
return True
@@ -720,7 +721,7 @@ wfile = self.repo.wjoin(wfile)
fdir, fname = os.path.split(wfile)
dialog = gtk.FileChooserDialog(parent=self,
- title='Copy file to',
+ title=_('Copy file to'),
action=gtk.FILE_CHOOSER_ACTION_SAVE,
buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,
gtk.STOCK_COPY,gtk.RESPONSE_OK))
@@ -740,7 +741,9 @@ def _hg_remove(self, files):
wfiles = [self.repo.wjoin(x) for x in files]
if self.count_revs() > 1:
- Prompt('Nothing Removed', 'Remove is not enabled when multiple revisions are specified.', self).run()
+ Prompt(_('Nothing Removed'),
+ _('Remove is not enabled when multiple revisions are specified.'),
+ self).run()
return
# Create new opts, so nothing unintented gets through
@@ -755,8 +758,8 @@ def _hg_move(self, files):
wfiles = [self.repo.wjoin(x) for x in files]
if self.count_revs() > 1:
- Prompt('Nothing Moved', 'Move is not enabled when '
- 'multiple revisions are specified.', self).run()
+ Prompt(_('Nothing Moved'), _('Move is not enabled when '
+ 'multiple revisions are specified.'), self).run()
return
# Create new opts, so nothing unintented gets through
@@ -773,8 +776,8 @@ def _hg_copy(self, files):
wfiles = [self.repo.wjoin(x) for x in files]
if self.count_revs() > 1:
- Prompt('Nothing Copied', 'Copy is not enabled when '
- 'multiple revisions are specified.', self).run()
+ Prompt(_('Nothing Copied'), _('Copy is not enabled when '
+ 'multiple revisions are specified.'), self).run()
return
# Create new opts, so nothing unintented gets through
@@ -789,13 +792,13 @@ def _merge_tree_selection_changed(self, selection, force):
''' Update the diff text with merge diff to both parents'''
def dohgdiff():
- difftext = ['===== Diff to first parent =====\n']
+ difftext = [_('===== Diff to first parent =====\n')]
wfiles = [self.repo.wjoin(wfile)]
matcher = cmdutil.match(self.repo, wfiles, self.opts)
for s in patch.diff(self.repo, self.repo.dirstate.parents()[0], None,
match=matcher, opts=patch.diffopts(self.ui, self.opts)):
difftext.extend(s.splitlines(True))
- difftext.append('\n===== Diff to second parent =====\n')
+ difftext.append(_('\n===== Diff to second parent =====\n'))
for s in patch.diff(self.repo, self.repo.dirstate.parents()[1], None,
match=matcher, opts=patch.diffopts(self.ui, self.opts)):
difftext.extend(s.splitlines(True))
@@ -1009,7 +1012,7 @@ 'Write selected diff hunks to a patch file'
revrange = self.opts.get('rev')[0]
filename = "%s.patch" % revrange.replace(':', '_to_')
- fd = NativeSaveFileDialogWrapper(Title = "Save patch to",
+ fd = NativeSaveFileDialogWrapper(Title=_('Save patch to'),
InitialDir=self.repo.root,
FileName=filename)
result = fd.run()
@@ -1038,7 +1041,8 @@ if len(revert_list) > 0:
self._hg_revert(revert_list)
else:
- Prompt('Nothing Reverted', 'No revertable files selected', self).run()
+ Prompt(_('Nothing Reverted'),
+ _('No revertable files selected'), self).run()
return True
@@ -1061,7 +1065,9 @@ def _hg_revert(self, files):
wfiles = [self.repo.wjoin(x) for x in files]
if self.count_revs() > 1:
- Prompt('Nothing Reverted', 'Revert is not enabled when multiple revisions are specified.', self).run()
+ Prompt(_('Nothing Reverted'),
+ _('Revert not allowed when viewing revision range.'),
+ self).run()
return
# Create new opts, so nothing unintented gets through.
@@ -1092,7 +1098,8 @@ if len(add_list) > 0:
self._hg_add(add_list)
else:
- Prompt('Nothing Added', 'No addable files selected', self).run()
+ Prompt(_('Nothing Added'),
+ _('No addable files selected'), self).run()
return True
@@ -1120,14 +1127,15 @@ if len(delete_list) > 0:
self._delete_files(delete_list)
if not remove_list and not delete_list:
- Prompt('Nothing Removed', 'No removable files selected', self).run()
+ Prompt(_('Nothing Removed'),
+ _('No removable files selected'), self).run()
return True
def _move_clicked(self, toolbutton, data=None):
move_list = self._relevant_files('C')
if move_list:
# get destination directory to files into
- dialog = gtk.FileChooserDialog(title="Move files to diretory...",
+ dialog = gtk.FileChooserDialog(title=_('Move files to diretory...'),
parent=self,
action=gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,
@@ -1143,22 +1151,23 @@ # verify directory
destroot = rootpath(destdir)
if destroot != self.repo.root:
- Prompt('Nothing Moved', "Can't move outside repo!", self).run()
+ Prompt(_('Nothing Moved'),
+ _('Cannot move outside repo!'), self).run()
return True
# move the files to dest directory
move_list.append(fromutf(destdir))
self._hg_move(move_list)
else:
- Prompt('Nothing Moved', 'No movable files selected\n\n'
- 'Note: only clean files can be moved.', self).run()
+ Prompt(_('Nothing Moved'), _('No movable files selected\n\n'
+ 'Note: only clean files can be moved.'), self).run()
return True
def _delete_file(self, stat, wfile):
self._delete_files([wfile])
def _delete_files(self, files):
- dialog = Confirm('Delete unrevisioned', files, self)
+ dialog = Confirm(_('Delete unrevisioned'), files, self)
if dialog.run() == gtk.RESPONSE_YES :
errors = ''
for wfile in files:
@@ -1171,7 +1180,7 @@ errors = errors.replace('\\\\', '\\')
if len(errors) > 500:
errors = errors[:errors.find('\n',500)] + '\n...'
- Prompt('Delete Errors', errors, self).run()
+ Prompt(_('Delete Errors'), errors, self).run()
self.reload_status()
return True
|
|
|
@@ -5,18 +5,15 @@ # Copyright (C) 2007 TK Soh <teekaysoh@gmail.com>
#
-try:
- import pygtk
- pygtk.require("2.0")
-except:
- pass
-
+import pygtk
+pygtk.require("2.0")
import gtk
import gobject
import pango
import Queue
import os
import threading
+from mercurial.i18n import _
from mercurial import hg, ui, util, extensions
from dialog import error_dialog, question_dialog, info_dialog
from hglib import HgThread, fromutf, toutf, rootpath, RepoError
@@ -48,7 +45,7 @@ extensions.load(self.ui, 'fetch', None)
name = self.repo.ui.config('web', 'name') or os.path.basename(root)
- self.set_title("TortoiseHg Synchronize - " + name)
+ self.set_title(_('TortoiseHg Synchronize - ') + name)
self.connect('delete-event', self._delete)
@@ -56,43 +53,43 @@ self.tbar = gtk.Toolbar()
self.tips = gtk.Tooltips()
self._stop_button = self._toolbutton(gtk.STOCK_STOP,
- 'Stop', self._stop_clicked, tip='Stop the hg operation')
+ _('Stop'), self._stop_clicked, tip=_('Stop the hg operation'))
self._stop_button.set_sensitive(False)
tbuttons = [
self._toolbutton(gtk.STOCK_GO_DOWN,
- 'Incoming',
+ _('Incoming'),
self._incoming_clicked,
- tip='Display changes that can be pulled'
- ' from selected repository'),
+ tip=_('Display changes that can be pulled'
+ ' from selected repository')),
self._toolbutton(gtk.STOCK_GOTO_BOTTOM,
- ' Pull ',
+ _(' Pull '),
self._pull_clicked,
self._pull_menu(),
- tip='Pull changes from selected'
- ' repository'),
+ tip=_('Pull changes from selected'
+ ' repository')),
gtk.SeparatorToolItem(),
self._toolbutton(gtk.STOCK_GO_UP,
- 'Outgoing',
+ _('Outgoing'),
self._outgoing_clicked,
- tip='Display local changes that will be pushed'
- ' to selected repository'),
+ tip=_('Display local changes that will be pushed'
+ ' to selected repository')),
self._toolbutton(gtk.STOCK_GOTO_TOP,
- 'Push',
+ _('Push'),
self._push_clicked,
- tip='Push local changes to selected'
- ' repository'),
+ tip=_('Push local changes to selected'
+ ' repository')),
self._toolbutton(gtk.STOCK_GOTO_LAST,
- 'Email',
+ _('Email'),
self._email_clicked,
- tip='Email local outgoing changes to'
- ' one or more recipients'),
+ tip=_('Email local outgoing changes to'
+ ' one or more recipients')),
gtk.SeparatorToolItem(),
self._stop_button,
gtk.SeparatorToolItem(),
self._toolbutton(gtk.STOCK_PREFERENCES,
- 'Configure',
+ _('Configure'),
self._conf_clicked,
- tip='Configure peer repository paths'),
+ tip=_('Configure peer repository paths')),
gtk.SeparatorToolItem(),
]
for btn in tbuttons:
@@ -103,12 +100,12 @@
# revision input
revbox = gtk.HBox()
- lbl = gtk.Button("Repo:")
+ lbl = gtk.Button(_('Repo:'))
lbl.unset_flags(gtk.CAN_FOCUS)
lbl.connect('clicked', self._btn_remotepath_clicked)
revbox.pack_start(lbl, False, False)
- lbl = gtk.Button("Bundle:")
+ lbl = gtk.Button(_('Bundle:'))
lbl.unset_flags(gtk.CAN_FOCUS)
lbl.connect('clicked', self._btn_bundlepath_clicked)
revbox.pack_start(lbl, False, False)
@@ -145,7 +142,7 @@ self.connect('drag_data_received', self._drag_receive)
# create checkbox to disable proxy
- self._use_proxy = gtk.CheckButton("use proxy server")
+ self._use_proxy = gtk.CheckButton(_('use proxy server'))
if ui.ui().config('http_proxy', 'host', ''):
self._use_proxy.set_active(True)
else:
@@ -155,7 +152,7 @@ revbox.pack_end(self._use_proxy, False, False)
vbox.pack_start(revbox, False, False, 2)
- self.expander = expander = gtk.Expander('Advanced Options')
+ self.expander = expander = gtk.Expander(_('Advanced Options'))
expander.set_expanded(False)
expander.connect_after('activate', self._expanded)
hbox = gtk.HBox()
@@ -164,26 +161,26 @@ revvbox = gtk.VBox()
revhbox = gtk.HBox()
self._reventry = gtk.Entry()
- self._force = gtk.CheckButton('Force pull or push')
- self.tips.set_tip(self._force, 'Run even when remote repository'
- ' is unrelated.')
+ self._force = gtk.CheckButton(_('Force pull or push'))
+ self.tips.set_tip(self._force, _('Run even when remote repository'
+ ' is unrelated.'))
- revhbox.pack_start(gtk.Label('Target Revision:'), False, False, 2)
+ revhbox.pack_start(gtk.Label(_('Target Revision:')), False, False, 2)
revhbox.pack_start(self._reventry, True, True, 2)
eventbox = gtk.EventBox()
eventbox.add(revhbox)
- self.tips.set_tip(eventbox, 'A specific revision up to which you'
- ' would like to push or pull.')
+ self.tips.set_tip(eventbox, _('A specific revision up to which you'
+ ' would like to push or pull.'))
revvbox.pack_start(eventbox, True, True, 8)
revvbox.pack_start(self._force, False, False, 2)
hbox.pack_start(revvbox, True, True, 4)
- frame = gtk.Frame('Incoming/Outgoing')
+ frame = gtk.Frame(_('Incoming/Outgoing'))
hbox.pack_start(frame, False, False, 2)
- self._showpatch = gtk.CheckButton('Show Patches')
- self._newestfirst = gtk.CheckButton('Show Newest First')
- self._nomerge = gtk.CheckButton('Show No Merges')
+ self._showpatch = gtk.CheckButton(_('Show Patches'))
+ self._newestfirst = gtk.CheckButton(_('Show Newest First'))
+ self._nomerge = gtk.CheckButton(_('Show No Merges'))
hbox = gtk.HBox()
hbox.pack_start(self._showpatch, False, False, 2)
@@ -198,16 +195,16 @@ scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.textview = gtk.TextView(buffer=None)
self.textview.set_editable(False)
- self.textview.modify_font(pango.FontDescription("Monospace"))
+ self.textview.modify_font(pango.FontDescription('Monospace'))
scrolledwindow.add(self.textview)
self.textview.set_editable(False)
self.textbuffer = self.textview.get_buffer()
vbox.pack_start(scrolledwindow, True, True)
self.buttonhbox = gtk.HBox()
- self.viewpulled = gtk.Button('View Pulled Revisions')
+ self.viewpulled = gtk.Button(_('View Pulled Revisions'))
self.viewpulled.connect('clicked', self._view_pulled_changes)
- self.updatetip = gtk.Button('Update to Tip')
+ self.updatetip = gtk.Button(_('Update to Tip'))
self.updatetip.connect('clicked', self._update_to_tip)
self.buttonhbox.pack_start(self.viewpulled, False, False, 2)
self.buttonhbox.pack_start(self.updatetip, False, False, 2)
@@ -235,7 +232,7 @@ self._last_drop_time = time
def _set_path(self, uri):
- if not uri.startswith("file://"):
+ if not uri.startswith('file://'):
return
path = urllib.unquote(uri[7:])
if rootpath(path) == path:
@@ -277,13 +274,13 @@ warning = ''
flags = []
if len(pl) > 1:
- warning = "Outstanding uncommitted merges"
+ warning = _('Outstanding uncommitted merges')
elif pa != p1 and pa != p2:
- warning = "Update spans branches"
+ warning = _('Update spans branches')
if warning:
flags = ['--clean']
- msg = 'Lose all changes in your working directory?'
- warning += ', requires clean checkout'
+ msg = _('Lose all changes in your working directory?')
+ warning += _(', requires clean checkout')
if question_dialog(self, msg, warning) != gtk.RESPONSE_YES:
return
self.write("", False)
@@ -301,9 +298,11 @@ menu = gtk.Menu()
# define menu items
- self._pull_default = gtk.RadioMenuItem(None, "Default Pull")
- self._pull_update = gtk.RadioMenuItem(self._pull_default, "Update to new tip")
- self._pull_fetch = gtk.RadioMenuItem(self._pull_default, "Do fetch")
+ self._pull_default = gtk.RadioMenuItem(None, _('Default Pull'))
+ self._pull_update = gtk.RadioMenuItem(self._pull_default,
+ _('Update to new tip'))
+ self._pull_fetch = gtk.RadioMenuItem(self._pull_default,
+ _('Do fetch'))
self._pull_menu_items = [
self._pull_default,
self._pull_update,
@@ -333,7 +332,7 @@ elif sort == "name":
sortfunc = lambda a,b: cmp(a[0], b[0])
else:
- raise "unknown sort key '%s'" % sort
+ raise _("unknown sort key '%s'") % sort
paths.sort(sortfunc)
return paths
except RepoError:
@@ -341,7 +340,7 @@
def _btn_remotepath_clicked(self, button):
""" select source folder to clone """
- dialog = gtk.FileChooserDialog(title="Select Repository",
+ dialog = gtk.FileChooserDialog(title=_('Select Repository'),
action=gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,
gtk.STOCK_OPEN,gtk.RESPONSE_OK))
@@ -354,18 +353,18 @@
def _btn_bundlepath_clicked(self, button):
""" select bundle to read from """
- dialog = gtk.FileChooserDialog(title="Select Bundle",
+ dialog = gtk.FileChooserDialog(title=_('Select Bundle'),
action=gtk.FILE_CHOOSER_ACTION_OPEN,
buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,
gtk.STOCK_OPEN,gtk.RESPONSE_OK))
dialog.set_default_response(gtk.RESPONSE_OK)
dialog.set_current_folder(self.root)
filefilter = gtk.FileFilter()
- filefilter.set_name("Bundle (*.hg)")
+ filefilter.set_name(_('Bundle (*.hg)'))
filefilter.add_pattern("*.hg")
dialog.add_filter(filefilter)
filefilter = gtk.FileFilter()
- filefilter.set_name("Bundle (*)")
+ filefilter.set_name(_('Bundle (*)'))
filefilter.add_pattern("*")
dialog.add_filter(filefilter)
response = dialog.run()
@@ -378,7 +377,7 @@
def _do_close(self):
if self._cmd_running():
- error_dialog(self, "Can't close now", "command is running")
+ error_dialog(self, _('Cannot close now'), _('command is running'))
else:
self._save_settings()
gtk.main_quit()
@@ -469,8 +468,8 @@ if path:
opts.extend(['--outgoing', path])
elif not rev:
- info_dialog(self, 'No repository selected',
- 'Select a peer repository to compare with')
+ info_dialog(self, _('No repository selected'),
+ _('Select a peer repository to compare with'))
self._pathbox.grab_focus()
return
if rev:
@@ -509,8 +508,8 @@
def _exec_cmd(self, cmd):
if self._cmd_running():
- error_dialog(self, "Can't run now",
- "Pleas try again after the previous command is completed")
+ error_dialog(self, _('Cannott run now'),
+ _('Please try again after the previous command is completed'))
return
self._stop_button.set_sensitive(True)
@@ -584,7 +583,7 @@ self.stbar.end()
self._stop_button.set_sensitive(False)
if self.hgthread.return_code() is None:
- self.write("[command interrupted]")
+ self.write(_('[command interrupted]'))
return False # Stop polling this function
AdvancedDefaults = {
|
|
|
@@ -4,12 +4,8 @@ # Copyright (C) 2007 TK Soh <teekaysoh@gmail.com>
#
-try:
- import pygtk
- pygtk.require("2.0")
-except:
- pass
-
+import pygtk
+pygtk.require("2.0")
import os
import gtk
from dialog import question_dialog, error_dialog, info_dialog
@@ -25,8 +21,8 @@ gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
# set dialog title
- title = "hg tag "
- title += " - %s" % (root or os.getcwd())
+ title = 'hg tag '
+ title += ' - %s' % (root or os.getcwd())
self.set_title(title)
self.root = root
@@ -48,15 +44,13 @@ self.tips = gtk.Tooltips()
self._btn_addtag = self._toolbutton(
- gtk.STOCK_ADD,
- 'Add',
+ gtk.STOCK_ADD, _('Add'),
self._btn_addtag_clicked,
- tip='Add tag to selected version')
+ tip=_('Add tag to selected version'))
self._btn_rmtag = self._toolbutton(
- gtk.STOCK_DELETE,
- 'Remove',
+ gtk.STOCK_DELETE, _('Remove'),
self._btn_rmtag_clicked,
- tip='Remove tag from repository')
+ tip=_('Remove tag from repository'))
tbuttons = [
self._btn_addtag,
self._btn_rmtag
@@ -69,8 +63,8 @@
# tag name input
tagbox = gtk.HBox()
- lbl = gtk.Label("Tag:")
- lbl.set_property("width-chars", 10)
+ lbl = gtk.Label(_('Tag:'))
+ lbl.set_property('width-chars', 10)
lbl.set_alignment(0, 0.5)
self._tagslist = gtk.ListStore(str)
self._taglistbox = gtk.ComboBoxEntry(self._tagslist, 0)
@@ -82,8 +76,8 @@
# revision input
revbox = gtk.HBox()
- lbl = gtk.Label("Revision:")
- lbl.set_property("width-chars", 10)
+ lbl = gtk.Label(_('Revision:'))
+ lbl.set_property('width-chars', 10)
lbl.set_alignment(0, 0.5)
self._rev_input = gtk.Entry()
self._rev_input.set_text(rev)
@@ -93,16 +87,16 @@
# tag options
option_box = gtk.VBox()
- self._local_tag = gtk.CheckButton("Tag is local")
- self._replace_tag = gtk.CheckButton("Replace existing tag")
- self._use_msg = gtk.CheckButton("Use custom commit message")
+ self._local_tag = gtk.CheckButton(_('Tag is local'))
+ self._replace_tag = gtk.CheckButton(_('Replace existing tag'))
+ self._use_msg = gtk.CheckButton(_('Use custom commit message'))
option_box.pack_start(self._local_tag, False, False)
option_box.pack_start(self._replace_tag, False, False)
option_box.pack_start(self._use_msg, False, False)
vbox.pack_start(option_box, False, False, 15)
# commit message
- lbl = gtk.Label("Commit message:")
+ lbl = gtk.Label(_('Commit message:'))
lbl.set_alignment(0, 0.5)
self._commit_message = gtk.Entry()
vbox.pack_end(self._commit_message, False, False, 1)
@@ -163,27 +157,29 @@ message = self._commit_message.get_text()
# verify input
- if name == "":
- error_dialog(self, "Tag input is empty", "Please enter tag name")
+ if name == '':
+ error_dialog(self, _('Tag input is empty'),
+ _('Please enter tag name'))
self._tag_input.grab_focus()
return False
if use_msg and not message:
- error_dialog(self, "Custom commit message is empty",
- "Please enter commit message")
+ error_dialog(self, _('Custom commit message is empty'),
+ _('Please enter commit message'))
self._commit_message.grab_focus()
return False
# add tag to repo
try:
self._add_hg_tag(name, rev, message, is_local, force=force)
- info_dialog(self, "Tagging completed", "Tag '%s' has been added" % name)
+ info_dialog(self, _('Tagging completed'),
+ _('Tag "%s" has been added') % name)
self._refresh()
except util.Abort, inst:
- error_dialog(self, "Error in tagging", str(inst))
+ error_dialog(self, _('Error in tagging'), str(inst))
return False
except:
import traceback
- error_dialog(self, "Error in tagging", traceback.format_exc())
+ error_dialog(self, _('Error in tagging'), traceback.format_exc())
return False
def _do_rm_tag(self):
@@ -193,8 +189,9 @@ use_msg = self._use_msg.get_active()
# verify input
- if name == "":
- error_dialog(self, "Tag name is empty", "Please select tag name to remove")
+ if name == '':
+ error_dialog(self, _('Tag name is empty'),
+ _('Please select tag name to remove'))
self._tag_input.grab_focus()
return False
@@ -205,14 +202,15 @@
try:
self._rm_hg_tag(name, message, is_local)
- info_dialog(self, "Tagging completed", "Tag '%s' has been removed" % name)
+ info_dialog(self, _('Tagging completed'),
+ _('Tag "%s" has been removed'), % name)
self._refresh()
except util.Abort, inst:
- error_dialog(self, "Error in tagging", str(inst))
+ error_dialog(self, _('Error in tagging'), str(inst))
return False
except:
import traceback
- error_dialog(self, "Error in tagging", traceback.format_exc())
+ error_dialog(self, _('Error in tagging'), traceback.format_exc())
return False
@@ -227,13 +225,13 @@ message = _('Added tag %s for changeset %s') % (name, short(r))
if name in self.repo.tags() and not force:
- raise util.Abort("Tag '%s' already exist" % name)
+ raise util.Abort(_("Tag '%s' already exist") % name)
self.repo.tag(name, r, message, local, user, date)
def _rm_hg_tag(self, name, message, local, user=None, date=None):
if not name in self.repo.tags():
- raise util.Abort("Tag '%s' does not exist" % name)
+ raise util.Abort(_("Tag '%s' does not exist") % name)
if not message:
message = _('Removed tag %s') % name
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
@@ -71,10 +71,10 @@ def get_tbbuttons(self):
tbbuttons = GStatus.get_tbbuttons(self)
tbbuttons.insert(2, gtk.SeparatorToolItem())
- self.shelve_btn = self.make_toolbutton(gtk.STOCK_FILE, 'Shelve',
- self._shelve_clicked, tip='set aside selected changes')
- self.unshelve_btn = self.make_toolbutton(gtk.STOCK_EDIT, 'Unshelve',
- self._unshelve_clicked, tip='restore shelved changes')
+ self.shelve_btn = self.make_toolbutton(gtk.STOCK_FILE, _('Shelve'),
+ self._shelve_clicked, tip=_('set aside selected changes'))
+ self.unshelve_btn = self.make_toolbutton(gtk.STOCK_EDIT, _('Unshelve'),
+ self._unshelve_clicked, tip=_('restore shelved changes'))
tbbuttons.insert(2, self.unshelve_btn)
tbbuttons.insert(2, self.shelve_btn)
return tbbuttons
@@ -137,7 +137,7 @@ if file:
hlist = [cid for cid in hlist if chunks[cid].filename() == file]
if not hlist:
- Prompt('Shelve', 'Please select diff chunks to shelve',
+ Prompt(_('Shelve'), _('Please select diff chunks to shelve'),
self).run()
return
@@ -146,9 +146,11 @@ if self._has_shelve_file():
from gtklib import MessageDialog
dialog = MessageDialog(flags=gtk.DIALOG_MODAL)
- dialog.set_title('Shelve')
- dialog.set_markup('<b>Shelve file exists!</b>')
- dialog.add_buttons('Overwrite', 1, 'Append', 2, 'Cancel', -1)
+ dialog.set_title(_('Shelve'))
+ dialog.set_markup(_('<b>Shelve file exists!</b>'))
+ dialog.add_buttons(_('Overwrite'), 1,
+ _('Append'), 2,
+ _('Cancel'), -1)
dialog.set_transient_for(self)
rval = dialog.run()
dialog.destroy()
|
@@ -13,6 +13,7 @@ from dialog import *
from mercurial import util, hg, ui
from mercurial.node import *
+from mercurial.i18n import _
from shlib import shell_notify, set_tortoise_icon
from hglib import rootpath, toutf, RepoError
@@ -51,10 +52,9 @@ self.tips = gtk.Tooltips()
self._btn_update = self._toolbutton(
- gtk.STOCK_REVERT_TO_SAVED,
- 'Update',
+ gtk.STOCK_REVERT_TO_SAVED, _('Update'),
self._btn_update_clicked,
- tip='Update working directory to selected revision')
+ tip=_('Update working directory to selected revision'))
tbuttons = [
self._btn_update,
]
@@ -66,8 +66,8 @@
# repo parent revisions
parentbox = gtk.HBox()
- lbl = gtk.Label("Parent revisions:")
- lbl.set_property("width-chars", 18)
+ lbl = gtk.Label(_('Parent revisions:'))
+ lbl.set_property('width-chars', 18)
lbl.set_alignment(0, 0.5)
self._parent_revs = gtk.Entry()
self._parent_revs.set_sensitive(False)
@@ -77,8 +77,8 @@
# revision input
revbox = gtk.HBox()
- lbl = gtk.Label("Update to revision:")
- lbl.set_property("width-chars", 18)
+ lbl = gtk.Label(_('Update to revision:'))
+ lbl.set_property('width-chars', 18)
lbl.set_alignment(0, 0.5)
# revisions combo box
@@ -92,14 +92,14 @@ self._rev_input = self._revbox.get_child()
# setup buttons
- self._btn_rev_browse = gtk.Button("Browse...")
+ self._btn_rev_browse = gtk.Button(_('Browse...'))
self._btn_rev_browse.connect('clicked', self._btn_rev_clicked)
revbox.pack_start(lbl, False, False)
revbox.pack_start(self._revbox, False, False)
revbox.pack_start(self._btn_rev_browse, False, False, 5)
vbox.pack_start(revbox, False, False, 2)
- self._overwrite = gtk.CheckButton("Overwrite local changes")
+ self._overwrite = gtk.CheckButton(_('Overwrite local changes'))
vbox.pack_end(self._overwrite, False, False, 10)
# show them all
@@ -161,11 +161,12 @@ overwrite = self._overwrite.get_active()
if not rev:
- error_dialog(self, "Can't update", "please enter revision to update to")
+ error_dialog(self, _('Cannot update'),
+ _('please enter revision to update to'))
return
- response = question_dialog(self, "Really want to update?",
- "to revision %s" % rev)
+ response = question_dialog(self, _('Really want to update?'),
+ _('to revision %s') % rev)
if response != gtk.RESPONSE_YES:
return
|
Loading...