Hi Jordan,
On Sat, 2012-03-24 at 14:06 -0700, Jordan Chin wrote:
I began investigating this bug:
https://bugs.freedesktop.org/show_bug.cgi?id=35862
Lovely ! :-)
The bug is that the "Increase Font"/"Decrease Font" button should be
useable when one selects text of multiple sizes in Writer.
Right, that'd be really useful.
I tried to find where the button was being used and found that the
button for, for example, increasing the font size has an ID referenced
as FN_GROW_FONT_SIZE. I put print statements for any references I found
and was able to find the code that is executed when the button is clicked
Great detective work so far :-)
but I don't know what code activates/deactivates the actual
buttons. I suspect that since this functionality is available in Impress
but not Writer (which is what the bug is about), there could be some clue
if we consider where the code between Writer/Impress differs.
Good thought.
Currently I suspect the file svx/sdi/svx.sdi might have information, in
the definition of
So here is the sdi for this method:
sw/sdi/_textsh.sdi: FN_GROW_FONT_SIZE // status(final|play)
sw/sdi/_textsh.sdi- [
sw/sdi/_textsh.sdi- ExecMethod = ExecCharAttrArgs ;
sw/sdi/_textsh.sdi- StateMethod = GetAttrState ;
sw/sdi/_textsh.sdi-
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
sw/sdi/_textsh.sdi- ]
The 'StateMethod' is used to determine whether the button should be
enabled or disabled.
As I am new to LibreOffice, I'm wondering if anyone has any ideas where
I can look next?
So - poking at that 'GetAttrState' method we see:
sw/source/ui/shells/txtattr.cxx (SwTextShell::GetAttrState)
...
case FN_GROW_FONT_SIZE:
case FN_SHRINK_FONT_SIZE:
{
SvxScriptSetItem aSetItem( SID_ATTR_CHAR_FONTHEIGHT,
*rSet.GetPool() );
aSetItem.GetItemSet().Put( aCoreSet, sal_False );
if( !aSetItem.GetItemOfScript( rSh.GetScriptType() ))
rSet.DisableItem( nSlot );
nSlot = 0;
}
break;
And - I suspect - that this rSet.DisableItem is what you're wanting to
avoid :-)
Though - of course, I may be wildly wrong, I often am.
Thanks for working on this, looking forward to seeing it in action.
Having said that; I guess having the ability to do some nice font size
increase across a set of selected styles would be cool too ;-)
All the best,
Michael.
--
michael.meeks@suse.com <><, Pseudo Engineer, itinerant idiot
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.