summary refs log tree commit diff stats
path: root/ranger/core/actions.py
diff options
context:
space:
mode:
authorAbdó Roig-Maranges <abdo.roig@gmail.com>2012-12-06 15:12:54 +0100
committerhut <hut@lavabit.com>2012-12-09 15:16:45 +0100
commit864331a0edd73b364c22985bbb1aa7f55dcf25f4 (patch)
tree831b060f839eb11d34b17a58293b4220ff1800ff /ranger/core/actions.py
parenta45403b7f5c055ecac308c6b6adb1fe3f892f6eb (diff)
downloadranger-864331a0edd73b364c22985bbb1aa7f55dcf25f4.tar.gz
Implement local per-directory settings
SettingObject can store settings local to a directory. Then LocalSettingObject
choses the right settings according to context.
Diffstat (limited to 'ranger/core/actions.py')
-rw-r--r--ranger/core/actions.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/ranger/core/actions.py b/ranger/core/actions.py
index 6df73cdf..0b4948a0 100644
--- a/ranger/core/actions.py
+++ b/ranger/core/actions.py
@@ -67,13 +67,15 @@ class Actions(FileManagerAware, EnvironmentAware, SettingsAware):
 		self.mode = mode
 		self.ui.status.request_redraw()
 
-	def set_option_from_string(self, option_name, value):
+	def set_option_from_string(self, option_name, value, localpath=None):
 		if option_name not in ALLOWED_SETTINGS:
 			raise ValueError("The option named `%s' does not exist" %
 					option_name)
 		if not isinstance(value, str):
 			raise ValueError("The value for an option needs to be a string.")
-		self.settings[option_name] = self._parse_option_value(option_name, value)
+
+		self.settings.set(option_name, self._parse_option_value(option_name, value), localpath)
+
 
 	def _parse_option_value(self, name, value):
 		types = self.fm.settings.types_of(name)