Changed this to be per-branch disable/enable, and left the global
option for when we figure out how to add it into the UI :)
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: file:///home/beuno/bzr_devel/gtk.dev/
# testament_sha1: 4aed3c49296f7f86639fa4f204697849e06aa9d4
# timestamp: 2008-04-03 21:44:47 -0300
# base_revision_id: [EMAIL PROTECTED]
# 3uq0k0p8sip8fqgk
#
# Begin patch
=== modified file 'nautilus-bzr.py'
--- nautilus-bzr.py 2008-03-04 21:59:30 +0000
+++ nautilus-bzr.py 2008-04-04 00:44:37 +0000
@@ -14,6 +14,7 @@
from bzrlib.errors import NotBranchError, NoWorkingTree, UnsupportedProtocol
from bzrlib.tree import file_status
from bzrlib.workingtree import WorkingTree
+from bzrlib.config import GlobalConfig
from bzrlib.plugin import load_plugins
load_plugins()
@@ -221,11 +222,14 @@
def get_background_items(self, window, vfs_file):
items = []
file = vfs_file.get_uri()
+
try:
tree, path = WorkingTree.open_containing(file)
+ disabled_flag = self.check_branch_enabled(tree.branch)
except UnsupportedProtocol:
return
except NotBranchError:
+ disabled_flag = self.check_branch_enabled()
item = nautilus.MenuItem('BzrNautilus::newtree',
'Make directory versioned',
'Create new Bazaar tree in this folder')
@@ -241,6 +245,19 @@
return items
except NoWorkingTree:
return
+
+ if disabled_flag == 'False':
+ item = nautilus.MenuItem('BzrNautilus::enable',
+ 'Enable Bazaar Plugin for this Branch',
+ 'Enable Bazaar plugin for nautilus')
+ item.connect('activate', self.enable_integration, vfs_file)
+ return item,
+ else:
+ item = nautilus.MenuItem('BzrNautilus::disable',
+ 'Disable Bazaar Plugin for the Branch',
+ 'Disable Bazaar plugin for nautilus')
+ item.connect('activate', self.disable_integration, vfs_file)
+ items.append(item)
item = nautilus.MenuItem('BzrNautilus::log',
'Log',
@@ -270,7 +287,7 @@
def get_file_items(self, window, files):
items = []
-
+
wtfiles = {}
for vfs_file in files:
# We can only cope with local files
@@ -280,9 +297,15 @@
file = vfs_file.get_uri()
try:
tree, path = WorkingTree.open_containing(file)
+ disabled_flag = self.check_branch_enabled(tree.branch)
except NotBranchError:
+ disabled_flag = self.check_branch_enabled()
if not vfs_file.is_directory():
continue
+
+ if disabled_flag == 'False':
+ return
+
item = nautilus.MenuItem('BzrNautilus::newtree',
'Make directory versioned',
'Create new Bazaar tree in %s' % vfs_file.get_name())
@@ -356,6 +379,7 @@
"Version control status"),
def update_file_info(self, file):
+
if file.get_uri_scheme() != 'file':
return
@@ -364,6 +388,10 @@
except NotBranchError:
return
except NoWorkingTree:
+ return
+
+ disabled_flag = self.check_branch_enabled(tree.branch)
+ if disabled_flag == 'False':
return
emblem = None
@@ -393,8 +421,45 @@
else:
# FIXME: Check for ignored files
status = 'unversioned'
- emblem = 'bzr-unversioned'
if emblem is not None:
file.add_emblem(emblem)
file.add_string_attribute('bzr_status', status)
+
+ def check_branch_enabled(self, branch=None):
+ # Supports global disable, but there is currently no UI to do this
+ config = GlobalConfig()
+ disabled_flag = config.get_user_option('nautilus_integration')
+ if disabled_flag != 'False':
+ if branch is not None:
+ config = branch.get_config()
+ disabled_flag = config.get_user_option('nautilus_integration')
+ return disabled_flag
+
+ def enable_integration(self, menu, vfs_file=None):
+ try:
+ tree, path = WorkingTree.open_containing(vfs_file.get_uri())
+ except NotBranchError:
+ return
+ except NoWorkingTree:
+ return
+ branch = tree.branch
+ if branch is None:
+ config = GlobalConfig()
+ else:
+ config = branch.get_config()
+ config.set_user_option('nautilus_integration','True')
+
+ def disable_integration(self, menu, vfs_file=None):
+ try:
+ tree, path = WorkingTree.open_containing(vfs_file.get_uri())
+ except NotBranchError:
+ return
+ except NoWorkingTree:
+ return
+ branch = tree.branch
+ if branch is None:
+ config = GlobalConfig()
+ else:
+ config = branch.get_config()
+ config.set_user_option('nautilus_integration','False')
# Begin bundle
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
--
bzr-gtk mailing list
[email protected]
Modify settings or unsubscribe at:
https://lists.canonical.com/mailman/listinfo/bzr-gtk