Since these constants are bitfield flags, we define some methods to make
working with them reasonably type safe.
Move the definitions to outdevstate.hxx, since we need the values there,
and that appears to be the "root most" header file.
Also dump TEXT_LAYOUT_BIDI_LTR constant, since it means the same thing
as TEXT_LAYOUT_DEFAULT (ie. 0), and leaving it in causes people to write
weird code thinking that it's a real flag.
Change-Id: Iddab86cd6c78181ceb8caa48e77e1f5a8e526343
Reviewed-on: https://gerrit.libreoffice.org/10676
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
If the installed extension is removed, then the persona settings in
the registry are cleared to avoid odd look in the UI.
Change-Id: Iaa99f4c87ec6ce4a663e1a3cebb3f8ff45e02079
The user can install an oxt extension and choose his/her theme from
the Personalization page.
* Created a template in Common.xcs registry to hold the values for the
PersonasList set.
* Added 3 buttons to personalization_tab.ui to incorporate the latest 3
personas installed through extensions.
* Currently, only 3 installed personas are shown alongwith the default
available personas.
Change-Id: I30a40ae48d17f4ed8caef33854ef88afcbec5a54
* The themes are stored in the share folder under the personas directory
in the gallery. The information is stored in a personas_list.txt which
contains the info in the form headerFile;footerFile;textColor;AccentColor
for the default themes.
* Changed the personalization_tab.ui to include _three_ buttons to show
the default images.
* Changed the vcl/source/app/settings.cxx to read the persona information
properly in the case of default personas.
* Some variable name changes.
Change-Id: Ib5f2167729a5fb7eb8061925679560accb934a44
During the build different instances of gengal will create a temp file
called "instdir/share/config/cdefghij.klm", and enumerate the
directories in instdir/share/config; it may happen that the enumeration
sees the temp file, and it is removed before fetchFileStatus is called,
resulting in E_NOENT rc and the exception.
The FileIsValidIconTheme() should be able to handle most errors here.
(regression from 60954a8a96a66ff11e06b850838f3d16e8e1625f)
Change-Id: Id9361a37b8569d01509efcc8cda2bc17e9eabcd8
And even if that wasn't a problem, we don't use a macro for the log area
anywhere else in the codebase, so why suddenly introduce such a convention
here? What's the gain from that? On the contrary, haven't we been *reducing*
the amount of pointless #define FOO "foo" style stuff?
Change-Id: I1247dc499136cdf3ae1921e6ffe7c7f63d57cfc1
Find "missing headers," where a function is declared directly in the
.cxx (as extern) and not defined, and should arguably instead be declared
in an include file.
Change-Id: I6d83ee432b2ab0cd050aec2b27c3658d32ac02a2
Building, and running the unit/subsequent test on Mac cause massive amount
of flashing windows creation/destruction that make building with test
very annoying on a box used for other purposes.
This patch prevent the windows to be actually displayed hence mitigating
the problem
Change-Id: Ied2a36699b50856e0c4e6b618212481796ec99d3
This much ugly complexity, generating a header on every gbuild startup
etc. is really not warranted for 6 callers of the generated macros.
Also, the Win32 make has problems with the quoting.
Change-Id: If945e09c1730e52174a6084677842dc611d66b2f
This required some changes to the framework:
* Init-/DeInitVCL is no longer done per individual test in BootstrapFixture, but
once per CppunitTest invocation in a new vclbootstrapprotector (similarly to
the exisiting unobootstrapprotector). CppunitTests that need VCL now need to
declare gb_CppunitTest_use_vcl.
* For things to work properly, the UNO component context needs to be disposed
from within DeInitVCL (cf. Desktop's Application::DeInit called from
DeInitVCL). The easiest solution was to introduce an
Application::setDeInitHook (where the hook is called from DeInitVCL)
specifically for vclbootstrapprotector to call.
* PythonTests don't (yet) call DeInitVCL; they still hook into
BootstrapFixture's original test_init functionality (to call InitVCL), and do
not make use of the vclbootstrapprotector.
Change-Id: I4f3a3c75db30b58c1cd49d81c51db14902ed68b2
this reverts 081a0854635f4bc9f6f743ef4e2675c208405f74
because the heights and widths of the non .ui-converted dialogs are all too low
and everything is squished in them
Change-Id: I103eda4b3d43365c02ecedb6f37b995a682b2cf9
Add a method
bool IsValueChangedFromSaved()
to the various Button and Listbox classes.
Use it to simplify code like
if ( maBoldAppFont.GetSavedValue() !=
TriState(maBoldAppFont.IsChecked()) )
to
if ( maBoldAppFont.IsValueChangedFromSaved() )
Change-Id: I26b291d0980237497063ee301d63a49c7d2bc227
Reviewed-on: https://gerrit.libreoffice.org/9250
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
If pSVData->maWinData.mpFirstFrame is null in
Application::InitAppFontData() then we need to create a new WorkWindow.
Change-Id: I6665ff6525321554c8fd4943ec623978ce35f168
Reviewed-on: https://gerrit.libreoffice.org/9272
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
...so declare them as such. This avoids the recurring mistake of storing such
IDs as sal_uInt32, truncating in 64 bit environments, causing RemoveUserEvent to
potentially not remove the event, it thus firing "too late" and probably causing
a crash.
While at it, consolidate the trivially unnecessary overloads of both
Application::PostUserEvent and Window::PostUserEvent. And in each of them, it
looks like deleting the mpLink member was missing from the failure branch.
Change-Id: Iab13afbb06e12ac15dec6a6b5b85a7e402a3c654
I have renamed ImplInitAppFontData to InitAppFontData and moved it from
Window to Application. This is because this is something that sets
*application* global variables, it just so happens it gets it from a
Window parameter. But it should be set when the application starts, so I
have moved it to Main().
This was previously reverted, but I have since located what was causing
unit tests to fail and the font dropdowns to stop loading in writer:
see commit c6d7ba5f33c3 where Application::SetSettings() was setting
pImplSVData->maGDIData.mnAppFontX to zero.
Change-Id: I5da7073b0d8541f1a71a09b0a8337d012fc4134b
pImplSVData->maGDIData.mnAppFontX is *not* a flag to determine if
application font dimensions should be reset. The way it currently works
is:
1. Application::SetSettings() is called to reset Window settings,
etc.
2. Settings are updated on all windows - but at the same time
pImplSVData->maGDIData.mnAppFontX is set to zero as a way of indicating
to the global function ImplCalMapResolution that we need to get the font
from the first window, or if this isn't available then create a new dummy
WorkWindow and use this to get the font data, and set the application
font to this.
This is very odd. What we really should be doing is calling on
ImplInitAppFontData directly from within SetSettings() instead of making
ImplCalcMapResolution detect that mnAppFontX is zero and there is a
valid first frame window.
Ultimately, this was found when I commited f76026a43acc to move
ImplInitAppFontData from Window to Application. Somehow I entirely missed
that the font and style dropdowns in writer died, and I also somehow
a whole bunch of tests failed but I again didn't notice this either. With
this fix, I should be able to recommit the previous change.
Change-Id: Ib526954962fdc397fb3ddd3c21ae947d939db9e5
...and never overridden, so can be removed along with the dead
SVX_EVENT_COLUM_WINDOW_EXECUTE code that calls them.
Change-Id: Ie500066c083f8fbf649c64f2d61fb85901473b5c
This reverts commit f76026a43acc65465882924796d93e635c35fd90. This
brings back the paragraph style and font name combo boxes in Writer.
Change-Id: Idb28253797ef842d575fe10537f6e70faa34fe75
I have renamed ImplInitAppFontData to InitAppFontData and moved it from
Window to Application. This is because this is something that sets
*application* global variables, it just so happens it gets it from a
Window parameter. But it should be set when the application starts, so
I have moved it to Main().
Change-Id: I9d98aa5b533166f91352218af267930034648c7a
Reviewed-on: https://gerrit.libreoffice.org/9242
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
ImpObjStack uses it's own home-grown stack and stack functions. There
is a function that unwinds the stack, but really it would be better if
we used std::set. In fact, this is better, because the name ImpObjStack
is really not terribly descriptive. I've replaced it with a stack of
OutDevState objects.
Change-Id: I87bdd4340ad77b7ffd9ff176fa5a9ffeac8b8666
...mostly done with a rewriting Clang plugin, with just some manual tweaking
necessary to fix poor macro usage.
Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a