https://bugs.documentfoundation.org/show_bug.cgi?id=152550
--- Comment #6 from Mike Kaganski <[email protected]> --- (In reply to Eyal Rozenberg from comment #3) > > I agree that the settings discussed here are very problematic. These > > settings control these things: > > > > 1. User defaults stored in registrymodifications.xcu, used for new documents > > created when no default template is set: > > <item oor:path="/org.openoffice.Office.Writer/DefaultFont*"> > > 2. <style:default-style style:family="paragraph"> element in > > the current document; > > 3. Properties of *some* user-visible pre-defined styles, like "Default > > Paragraph Style" (which has internal name of "Standard"). > > Can you clarify the difference between (2.) and (3.)? Is (3.) outside of the > current document? Is it in the default template, if one exists? Let me try once more (sorry, the following is TL;DR). I suppose that it could look more confusing than it actually is, just because of this confusing dialog. Please start from the file format / document in mind. The document has a set of defaults for *any* paragraphs (in ODF, these are stored in the <style:default-style style:family="paragraph">). These defaults are used when any given setting is not set in a given style inheritance hierarchy, so the <style:default-style style:family="paragraph"> may be considered an implicit root of all <style:style style:name="*" style:family="paragraph"> inheritance trees. Remove any given property from a given ODF, and the program would need to use some default. If there is a configurable setting for it, the default value could (?) be obtained from there (tdf#150377). Or a hardcoded default should be used. Use of hardcoded default instead of a configurable setting has its own pros, like making documents more predictable even with some settings missing from them - *if* the hardcoded default is not likely to change across versions and locales and such. A document may be created from a template. A template is a document; and creating from a document basically copies everything (just a little bit simplifying), so *everything defined in the template* is used instead of any default or configuration - so defaults/settings are not relevant for template case. There is an option to not use any template (and this is the default); it has some own advantages (already mentioned flexibility). People may want to keep using it (e.g., because they simply don't want to bother with setting up a template; or because of some other considerations), and at the same time, they might want to define some custom properties for newly created documents (basically, they need something like partial "templates"). This is implemented by having some configurable user settings like '<item oor:path="/org.openoffice.Office.Writer/DefaultFont*">' in registrymodifications.xcu, used only when creating new documents, and only when no template is used for that. ==== With all that (I hope the description is reasonable complete), the behavior is flexible and defined. But the problem arises when one, for some completely weird reason, decides to merge three things in one control in a strange place. The place choice is the least of the problems here - because it's easy to move it anywhere; but no matter where you move it, it will be not less confusing, unless it's split into three (and there is already a place for one of the three). The specific controls there are font names and sizes: * Default * Heading * List * Caption * Index First, let's skip the most problematic "Default", and look at the rest. They all control only *two* things each: - the respective properties of respective paragraph styles in the current document; - the user settings under <item oor:path="/org.openoffice.Office.Writer/DefaultFont*"> in registrymodifications.xcu. What a user will *see* in the controls when they open this dialog? They will see the values from the current document (you can't have the dialog when Writer document is not current). There's no way to get the values from registrymodifications.xcu - only if they happen to be the same, e.g. because the current document is just created without a template, and the styles are not changed from the defaults... What will be saved when you press OK? Both. Previously, there was a "[ ] Current document only" checkbox in the bottom of that page, allowing only store that in the styles in current document, but without updating the user defaults in registrymodifications.xcu ... but I don't see it there anymore at least in 7.4.3.2 (I am sure there was some misguided decision to "simplify" the UI related to this). Now let's look at the most problematic "Default" entry. 1. What does it control? - The respective properties of <style:default-style style:family="paragraph"> (i.e., the root of *all* paragraph hierarchies); - the user settings under <item oor:path="/org.openoffice.Office.Writer/DefaultFont*"> in registrymodifications.xcu. Is this all? No. When setting the <style:default-style style:family="paragraph"> properties, it *also* resets respective properties in <style:style style:name="Standard" style:family="paragraph"> (i.e., the font properties of the "Default Paragraph Style"). So, there are *three* things that it controls. 2. What do you see in the controls when opening the dialog? You see the value of the respective properties in the "Default Paragraph Style". Not what is stored in style:default-style, nor what is set in registrymodifications.xcu. Given all that, I wonder how on earth a user could figure all the interrelations of this just by looking on the dialog, reading help, and even much of experimenting, without actually looking inside ODFs and registrymodifications.xcu... -- You are receiving this mail because: You are the assignee for the bug.
