diff options
author | Abdó Roig-Maranges <abdo.roig@gmail.com> | 2012-12-06 15:12:54 +0100 |
---|---|---|
committer | hut <hut@lavabit.com> | 2012-12-09 15:16:45 +0100 |
commit | 864331a0edd73b364c22985bbb1aa7f55dcf25f4 (patch) | |
tree | 831b060f839eb11d34b17a58293b4220ff1800ff /ranger/core/actions.py | |
parent | a45403b7f5c055ecac308c6b6adb1fe3f892f6eb (diff) | |
download | ranger-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.py | 6 |
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) |