Changeset 283fe96bcb86…
Parent 08b697ca6875…
by
Changes to 2 files · Browse files at 283fe96bcb86 Showing diff from parent 08b697ca6875 Diff from another changeset...
|
|
@@ -117,142 +117,138 @@ 'synch', icon="menusynch.py"))
return thgmenu
- def get_commands(self, files):
+ def get_norepo_commands(self, cwd, files):
+ thgmenu = []
+ menu = TortoiseSubmenu(self.name, "Mercurial", [], icon="hg.ico")
+ menu.append(TortoiseMenu(_("Clone a Repository"),
+ _("clone a repository"),
+ 'clone', icon="menuclone.ico"))
+ menu.append(TortoiseMenu(_("Create Repository Here"),
+ _("create a new repository in this directory"),
+ 'init', icon="menucreaterepos.ico"))
+ menu.append(TortoiseMenu(_("Global Settings"),
+ _("Configure user wide settings"),
+ 'userconfig', icon="settings_user.ico"))
+ menu.append(TortoiseMenuSep())
+ menu.append(TortoiseMenu(_("About"), _("About TortoiseHg"),
+ 'about', icon="menuabout.ico"))
+ thgmenu.append(menu)
+ thgmenu.append(TortoiseMenuSep())
+ return thgmenu
+
+ def get_commands(self, repo, cwd, files):
"""
Get a list of commands valid for the current selection.
Commands are instances of TortoiseMenu, TortoiseMenuSep or TortoiseMenu
"""
- # open repo
- if type(files) != list:
- files = [files]
- if not files:
- return []
- rpath = files[0]
- repo = open_repo(rpath)
-
thgmenu = []
-
- if repo:
- thgmenu.append(TortoiseMenu(_("HG Commit..."),
- _("Commit changes in repository"),
- 'commit', icon="menucommit.ico"))
+ thgmenu.append(TortoiseMenu(_("HG Commit..."),
+ _("Commit changes in repository"),
+ 'commit', icon="menucommit.ico"))
menu = TortoiseSubmenu(self.name, "Mercurial", [], icon="hg.ico")
+ canannotate = len(files) > 0
+ hashgignore = False
+ for f in files:
+ if not os.path.isfile(f):
+ canannotate = False
+ if f.endswith('.hgignore'):
+ hashgignore = True
- if repo is None:
- menu.append(TortoiseMenu(_("Clone a Repository"),
- _("clone a repository"),
- 'clone', icon="menuclone.ico"))
- if os.path.isdir(rpath):
- menu.append(TortoiseMenu(_("Create Repository Here"),
- _("create a new repository in this directory"),
- 'init', icon="menucreaterepos.ico"))
- else:
- canannotate = len(files) > 0
- hashgignore = False
- for f in files:
- if not os.path.isfile(f):
- canannotate = False
- if f.endswith('.hgignore'):
- hashgignore = True
+ if hashgignore: # needs ico
+ menu.append(TortoiseMenu(_("Edit Ignore Filter"),
+ _("Edit repository ignore filter"),
+ 'hgignore', icon="general.ico"))
- if hashgignore: # needs ico
- menu.append(TortoiseMenu(_("Edit Ignore Filter"),
- _("Edit repository ignore filter"),
- 'hgignore', icon="general.ico"))
-
- menu.append(TortoiseMenu(_("View File Status"),
- _("Repository status"),
- 'status', icon="menushowchanged.ico"))
+ menu.append(TortoiseMenu(_("View File Status"),
+ _("Repository status"),
+ 'status', icon="menushowchanged.ico"))
- menu.append(TortoiseMenu(_("Shelve Changes"),
- _("Shelve or unshelve repository changes"),
- 'shelve', icon="general.ico")) # needs ico
+ menu.append(TortoiseMenu(_("Shelve Changes"),
+ _("Shelve or unshelve repository changes"),
+ 'shelve', icon="general.ico")) # needs ico
- # Visual Diff (any extdiff command)
- has_vdiff = repo.ui.config('tortoisehg', 'vdiff', '') != ''
- if has_vdiff:
- menu.append(TortoiseMenu(_("Visual Diff"),
+ # Visual Diff (any extdiff command)
+ has_vdiff = repo.ui.config('tortoisehg', 'vdiff', '') != ''
+ if has_vdiff:
+ menu.append(TortoiseMenu(_("Visual Diff"),
_("View changes using GUI diff tool"),
'vdiff', icon="TortoiseMerge.ico"))
- if len(files) == 0: # needs ico
- menu.append(TortoiseMenu(_("Guess Renames"),
- _("Detect renames and copies"),
- 'guess', icon="general.ico"))
- elif len(files) == 1: # needs ico
- menu.append(TortoiseMenu(_("Rename File"),
- _("Rename file or directory"),
- 'rename', icon="general.ico"))
+ if len(files) == 0: # needs ico
+ menu.append(TortoiseMenu(_("Guess Renames"),
+ _("Detect renames and copies"),
+ 'guess', icon="general.ico"))
+ elif len(files) == 1: # needs ico
+ menu.append(TortoiseMenu(_("Rename File"),
+ _("Rename file or directory"),
+ 'rename', icon="general.ico"))
- if len(files):
- menu.append(TortoiseMenu(_("Add Files"),
- _("Add files to Hg repository"),
- 'add', icon="menuadd.ico"))
- menu.append(TortoiseMenu(_("Remove Files"),
- _("Remove selected files on the next commit"),
- 'remove', icon="menudelete.ico"))
- menu.append(TortoiseMenu(_("Undo Changes"),
- _("Revert selected files"),
- 'revert', icon="menurevert.ico"))
+ if len(files):
+ menu.append(TortoiseMenu(_("Add Files"),
+ _("Add files to Hg repository"),
+ 'add', icon="menuadd.ico"))
+ menu.append(TortoiseMenu(_("Remove Files"),
+ _("Remove selected files on the next commit"),
+ 'remove', icon="menudelete.ico"))
+ menu.append(TortoiseMenu(_("Undo Changes"),
+ _("Revert selected files"),
+ 'revert', icon="menurevert.ico"))
- # we can only annotate file but not directories
- if canannotate:
- menu.append(TortoiseMenu(_("Annotate Files"),
+ # we can only annotate file but not directories
+ if canannotate:
+ menu.append(TortoiseMenu(_("Annotate Files"),
_("show changeset information per file line"),
- 'annotate', icon="menublame.ico"))
+ 'datamine', icon="menublame.ico"))
- menu.append(TortoiseMenuSep())
- menu.append(TortoiseMenu(_("Update To Revision"),
- _("update working directory"),
- 'update', icon="menucheckout.ico"))
+ menu.append(TortoiseMenuSep())
+ menu.append(TortoiseMenu(_("Update To Revision"),
+ _("update working directory"),
+ 'update', icon="menucheckout.ico"))
- canmerge = len(repo.heads()) > 1 and \
- len(repo.changectx(None).parents()) < 2
- if canmerge:
- menu.append(TortoiseMenu(_("Merge Revisions"),
- _("merge working directory with another revision"),
- 'merge', icon="menumerge.ico"))
+ if len(repo.changectx(None).parents()) < 2:
+ menu.append(TortoiseMenu(_("Merge Revisions"),
+ _("merge working directory with another revision"),
+ 'merge', icon="menumerge.ico"))
- inmerge = len(repo.changectx(None).parents()) > 1
- if inmerge:
- menu.append(TortoiseMenu(_("Undo Merge"),
- _("Undo merge by updating to revision"),
- 'unmerge', icon="menuunmerge.ico"))
+ inmerge = len(repo.changectx(None).parents()) > 1
+ if inmerge:
+ menu.append(TortoiseMenu(_("Undo Merge"),
+ _("Undo merge by updating to revision"),
+ 'merge', icon="menuunmerge.ico"))
+
+ menu.append(TortoiseMenuSep())
+
+ menu.append(TortoiseMenu(_("View Changelog"),
+ _("View revision history"),
+ 'history', icon="menulog.ico"))
+
+ if len(files) == 0:
+ menu.append(TortoiseMenu(_("Search Repository"),
+ _("Search revisions of files for a text pattern"),
+ 'grep', icon="menurepobrowse.ico"))
menu.append(TortoiseMenuSep())
- menu.append(TortoiseMenu(_("View Changelog"),
- _("View revision history"),
- 'history', icon="menulog.ico"))
+ menu.append(TortoiseMenu(_("Synchronize..."),
+ _("Synchronize with remote repository"),
+ '_synch', icon="menusynch.ico"))
+ menu.append(TortoiseMenu(_("Recovery..."),
+ _("General repair and recovery of repository"),
+ 'recovery', icon="general.ico"))
+ menu.append(TortoiseMenu(_("Web Server"),
+ _("start web server for this repository"),
+ 'serve', icon="proxy.ico"))
- if len(files) == 0:
- menu.append(TortoiseMenu(_("Search Repository"),
- _("Search revisions of files for a text pattern"),
- 'grep', icon="menurepobrowse.ico"))
-
- menu.append(TortoiseMenuSep())
-
- menu.append(TortoiseMenu(_("Synchronize..."),
- _("Synchronize with remote repository"),
- '_synch', icon="menusynch.ico"))
- menu.append(TortoiseMenu(_("Recovery..."),
- _("General repair and recovery of repository"),
- 'recovery', icon="general.ico"))
- menu.append(TortoiseMenu(_("Web Server"),
- _("start web server for this repository"),
- 'serve', icon="proxy.ico"))
-
- menu.append(TortoiseMenuSep())
- menu.append(TortoiseMenu(_("Create Clone"),
- _("Clone a repository here"),
- 'clone', icon="menuclone.ico"))
- caninit = repo.root != rpath and os.path.isdir(rpath)
- if caninit:
- menu.append(TortoiseMenu(_("Create Repository Here"),
- _("create a new repository in this directory"),
- 'init', icon="menucreaterepos.ico"))
+ menu.append(TortoiseMenuSep())
+ menu.append(TortoiseMenu(_("Create Clone"),
+ _("Clone a repository here"),
+ 'clone', icon="menuclone.ico"))
+ if repo.root != cwd:
+ menu.append(TortoiseMenu(_("Create Repository Here"),
+ _("create a new repository in this directory"),
+ 'init', icon="menucreaterepos.ico"))
# config settings menu
menu.append(TortoiseMenuSep())
@@ -261,10 +257,9 @@ optmenu.add_menu(_("Global"),
_("Configure user wide settings"),
'userconfig', icon="settings_user.ico")
- if repo:
- optmenu.add_menu(_("Repository"),
- _("Configure settings local to this repository"),
- 'repoconfig', icon="settings_repo.ico")
+ optmenu.add_menu(_("Repository"),
+ _("Configure settings local to this repository"),
+ 'repoconfig', icon="settings_repo.ico")
menu.append(optmenu)
# add common menu items
@@ -275,4 +270,3 @@ thgmenu.append(menu)
thgmenu.append(TortoiseMenuSep())
return thgmenu
-
|
Loading...