$filename = save_tempfilename
end
+def mark_document_as_dirty
+ $xmldoc.elements.each('//dir') { |elem|
+ elem.delete_attribute('already-generated')
+ }
+end
+
#- ret: true => ok false => cancel
def ask_save_modifications(msg1, msg2, *options)
ret = true
if $generated_outofline
begin
$xmldoc = REXML::Document.new File.new($orig_filename)
- $xmldoc.elements.each('//dir') { |elem|
- elem.delete_attribute('already-generated')
- }
+ mark_document_as_dirty
ios = File.open($orig_filename, "w")
$xmldoc.write(ios, 0)
ios.close
return utf8(_("Corrupted booh file..."))
end
+ if $xmldoc.root.attributes['version'] != $VERSION
+ msg 2, _("File's version %s, booh version now #{$VERSION}, marking dirty") % [ $xmldoc.root.attributes['version'], $VERSION ]
+ mark_document_as_dirty
+ $xmldoc.root.add_attribute('version', $VERSION)
+ end
+
limit_sizes = $xmldoc.root.attributes['limit-sizes']
optimizefor32 = !$xmldoc.root.attributes['optimize-for-32'].nil?
nperrow = $xmldoc.root.attributes['thumbnails-per-row']
dialog.destroy
if ok && (save_theme != theme || save_limit_sizes != limit_sizes || save_opt432 != opt432 || save_nperrow != nperrow)
- $xmldoc.elements.each('//dir') { |elem|
- elem.delete_attribute('already-generated')
- }
+ mark_document_as_dirty
save_current_file
call_backend("booh-backend --use-config '#{$filename}' --for-gui --verbose-level #{$verbose_level} " +
"--thumbnails-per-row #{save_nperrow} --theme #{theme} --sizes #{save_limit_sizes.join(',')} " +
if $mode == 'merge_config' || $mode == 'use_config_changetheme'
$xmldoc.root.add_attribute('theme', $theme)
+ $xmldoc.root.add_attribute('version', $VERSION)
if $limit_sizes
$xmldoc.root.add_attribute('limit-sizes', $limit_sizes)
else