diff options
author | Sebastian Koslowski <koslowski@kit.edu> | 2015-07-17 09:56:50 +0200 |
---|---|---|
committer | Sebastian Koslowski <koslowski@kit.edu> | 2015-07-17 09:56:50 +0200 |
commit | 2aad7187ddab012dd21f60e0d346add03869a20d (patch) | |
tree | f3eb897dcde408e895fc970dd43f61b848efed67 /grc/gui/Preferences.py | |
parent | 55d8f482f5acf33b8f629556a4fa5019908bb4be (diff) |
grc: refactor Preferences.py
Diffstat (limited to 'grc/gui/Preferences.py')
-rw-r--r-- | grc/gui/Preferences.py | 98 |
1 files changed, 61 insertions, 37 deletions
diff --git a/grc/gui/Preferences.py b/grc/gui/Preferences.py index e7b05519ea..109fe5e85e 100644 --- a/grc/gui/Preferences.py +++ b/grc/gui/Preferences.py @@ -18,24 +18,34 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA """ import ConfigParser -import os + _platform = None _config_parser = ConfigParser.ConfigParser() -def file_extension(): return '.'+_platform.get_key() + +def file_extension(): + return '.'+_platform.get_key() + def load(platform): global _platform _platform = platform - #create sections + # create sections _config_parser.add_section('main') _config_parser.add_section('files_open') - try: _config_parser.read(_platform.get_prefs_file()) - except: pass + try: + _config_parser.read(_platform.get_prefs_file()) + except: + pass + + def save(): - try: _config_parser.write(open(_platform.get_prefs_file(), 'w')) - except: pass + try: + _config_parser.write(open(_platform.get_prefs_file(), 'w')) + except: + pass + ########################################################################### # Special methods for specific program functionalities @@ -46,49 +56,63 @@ def main_window_size(size=None): _config_parser.set('main', 'main_window_width', size[0]) _config_parser.set('main', 'main_window_height', size[1]) else: - try: return ( - _config_parser.getint('main', 'main_window_width'), - _config_parser.getint('main', 'main_window_height'), - ) - except: return (1, 1) - -def file_open(file=None): - if file is not None: _config_parser.set('main', 'file_open', file) + try: + w = _config_parser.getint('main', 'main_window_width') + h = _config_parser.getint('main', 'main_window_height') + except: + w, h = 1, 1 + return w, h + + +def file_open(filename=None): + if filename is not None: + _config_parser.set('main', 'file_open', filename) else: - try: return _config_parser.get('main', 'file_open') - except: return '' + try: + return _config_parser.get('main', 'file_open') + except: + return '' + def files_open(files=None): if files is not None: - _config_parser.remove_section('files_open') #clear section + _config_parser.remove_section('files_open') # clear section _config_parser.add_section('files_open') - for i, file in enumerate(files): - _config_parser.set('files_open', 'file_open_%d'%i, file) + for i, filename in enumerate(files): + _config_parser.set('files_open', 'file_open_%d' % i, filename) + else: - files = list() - i = 0 - while True: - try: - files.append(_config_parser.get('files_open', 'file_open_%d'%i)) - except: - return files - i += 1 + try: + files = [value for name, value in _config_parser.items('files_open') + if name.startswith('file_open_')] + except: + files = [] + return files + def reports_window_position(pos=None): - if pos is not None: _config_parser.set('main', 'reports_window_position', pos) + if pos is not None: + _config_parser.set('main', 'reports_window_position', pos) else: - try: return _config_parser.getint('main', 'reports_window_position') or 1 #greater than 0 - except: return -1 + try: + return _config_parser.getint('main', 'reports_window_position') or 1 #greater than 0 + except: + return -1 + def blocks_window_position(pos=None): - if pos is not None: _config_parser.set('main', 'blocks_window_position', pos) + if pos is not None: + _config_parser.set('main', 'blocks_window_position', pos) else: - try: return _config_parser.getint('main', 'blocks_window_position') or 1 #greater than 0 - except: return -1 + try: + return _config_parser.getint('main', 'blocks_window_position') or 1 #greater than 0 + except: + return -1 + -def bool_entry(key, active=None, default=True): - if active is not None: - _config_parser.set('main', key, active) +def bool_entry(key, value=None, default=True): + if value is not None: + _config_parser.set('main', key, value) else: try: return _config_parser.getboolean('main', key) |