258
258
"""Load the configuration."""
259
config = GlobalConfig()
259
config = get_global_config()
260
260
parser = config._get_parser()
262
qconfig = QBzrGlobalConfig()
263
qparser = qconfig._get_parser()
262
qconfig = get_qbzr_config()
326
325
item.setText(1, value)
329
self.diffShowIntergroupColors.setChecked(qconfig.get_user_option("diff_show_intergroup_colors") in ("True", "1"))
330
defaultDiff = qconfig.get_user_option("default_diff")
328
self.diffShowIntergroupColors.setChecked(qconfig.get_option("diff_show_intergroup_colors") in ("True", "1"))
329
defaultDiff = qconfig.get_option("default_diff")
331
330
if defaultDiff is None:
352
351
QtCore.Qt.ItemIsEnabled |
353
352
QtCore.Qt.ItemIsUserCheckable)
355
extDiffs = qparser.get('EXTDIFF', {})
354
extDiffs = qconfig.get_section('EXTDIFF')
356
355
for name, command in extDiffs.items():
357
356
create_ext_diff_item(name, command)
358
357
self.extDiffListIgnore = False
361
bzr_config = GlobalConfig()
360
bzr_config = get_global_config()
362
361
defaultMerge = bzr_config.get_user_option("external_merge")
363
362
if defaultMerge is None:
364
363
defaultMerge = ""
387
386
"""Save the configuration."""
388
config = GlobalConfig()
387
config = get_global_config()
389
388
parser = config._get_parser()
391
qconfig = QBzrGlobalConfig()
392
qparser = qconfig._get_parser()
390
qconfig = get_qbzr_config()
394
392
def set_or_delete_option(parser, name, value):
450
448
parser['DEFAULT']['bugtracker_%s_url' % abbrev] = url
453
set_or_delete_option(qparser, 'diff_show_intergroup_colors',
454
self.diffShowIntergroupColors.isChecked())
451
qconfig.set_option('diff_show_intergroup_colors',
452
self.diffShowIntergroupColors.isChecked())
455
454
defaultDiff = None
457
qparser['EXTDIFF'] = {}
458
456
for index in range(1, self.extDiffList.topLevelItemCount()):
459
457
item = self.extDiffList.topLevelItem(index)
460
458
name = unicode(item.text(0))
462
460
if item.checkState(0) == QtCore.Qt.Checked:
463
461
defaultDiff = command
464
462
if name and command:
465
qparser['EXTDIFF'][name] = command
466
set_or_delete_option(qparser, 'default_diff',
463
ext_diffs[name] = command
464
qconfig.set_section('EXTDIFF', ext_diffs)
465
qconfig.set_option('default_diff',
469
469
defaultMerge = None
470
470
for index in range(self.extMergeList.topLevelItemCount()):
471
471
item = self.extMergeList.topLevelItem(index)
472
472
definition = unicode(item.text(0))
473
473
if item.checkState(0) == QtCore.Qt.Checked:
474
defaultMerge = definition
474
defaultMerge = definition
476
476
set_or_delete_option(parser, 'external_merge',
479
def save_config(config, parser):
480
ensure_config_dir_exists(os.path.dirname(config._get_filename()))
481
f = open(config._get_filename(), 'wb')
479
if hasattr(config, 'file_name'):
480
file_name = config.file_name
482
file_name = config._get_filename()
483
ensure_config_dir_exists(os.path.dirname(file_name))
484
f = open(file_name, 'wb')
485
save_config(config, parser)
486
save_config(qconfig, qparser)
488
490
def do_accept(self):
489
491
"""Save changes and close the window."""