Changeset aa5e7a24100e…
Parent 0ca65325372d…
by
Changes to 28 files · Browse files at aa5e7a24100e Showing diff from parent 0ca65325372d Diff from another changeset...
@@ -84,13 +84,10 @@ # close the About dialog...
self.connect('response', gtk.main_quit)
-def run(*args, **opts):
+def run(_ui, *pats, **opts):
dialog = AboutDialog()
dialog.show_all()
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- run()
|
@@ -102,21 +102,3 @@ dlg.hide()
if self.notify_func:
self.notify_func(self.notify_args)
-
-def run(root='', **opts):
- # This dialog is intended to be launched by the changelog browser
- # It's not expected to be used from hgtk. I leave this path in
- # place for testing purposes.
- dialog = BackoutDialog(root, 'tip')
- dialog.show_all()
- dialog.connect('destroy', gtk.main_quit)
- gtk.gdk.threads_init()
- gtk.gdk.threads_enter()
- gtk.main()
- gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- opts = {}
- opts['root'] = len(sys.argv) > 1 and sys.argv[1] or os.getcwd()
- run(**opts)
|
@@ -55,17 +55,10 @@ textview.get_buffer().set_text(text)
return vbox
-
-def run(**opts):
- dialog = BugReport(ui.ui(), None, None, None, opts, True)
+def run(_ui, *pats, **opts):
+ dialog = BugReport(_ui, None, None, None, opts, True)
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
dialog.display()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- opts = {}
- opts['cmd'] = 'command'
- opts['error'] = 'test error'
- run(**opts)
|
@@ -705,23 +705,3 @@ dlg.run()
dlg.hide()
shell_notify([self.curfile])
-
-def run(root='', cwd='', files=[], **opts):
- u = ui.ui()
- u.updateopts(debug=False, traceback=False)
- repo = hg.repository(u, path=root)
-
- dialog = ChangeSet(u, repo, cwd, files, opts, True)
- dialog.display()
-
- gtk.gdk.threads_init()
- gtk.gdk.threads_enter()
- gtk.main()
- gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- opts = {}
- opts['root'] = len(sys.argv) > 1 and sys.argv[1] or os.getcwd()
- opts['rev'] = ['750']
- run(**opts)
|
@@ -16,13 +16,11 @@
class CloneDialog(gtk.Window):
""" Dialog to add tag to Mercurial repo """
- def __init__(self, cwd='', repos=[]):
+ def __init__(self, repos=[]):
""" Initialize the Dialog """
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
+ shlib.set_tortoise_icon(self, 'menuclone.ico')
- shlib.set_tortoise_icon(self, 'menuclone.ico')
- if cwd: os.chdir(cwd)
-
# set dialog title
title = 'hg clone'
self.set_title(title)
@@ -320,17 +318,10 @@ self._add_src_to_recent(src)
self._add_dest_to_recent(dest)
-def run(cwd='', files=[], **opts):
- dialog = CloneDialog(cwd, repos=files)
+def run(_ui, *pats, **opts):
+ dialog = CloneDialog(pats)
dialog.show_all()
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- opts = {}
- opts['cwd'] = os.getcwd()
- opts['files'] = sys.argv[1:]
- run(**opts)
|
@@ -558,7 +558,7 @@ # But since we can't be sure they will do it right, we will
# have them to retry, to re-trigger the checking mechanism.
from thgconfig import ConfigDialog
- dlg = ConfigDialog(self.repo.root, False)
+ dlg = ConfigDialog(False)
dlg.show_all()
dlg.focus_field('ui.username')
dlg.run()
@@ -649,28 +649,7 @@ self.reload_status()
self.qnew_name.grab_focus() # set focus back
-def launch(root='', files=[], cwd='', main=True, **opts):
- u = ui.ui()
- u.updateopts(debug=False, traceback=False)
- repo = hg.repository(u, path=root)
-
- # move cwd to repo root if repo is merged, so we can show
- # all the changed files
- if len(repo.changectx(None).parents()) > 1 and repo.root != cwd:
- cwd = repo.root
- repo = hg.repository(u, path=cwd)
- files = [cwd]
-
- ct = repo.ui.config('tortoisehg', 'extcommit', None)
- if ct == 'qct':
- from hglib import thgdispatch
- args = ['--repository', root, ct]
- try:
- thgdispatch(repo.ui, args=args)
- except SystemExit:
- pass
- return
-
+def run(_ui, *pats, **opts):
cmdoptions = {
'user':opts.get('user', ''), 'date':opts.get('date', ''),
'logfile':'', 'message':'',
@@ -680,25 +659,9 @@ 'check': True, 'git':False, 'addremove':False,
}
- dialog = GCommit(u, repo, cwd, files, cmdoptions, main)
+ dialog = GCommit(_ui, None, None, pats, cmdoptions, True)
dialog.display()
- return dialog
-
-def run(root='', files=[], cwd='', **opts):
- # If no files or directories were selected, take current dir
- # TODO: Not clear if this is best; user may expect repo wide
- if not files and cwd:
- files = [cwd]
- if launch(root, files, cwd, True, **opts):
- gtk.gdk.threads_init()
- gtk.gdk.threads_enter()
- gtk.main()
- gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- from hglib import rootpath
- opts = {}
- opts['cwd'] = len(sys.argv) > 1 and sys.argv[1] or os.getcwd()
- opts['root'] = rootpath(opts['cwd'])
- run(**opts)
+ gtk.gdk.threads_init()
+ gtk.gdk.threads_enter()
+ gtk.main()
+ gtk.gdk.threads_leave()
|
@@ -47,7 +47,19 @@ ]
def prepare_display(self):
- os.chdir(self.repo.root)
+ root = self.repo.root
+ cf = []
+ for f in self.pats:
+ if os.path.isfile(f):
+ cf.append(util.canonpath(root, self.cwd, f))
+ elif os.path.isdir(f):
+ Prompt(_('Invalid path'),
+ _('Cannot annotate directory: %s') % f, None).run()
+ for f in cf:
+ self.add_annotate_page(f, '.')
+ if not self.notebook.get_n_pages():
+ self.add_search_page()
+ os.chdir(root)
def save_settings(self):
settings = GDialog.save_settings(self)
@@ -684,43 +696,16 @@ menuitem.set_border_width(1)
return menuitem
-def run(root='', cwd='', files=[], **opts):
- u = ui.ui()
- u.updateopts(debug=False, traceback=False)
- repo = hg.repository(u, path=root)
-
+def run(ui, *pats, **opts):
cmdoptions = {
'follow':False, 'follow-first':False, 'copies':False, 'keyword':[],
'limit':0, 'rev':[], 'removed':False, 'no_merges':False, 'date':None,
'only_merges':None, 'prune':[], 'git':False, 'verbose':False,
'include':[], 'exclude':[]
}
-
- cf = []
- for f in files:
- if os.path.isfile(f):
- cf.append(util.canonpath(root, cwd, f))
- elif os.path.isdir(f):
- Prompt(_('Invalid path'),
- _('Cannot annotate directory: %s') % f, None).run()
-
- dialog = DataMineDialog(u, repo, cwd, files, cmdoptions, True)
+ dialog = DataMineDialog(ui, None, None, pats, cmdoptions, True)
dialog.display()
-
- for f in cf:
- dialog.add_annotate_page(f, '.')
- if not dialog.notebook.get_n_pages():
- dialog.add_search_page()
-
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- opts = {}
- opts['cwd'] = os.getcwd()
- opts['root'] = rootpath()
- opts['files'] = sys.argv[1:] or []
- run(**opts)
|
@@ -91,10 +91,10 @@
def __init__(self, ui, repo, cwd, pats, opts, main):
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
- self.cwd = cwd
+ self.cwd = cwd or os.getcwd()
self.ui = ui
self.ui.interactive=False
- self.repo = repo
+ self.repo = repo or hg.repository(ui, path=hglib.rootpath())
self.pats = pats
self.opts = opts
self.main = main
@@ -333,7 +333,8 @@ prompttext += errors.getvalue()
errors.close()
if len(prompttext) > 1:
- Prompt(title + _(' Messages and Errors'), prompttext, self).run()
+ Prompt(title + _(' Messages and Errors'),
+ prompttext, self).run()
return True, textout
@@ -415,7 +416,7 @@ from thgconfig import ConfigDialog
Prompt(_('No visual editor configured'),
_('Please configure a visual editor.'), self).run()
- dlg = ConfigDialog(self.repo.root, False)
+ dlg = ConfigDialog(False)
dlg.show_all()
dlg.focus_field('tortoisehg.editor')
dlg.run()
|
@@ -36,14 +36,14 @@
class DetectRenameDialog(gtk.Window):
'Detect renames after they occur'
- def __init__(self, root=''):
+ def __init__(self):
'Initialize the Dialog'
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
set_tortoise_icon(self, 'detect_rename.ico')
- self.root = root
+ self.root = rootpath()
self.notify_func = None
- path = toutf(os.path.basename(root))
+ path = toutf(os.path.basename(self.root))
self.set_title(_('Detect Copies/Renames in ') + path)
settings = shlib.Settings('rename')
dims = settings.get_value('dims', (800, 600))
@@ -366,15 +366,11 @@ line = diffexpand(line)
buf.insert(bufiter, line)
-def run(root='', **opts):
- dialog = DetectRenameDialog(root)
+def run(ui, *pats, **opts):
+ dialog = DetectRenameDialog()
dialog.show_all()
dialog.connect('destroy', gtk.main_quit)
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- opts['root'] = rootpath()
- run(**opts)
|
@@ -158,22 +158,3 @@ return self.hgthread.return_code()
else:
return False
-
-def run(cmdline=[], gui=True, **opts):
- if not gui:
- q = Queue.Queue()
- hgcmd_toq(None, q, *cmdline[1:])
- return
-
- dlg = CmdDialog(cmdline)
- dlg.connect('response', gtk.main_quit)
- dlg.show_all()
- gtk.gdk.threads_init()
- gtk.gdk.threads_enter()
- gtk.main()
- gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- run(sys.argv)
-
|
@@ -16,7 +16,6 @@ from mercurial import hg, ui, extensions
from mercurial.i18n import _
from hglib import RepoError, fromutf, toutf
-from thgconfig import ConfigDialog
from hgcmd import CmdDialog
class EmailDialog(gtk.Window):
@@ -261,7 +260,8 @@ self._diffstat.set_sensitive(False)
def _on_conf_clicked(self, button):
- dlg = ConfigDialog(self.root, False)
+ from thgconfig import ConfigDialog
+ dlg = ConfigDialog(False)
dlg.show_all()
dlg.focus_field('email.from')
dlg.run()
@@ -303,9 +303,10 @@
if self.repo.ui.config('email', 'method', 'smtp') == 'smtp' and not test:
if not self.repo.ui.config('smtp', 'host'):
+ from thgconfig import ConfigDialog
info_dialog(self, _('Info required'),
_('You must configure SMTP'))
- dlg = ConfigDialog(self.root, False)
+ dlg = ConfigDialog(False)
dlg.show_all()
dlg.focus_field('smtp.host')
dlg.run()
@@ -359,20 +360,3 @@ if oldpager:
os.environ['PAGER'] = oldpager
os.unlink(tmpfile)
-
-def run(root='', **opts):
- # In most use cases, this dialog will be launched by other
- # hggtk tools like glog and synch. It's not expected to be
- # used from hgtk. I leave this path in place for testing purposes.
- dialog = EmailDialog(root, ['tip'])
- dialog.show_all()
- dialog.connect('destroy', gtk.main_quit)
- gtk.gdk.threads_init()
- gtk.gdk.threads_enter()
- gtk.main()
- gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- opts = {}
- opts['root'] = len(sys.argv) > 1 and sys.argv[1] or os.getcwd()
- run(**opts)
|
@@ -7,21 +7,21 @@ import os
import gtk
import gobject
+from mercurial import hg, ui, match
+from mercurial.i18n import _
from dialog import *
from shlib import shell_notify, set_tortoise_icon
-from hglib import fromutf, toutf
-from mercurial import hg, ui, match
-from mercurial.i18n import _
+import hglib
class HgIgnoreDialog(gtk.Window):
'Edit a reposiory .hgignore file'
- def __init__(self, root='', fileglob=''):
+ def __init__(self, fileglob='', *pats):
'Initialize the Dialog'
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
set_tortoise_icon(self, 'ignore.ico')
- self.root = root
- self.set_title(_('Ignore filter for ') + os.path.basename(root))
+ self.root = hglib.rootpath()
+ self.set_title(_('Ignore filter for ') + os.path.basename(self.root))
self.set_default_size(630, 400)
self.notify_func = None
@@ -38,7 +38,7 @@ hbox.pack_start(glob_button, False, False, 4)
glob_button.connect('clicked', self.add_glob, glob_entry)
glob_entry.connect('activate', self.add_glob, glob_entry)
- glob_entry.set_text(toutf(fileglob))
+ glob_entry.set_text(hglib.toutf(fileglob))
self.glob_entry = glob_entry
mainvbox.pack_start(hbox, False, False)
@@ -138,13 +138,13 @@ self.glob_entry.set_text(model[paths][0])
def add_glob(self, widget, glob_entry):
- newglob = fromutf(glob_entry.get_text())
+ newglob = hglib.fromutf(glob_entry.get_text())
self.ignorelines.append('glob:' + newglob)
self.write_ignore_lines()
self.refresh()
def add_regexp(self, widget, regexp_entry):
- newregexp = fromutf(regexp_entry.get_text())
+ newregexp = hglib.fromutf(regexp_entry.get_text())
self.ignorelines.append('regexp:' + newregexp)
self.write_ignore_lines()
self.refresh()
@@ -165,7 +165,7 @@ deleted, unknown, ignored, clean) = changes
self.unkmodel.clear()
for u in unknown:
- self.unkmodel.append([toutf(u), u])
+ self.unkmodel.append([hglib.toutf(u), u])
try:
l = open(repo.wjoin('.hgignore'), 'rb').readlines()
self.doseoln = l[0].endswith('\r\n')
@@ -176,7 +176,7 @@ model = gtk.ListStore(str)
self.ignorelines = []
for line in l:
- model.append([toutf(line.strip())])
+ model.append([hglib.toutf(line.strip())])
self.ignorelines.append(line.strip())
self.pattree.set_model(model)
self.repo = repo
@@ -195,16 +195,13 @@ shell_notify(self.repo.wjoin('.hgignore'))
if self.notify_func: self.notify_func()
-def run(root='', fileglob='', **opts):
- dialog = HgIgnoreDialog(root, fileglob)
+def run(_ui, *pats, **opts):
+ if pats and pats[0].endswith('.hgignore'):
+ pats = []
+ dialog = HgIgnoreDialog(*pats)
dialog.show_all()
dialog.connect('destroy', gtk.main_quit)
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import hglib
- opts = {'root' : hglib.rootpath()}
- run(**opts)
|
@@ -15,7 +15,7 @@
class InitDialog(gtk.Window):
""" Dialog to add tag to Mercurial repo """
- def __init__(self, cwd='', repos=[]):
+ def __init__(self, repos=[]):
""" Initialize the Dialog """
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
@@ -164,17 +164,10 @@ info_dialog(self, _('New repository created'),
_('in directory %s') % toutf(os.path.abspath(dest)))
-def run(cwd='', files=[], **opts):
- dialog = InitDialog(cwd, repos=files)
+def run(ui, *pats, **opts):
+ dialog = InitDialog(repos=pats)
dialog.show_all()
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- opts = {}
- opts['cwd'] = os.getcwd()
- opts['files'] = sys.argv[1:]
- run(**opts)
|
|
|
@@ -35,7 +35,7 @@ pdb.post_mortem(sys.exc_info()[2])
error = traceback.format_exc()
from bugreport import run
- run(**{'cmd':' '.join(sys.argv[1:]), 'error':error})
+ run(u, **{'cmd':' '.join(sys.argv[1:]), 'error':error})
def get_list_from_file(filename):
try:
@@ -164,116 +164,118 @@def about(ui, *pats, **opts):
"""about TortoiseHg"""
from hggtk.about import run
- run(**opts)
+ run(ui, *pats, **opts)
def add(ui, *pats, **opts):
"""add files"""
from mercurial import dispatch
dispatch.dispatch(['add'] + list(pats))
-def clone(ui, source=None, dest=None, **opts):
+def clone(ui, *pats, **opts):
"""clone tool"""
from hggtk.clone import run
- opts['files'] = [os.path.abspath(x) for x in (source, dest) if x]
- run(**opts)
+ run(ui, *pats, **opts)
def commit(ui, *pats, **opts):
"""commit tool"""
+ ct = ui.config('tortoisehg', 'extcommit', None)
+ if ct == 'qct':
+ from hglib import thgdispatch
+ args = ['--repository', root, ct]
+ try:
+ thgdispatch(repo.ui, args=args)
+ except SystemExit:
+ pass
+ return
+ # move cwd to repo root if repo is merged, so we can show
+ # all the changed files
+ repo = hg.repository(ui, path=hglib.rootpath())
+ if len(repo.changectx(None).parents()) > 1:
+ os.chdir(repo.root)
+ pats = []
from hggtk.commit import run
- opts['files'] = [os.path.abspath(x) for x in pats]
- run(**opts)
+ run(ui, *pats, **opts)
def shelve(ui, *pats, **opts):
"""shelve/unshelve tool"""
from hggtk.thgshelve import run
- opts['files'] = [os.path.abspath(x) for x in pats]
- run(**opts)
+ run(ui, *pats, **opts)
-def userconfig(ui, **opts):
+def userconfig(ui, *pats, **opts):
"""user configuration editor"""
from hggtk.thgconfig import run
- run(**opts)
+ opts['repomode'] = False
+ run(ui, *pats, **opts)
def repoconfig(ui, *pats, **opts):
"""repository configuration editor"""
from hggtk.thgconfig import run
- opts['files'] = opts['root']
- run(**opts)
+ opts['repomode'] = True
+ run(ui, *pats, **opts)
def rename(ui, *pats, **opts):
"""rename a single file or directory"""
from hggtk.rename import run
if not pats or len(pats) > 2:
raise util.Abort(_('rename takes one or two path arguments'))
- opts['files'] = pats
- run(**opts)
+ run(ui, *pats, **opts)
def guess(ui, *pats, **opts):
"""guess previous renames or copies"""
from hggtk.guess import run
- run(**opts)
+ run(ui, *pats, **opts)
def datamine(ui, *pats, **opts):
"""repository search and annotate tool"""
from hggtk.datamine import run
- opts['files'] = pats or []
- opts['cwd'] = os.getcwd()
- run(**opts)
+ run(ui, *pats, **opts)
def hgignore(ui, *pats, **opts):
"""ignore filter editor"""
from hggtk.hgignore import run
- if pats and not pats[0].endswith('.hgignore'):
- opts['fileglob'] = pats[0]
- run(**opts)
+ run(ui, *pats, **opts)
-def hginit(ui, dest=None, **opts):
+def hginit(ui, *pats, **opts):
"""repository initialization tool"""
from hggtk.hginit import run
- if dest:
- opts['files'] = [dest]
- run(**opts)
+ run(ui, *pats, **opts)
def log(ui, *pats, **opts):
"""changelog viewer"""
from hggtk.history import run
- opts['files'] = [os.path.abspath(x) for x in pats]
- run(**opts)
+ run(ui, *pats, **opts)
def merge(ui, node=None, rev=None, **opts):
- """merge tool """
+ """merge tool"""
from hggtk.merge import run
- run(**opts)
+ run(ui, *pats, **opts)
def recovery(ui, *pats, **opts):
"""recover, rollback & verify"""
from hggtk.recovery import run
- run(**opts)
+ run(ui, *pats, **opts)
def remove(ui, *pats, **opts):
"""file status viewer in remove mode"""
from hggtk.status import run
- opts['files'] = [os.path.abspath(x) for x in pats]
- run(**opts)
+ run(ui, *pats, **opts)
def revert(ui, *pats, **opts):
"""file status viewer in revert mode"""
from hggtk.status import run
- opts['files'] = [os.path.abspath(x) for x in pats]
- run(**opts)
+ run(ui, *pats, **opts)
-def serve(ui, **opts):
+def serve(ui, *pats, **opts):
"""web server"""
from hggtk.serve import run
- run(**opts)
+ run(ui, *pats, **opts)
def status(ui, *pats, **opts):
"""file status viewer"""
from hggtk.status import run
- opts['files'] = [os.path.abspath(x) for x in pats]
- run(**opts)
+ run(ui, *pats, **opts)
-def synch(ui, **opts):
+def synch(ui, *pats, **opts):
"""repository synchronization tool"""
from hggtk.synch import run
cmd = sys.argv[1]
@@ -281,17 +283,17 @@ opts['pushmode'] = True
else:
opts['pushmode'] = False
- run(**opts)
+ run(ui, *pats, **opts)
-def update(ui, **opts):
+def update(ui, *pats, **opts):
"""update/checkout tool"""
from hggtk.update import run
- run(**opts)
+ run(ui, *pats, **opts)
def vdiff(ui, *pats, **opts):
"""launch configured visual diff tool"""
from hggtk.visdiff import run
- run(pats, **opts)
+ run(ui, *pats, **opts)
### help management, adapted from mercurial.commands.help_()
def help_(ui, name=None, with_version=False):
|
@@ -634,7 +634,7 @@ from update import UpdateDialog
rev = self.currow[treemodel.REVID]
parents = [x.node() for x in self.repo.changectx(None).parents()]
- dialog = UpdateDialog(self.cwd, rev)
+ dialog = UpdateDialog(rev)
dialog.set_transient_for(self)
dialog.show_all()
dialog.set_notify_func(self.checkout_completed, parents)
@@ -651,7 +651,7 @@ rev = self.currow[treemodel.REVID]
parents = [x.node() for x in self.repo.changectx(None).parents()]
node = short(self.repo.changelog.node(rev))
- dialog = MergeDialog(self.repo.root, self.cwd, node)
+ dialog = MergeDialog(self.repo.root, node)
dialog.set_transient_for(self)
dialog.show_all()
dialog.set_notify_func(self.merge_completed, parents)
@@ -726,33 +726,17 @@ self._menu.get_children()[0].activate()
return True
-def run(root='', cwd='', files=[], limit='', **opts):
- u = ui.ui()
- u.updateopts(debug=False, traceback=False)
- repo = hg.repository(u, path=root)
-
- files = [util.canonpath(root, cwd, f) for f in files]
-
+def run(ui, *pats, **opts):
cmdoptions = {
'follow':False, 'follow-first':False, 'copies':False, 'keyword':[],
- 'limit':limit, 'rev':[], 'removed':False, 'no_merges':False, 'date':None,
- 'only_merges':None, 'prune':[], 'git':False, 'verbose':False,
- 'include':[], 'exclude':[]
+ 'limit':limit, 'rev':[], 'removed':False, 'no_merges':False,
+ 'date':None, 'only_merges':None, 'prune':[], 'git':False,
+ 'verbose':False, 'include':[], 'exclude':[]
}
- dialog = GLog(u, repo, cwd, files, cmdoptions, True)
-
+ dialog = GLog(u, None, None, pats, cmdoptions, True)
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
dialog.display()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- opts = {}
- path = len(sys.argv) > 1 and sys.argv[1] or os.getcwd()
- opts['root'] = os.path.abspath(path)
- opts['files'] = [opts['root']]
- opts['limit'] = ''
- run(**opts)
|
@@ -232,15 +232,6 @@ return True
return False
-def run(root='', files=[], **opts):
- dialog = HistoryDialog(root=root, files=files)
- dialog.show_all()
- dialog.connect('response', gtk.main_quit)
- gtk.gdk.threads_init()
- gtk.gdk.threads_enter()
- gtk.main()
- gtk.gdk.threads_leave()
-
def select(root='', files=[]):
dialog = HistoryDialog(root=root, files=files, select=True)
resp = dialog.run()
@@ -249,9 +240,3 @@ rev = dialog.selected[1]
dialog.hide()
return rev
-
-if __name__ == "__main__":
- import sys
- opts = {}
- opts['root'] = len(sys.argv) > 1 and sys.argv[1:] or []
- run(**opts)
|
@@ -230,14 +230,3 @@ dlg = CmdDialog(['hg', 'help', 'dates'], False)
dlg.run()
dlg.hide()
-
-if __name__ == "__main__":
- # this dialog is not designed for standalone use
- # this is for debugging only
- dialog = FilterDialog()
- dialog.show_all()
- dialog.connect('response', gtk.main_quit)
- gtk.gdk.threads_init()
- gtk.gdk.threads_enter()
- gtk.main()
- gtk.gdk.threads_leave()
|
@@ -11,14 +11,14 @@ from mercurial.node import *
from mercurial.i18n import _
from mercurial import util, hg, ui
-from hglib import RepoError
from hgcmd import CmdDialog
from shlib import set_tortoise_icon, shell_notify
import histselect
+import hglib
class MergeDialog(gtk.Window):
""" Dialog to merge revisions of a Mercurial repo """
- def __init__(self, root='', cwd='', rev=''):
+ def __init__(self, root='', rev=''):
""" Initialize the Dialog """
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
@@ -28,8 +28,7 @@ if root: title += " - %s" % root
self.set_title(title)
- self.root = root
- self.cwd = cwd or root
+ self.root = root or hglib.rootpath()
self.rev = rev
self.repo = None
self.notify_func = None
@@ -125,7 +124,7 @@ # FIXME: force hg to refresh parents info
del self.repo
self.repo = hg.repository(ui.ui(), path=self.root)
- except RepoError:
+ except hglib.RepoError:
return None
# populate parent rev data
@@ -207,7 +206,7 @@ dlg.hide()
if self.notify_func:
self.notify_func(self.notify_args)
- shell_notify([self.cwd])
+ shell_notify([self.root])
self._refresh()
def _do_merge(self):
@@ -231,22 +230,16 @@ dlg = CmdDialog(cmdline)
dlg.run()
dlg.hide()
- shell_notify([self.cwd])
+ shell_notify([self.root])
if self.notify_func:
self.notify_func(self.notify_args)
self._refresh()
-def run(root='', cwd='', rev='', **opts):
- dialog = MergeDialog(root, cwd, rev)
+def run(ui, *pats, **opts):
+ dialog = MergeDialog()
dialog.connect('destroy', gtk.main_quit)
dialog.show_all()
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- opts = {}
- opts['root'] = len(sys.argv) > 1 and sys.argv[1] or ''
- run(**opts)
|
@@ -15,18 +15,17 @@ from mercurial.i18n import _
from mercurial import hg, ui, util
from dialog import error_dialog, question_dialog
-from hglib import HgThread, toutf, RepoError
+from hglib import HgThread, toutf, RepoError, rootpath
from shlib import set_tortoise_icon, shell_notify
import gtklib
class RecoveryDialog(gtk.Window):
- def __init__(self, cwd='', root=''):
+ def __init__(self):
""" Initialize the Dialog. """
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
set_tortoise_icon(self, 'general.ico')
- self.root = root
- self.cwd = cwd
+ self.root = rootpath()
self.selected_path = None
self.hgthread = None
self.connect('delete-event', self._delete)
@@ -129,7 +128,7 @@ def _notify(self, ret, *args):
import time
time.sleep(0.5) # give fs some time to pick up changes
- shell_notify([self.cwd])
+ shell_notify([self.root])
def _rollback_clicked(self, toolbutton, data=None):
response = question_dialog(self, _('Rollback repository'),
@@ -208,14 +207,10 @@ self.write(_('[command interrupted]'))
return False # Stop polling this function
-def run(cwd='', root='', **opts):
- dialog = RecoveryDialog(cwd, root)
+def run(ui, *pats, **opts):
+ dialog = RecoveryDialog(root)
dialog.show_all()
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- run(*sys.argv[1:])
|
@@ -14,12 +14,11 @@ from hglib import toutf, fromutf, rootpath, RepoError
import gtklib
-def run(files = [], root='', cwd='', **opts):
- if cwd: os.chdir(cwd)
+def run(ui, *pats, **opts):
fname, target = '', ''
try:
- fname = files[0]
- target = files[1]
+ fname = pats[0]
+ target = pats[1]
except IndexError:
pass
from dialog import entry_dialog
@@ -76,13 +75,3 @@ error_dialog(None, _('rename error'), textout)
elif toquit:
gtk.main_quit()
-
-if __name__ == "__main__":
- if '--detect' in sys.argv:
- opts['root'] = rootpath()
- opts['detect'] = True
- elif len(sys.argv) == 3:
- opts = {'files' : sys.argv[1:2] }
- else:
- opts = {'files' : [sys.argv[1]] }
- run(**opts)
|
@@ -27,7 +27,7 @@ gservice = None
class ServeDialog(gtk.Window):
""" Dialog to run web server"""
- def __init__(self, cwd='', root='', webdir_conf=''):
+ def __init__(self, webdir_conf):
""" Initialize the Dialog """
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
@@ -44,11 +44,8 @@ commands.table.update(thg_serve_cmd)
self._url = None
- self._root = root
+ self._root = hglib.rootpath()
self._webdirconf = webdir_conf
- if cwd:
- os.chdir(cwd)
-
self._get_config()
self.set_default_size(500, 300)
@@ -202,7 +199,7 @@
def _on_conf_clicked(self, *args):
from thgconfig import ConfigDialog
- dlg = ConfigDialog(self._root, True)
+ dlg = ConfigDialog(True)
dlg.show_all()
dlg.focus_field('web.name')
dlg.run()
@@ -344,20 +341,10 @@ ('', 'certificate', '', _('SSL certificate file'))],
_('hg serve [OPTION]...'))}
-
-def run(cwd='', root='', webdir_conf='', **opts):
- dialog = ServeDialog(cwd, root, webdir_conf)
+def run(ui, *pats, **opts):
+ dialog = ServeDialog(opts.get('webdir_conf'))
dialog.show_all()
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- opts = {}
- opts['cwd'] = os.getcwd()
- if len(sys.argv) == 2 and sys.argv[1].endswith('.conf'):
- opts['webdir_conf'] = sys.argv[1]
- else:
- opts['root'] = len(sys.argv) > 1 and sys.argv[1] or ''
- run(**opts)
|
@@ -9,7 +9,6 @@
import os
import cStringIO
-
import pygtk
import gtk
import pango
@@ -1311,29 +1310,17 @@ menu.get_children()[0].activate()
return True
-def run(root='', cwd='', files=[], **opts):
- u = ui.ui()
- u.updateopts(debug=False, traceback=False, quiet=True)
- repo = hg.repository(u, path=root)
-
- showclean = files and True or False
+def run(ui, *pats, **opts):
+ showclean = pats and True or False
cmdoptions = {
'all':False, 'clean':showclean, 'ignored':False, 'modified':True,
'added':True, 'removed':True, 'deleted':True, 'unknown':True, 'rev':[],
'exclude':[], 'include':[], 'debug':True, 'verbose':True, 'git':False,
'check':True
}
-
- dialog = GStatus(u, repo, cwd, files, cmdoptions, True)
-
+ dialog = GStatus(ui, None, None, pats, cmdoptions, True)
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
dialog.display()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- opts = {}
- opts['root'] = len(sys.argv) > 1 and sys.argv[1] or ''
- run(**opts)
|
@@ -20,13 +20,12 @@ import urllib
class SynchDialog(gtk.Window):
- def __init__(self, cwd='', root = '', repos=[], pushmode=False):
+ def __init__(self, repos=[], pushmode=False):
""" Initialize the Dialog. """
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
shlib.set_tortoise_icon(self, 'menusynch.ico')
- self.root = root
- self.cwd = cwd
+ self.root = rootpath()
self.selected_path = None
self.hgthread = None
@@ -43,7 +42,7 @@ extensions.load(self.ui, 'fetch', None)
extensions.load(self.ui, 'rebase', None)
- name = self.repo.ui.config('web', 'name') or os.path.basename(root)
+ name = self.repo.ui.config('web', 'name') or os.path.basename(self.root)
self.set_title(_('TortoiseHg Synchronize - ') + name)
self.connect('delete-event', self._delete)
@@ -300,7 +299,7 @@ from history import GLog
countpulled = len(self.repo.changelog) - self.origchangecount
opts = {'limit' : countpulled }
- dialog = GLog(self.ui, self.repo, self.cwd, [], opts, False)
+ dialog = GLog(self.ui, None, None, [], opts, False)
dialog.display()
def _update_to_tip(self, button):
@@ -446,7 +445,7 @@ newpath = None
break
from thgconfig import ConfigDialog
- dlg = ConfigDialog(self.root, True)
+ dlg = ConfigDialog(True)
dlg.show_all()
if newpath:
dlg.new_path(newpath)
@@ -617,13 +616,10 @@ value = getattr(getattr(self, member), 'get_%s'%attr)()
set_value(key, value)
-def run(cwd='', root='', files=[], pushmode=False, **opts):
- dialog = SynchDialog(cwd, root, files, pushmode)
+def run(ui, *pats, **opts):
+ dialog = SynchDialog(pats, opts.get('pushmode') or False)
dialog.show_all()
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- run(**{})
|
@@ -236,24 +236,3 @@ message = _('Removed tag %s') % name
r = self.repo.changectx(nullid).node()
self.repo.tag(name, r, message, local, user, date)
-
-def run(root='', tag='', rev='', **opts):
- dialog = TagAddDialog(root, tag, rev)
-
- # the dialog maybe called by another window/dialog, so we only
- # enable the close dialog handler if dialog is run as mainapp
- dialog.connect('destroy', gtk.main_quit)
-
- dialog.show_all()
- gtk.gdk.threads_init()
- gtk.gdk.threads_enter()
- gtk.main()
- gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- opts = {}
- opts['root'] = len(sys.argv) > 1 and sys.argv[1] or ''
- #opts['tag'] = 'mytag'
- #opts['rev'] = '-1'
- run(**opts)
|
@@ -13,7 +13,7 @@ from mercurial.i18n import _
from mercurial import hg, ui, util, url
from dialog import error_dialog, question_dialog
-from hglib import RepoError, toutf, fromutf
+from hglib import RepoError, toutf, fromutf, rootpath
import shlib
import iniparse
@@ -337,17 +337,14 @@ return ret
class ConfigDialog(gtk.Dialog):
- def __init__(self, root='',
- configrepo=False,
- focusfield=None,
- newpath=None):
+ def __init__(self, configrepo=False, focusfield=None, newpath=None):
""" Initialize the Dialog. """
gtk.Dialog.__init__(self, parent=None, flags=0,
buttons=(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE))
self.ui = ui.ui()
try:
- repo = hg.repository(self.ui, path=root)
+ repo = hg.repository(self.ui, path=rootpath())
except RepoError:
repo = None
if configrepo:
@@ -990,25 +987,11 @@ self.dirty = False
return 0
-def run(root='', cmdline=[], files=[], **opts):
- dialog = ConfigDialog(root, bool(files))
+def run(ui, *pats, **opts):
+ dialog = ConfigDialog(opts.get('repomode') or False)
dialog.show_all()
dialog.connect('response', gtk.main_quit)
- if '--focusfield' in cmdline:
- field = cmdline[cmdline.index('--focusfield')+1]
- dialog.focus_field(field)
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- # example command lines
- # python hggtk/thgconfig.py --focusfield ui.editor
- # python hggtk/thgconfig.py --focusfield paths.default --configrepo
- import sys
- opts = {}
- opts['root'] = os.getcwd()
- opts['cmdline'] = sys.argv
- opts['files'] = '--configrepo' in sys.argv and ['.'] or []
- run(**opts)
|
@@ -208,40 +208,19 @@ self._activate_shelve_buttons(True)
return True
+def run(_ui, *pats, **opts):
+ cmdoptions = {
+ 'user':opts.get('user', ''), 'date':opts.get('date', ''),
+ 'logfile':'', 'message':'',
+ 'modified':True, 'added':True, 'removed':True, 'deleted':True,
+ 'unknown':True, 'ignored':False,
+ 'exclude':[], 'include':[],
+ 'check': True, 'git':False, 'addremove':False,
+ }
-def launch(root='', files=[], cwd='', main=True):
- u = ui.ui()
- u.updateopts(debug=False, traceback=False)
- repo = hg.repository(u, path=root)
-
- cmdoptions = {
- 'user':'', 'date':'',
- 'modified':True, 'added':True, 'removed':True, 'deleted':True,
- 'unknown':False, 'ignored':False,
- 'exclude':[], 'include':[],
- 'check': True, 'git':False, 'logfile':'', 'addremove':False,
- }
-
- dialog = GShelve(u, repo, cwd, files, cmdoptions, main)
+ dialog = GShelve(_ui, None, None, pats, cmdoptions, True)
dialog.display()
- return dialog
-
-def run(root='', files=[], cwd='', **opts):
- # If no files or directories were selected, take current dir
- # TODO: Not clear if this is best; user may expect repo wide
- if not files and cwd:
- files = [cwd]
- if launch(root, files, cwd, True):
- gtk.gdk.threads_init()
- gtk.gdk.threads_enter()
- gtk.main()
- gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- from hglib import rootpath
-
- opts = {}
- opts['cwd'] = len(sys.argv) > 1 and sys.argv[1] or os.getcwd()
- opts['root'] = rootpath(opts['cwd'])
- run(**opts)
+ gtk.gdk.threads_init()
+ gtk.gdk.threads_enter()
+ gtk.main()
+ gtk.gdk.threads_leave()
|
@@ -17,12 +17,11 @@
class UpdateDialog(gtk.Window):
""" Dialog to update Mercurial repo """
- def __init__(self, cwd='', rev=None):
+ def __init__(self, rev=None):
""" Initialize the Dialog """
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
set_tortoise_icon(self, 'menucheckout.ico')
- self.cwd = cwd or os.getcwd()
- self.root = rootpath(self.cwd)
+ self.root = rootpath()
self.rev = rev
self.notify_func = None
@@ -33,7 +32,7 @@ return None
# set dialog title
- title = "hg update - %s" % toutf(self.cwd)
+ title = "hg update - %s" % toutf(self.root)
self.set_title(title)
self._create()
@@ -179,20 +178,13 @@ if self.notify_func:
self.notify_func(self.notify_args)
self._refresh()
- shell_notify([self.cwd])
+ shell_notify([self.root])
-def run(cwd='', rev=None, **opts):
- dialog = UpdateDialog(cwd, rev)
+def run(ui, *pats, **opts):
+ dialog = UpdateDialog()
dialog.connect('destroy', gtk.main_quit)
dialog.show_all()
gtk.gdk.threads_init()
gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
-
-if __name__ == "__main__":
- import sys
- opts = {}
- opts['cwd'] = len(sys.argv) > 1 and sys.argv[1] or ''
- #opts['rev'] = 123
- run(**opts)
|
@@ -47,7 +47,7 @@
class FileSelectionDialog(gtk.Dialog):
'Dialog for selecting visual diff candidates'
- def __init__(self, pats, opts):
+ def __init__(self, canonpats, opts):
'Initialize the Dialog'
gtk.Dialog.__init__(self)
self.set_title('Visual Diffs')
@@ -121,7 +121,7 @@ cwd = os.getcwd()
try:
os.chdir(repo.root)
- self.find_files(repo, pats, opts, model)
+ self.find_files(repo, canonpats, opts, model)
finally:
os.chdir(cwd)
else:
@@ -256,8 +256,12 @@ Prompt(_('Tool launch failure'),
_('%s : %s') % (self.diffpath, str(e)), None).run()
-def run(pats, **opts):
- dialog = FileSelectionDialog(pats, opts)
+def run(ui, *pats, **opts):
+ root = rootpath()
+ canonpats = []
+ for f in pats:
+ canonpats.append(util.canonpath(root, os.getcwd(), f))
+ dialog = FileSelectionDialog(canonpats, opts)
dialog.connect('destroy', gtk.main_quit)
dialog.show_all()
gtk.gdk.threads_init()
|
Loading...