diff options
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/osx/salnsmenu.h | 10 | ||||
-rw-r--r-- | vcl/inc/osx/salprn.h | 2 | ||||
-rw-r--r-- | vcl/inc/salprn.hxx | 2 | ||||
-rw-r--r-- | vcl/inc/unx/genprn.h | 2 | ||||
-rw-r--r-- | vcl/inc/win/salprn.h | 2 | ||||
-rw-r--r-- | vcl/osx/salmenu.cxx | 13 | ||||
-rw-r--r-- | vcl/osx/salnsmenu.mm | 80 | ||||
-rw-r--r-- | vcl/osx/salprn.cxx | 5 | ||||
-rw-r--r-- | vcl/osx/vclnsapp.mm | 49 | ||||
-rw-r--r-- | vcl/qa/cppunit/pdfexport/data/tdf159817.fodt | 607 | ||||
-rw-r--r-- | vcl/qa/cppunit/pdfexport/pdfexport2.cxx | 56 | ||||
-rw-r--r-- | vcl/qt5/QtFrame.cxx | 14 | ||||
-rw-r--r-- | vcl/qt5/QtInstance.cxx | 5 | ||||
-rw-r--r-- | vcl/source/control/button.cxx | 6 | ||||
-rw-r--r-- | vcl/source/control/combobox.cxx | 9 | ||||
-rw-r--r-- | vcl/source/gdi/mtfxmldump.cxx | 2 | ||||
-rw-r--r-- | vcl/source/gdi/pdfwriter_impl.cxx | 2 | ||||
-rw-r--r-- | vcl/source/gdi/print.cxx | 8 | ||||
-rw-r--r-- | vcl/source/outdev/stack.cxx | 6 | ||||
-rw-r--r-- | vcl/source/window/paint.cxx | 2 | ||||
-rw-r--r-- | vcl/source/window/tabpage.cxx | 5 | ||||
-rw-r--r-- | vcl/source/window/window.cxx | 1 | ||||
-rw-r--r-- | vcl/unx/generic/print/genprnpsp.cxx | 5 | ||||
-rw-r--r-- | vcl/unx/gtk3/salnativewidgets-gtk.cxx | 20 | ||||
-rw-r--r-- | vcl/win/gdi/salprn.cxx | 16 |
25 files changed, 863 insertions, 66 deletions
diff --git a/vcl/inc/osx/salnsmenu.h b/vcl/inc/osx/salnsmenu.h index 696abca2fc..9e0f9acf68 100644 --- a/vcl/inc/osx/salnsmenu.h +++ b/vcl/inc/osx/salnsmenu.h @@ -35,17 +35,25 @@ class AquaSalMenuItem; { AquaSalMenu* mpMenu; } ++ (BOOL)dispatchSpecialKeyEquivalents:(NSEvent*)pEvent; - (id)initWithMenu:(AquaSalMenu*)pMenu; - (void)menuNeedsUpdate:(NSMenu*)pMenu; - (void)setSalMenu:(AquaSalMenu*)pMenu; @end -@interface SalNSMenuItem : NSMenuItem +@interface SalNSMenuItem : NSMenuItem <NSMenuItemValidation> { AquaSalMenuItem* mpMenuItem; } - (id)initWithMenuItem:(AquaSalMenuItem*)pMenuItem; - (void)menuItemTriggered:(id)aSender; +- (BOOL)validateMenuItem:(NSMenuItem*)pMenuItem; +@end + +@interface SalNSMainMenu : NSMenu +{ +} +- (BOOL)performKeyEquivalent:(NSEvent*)pEvent; @end #endif // INCLUDED_VCL_INC_OSX_SALNSMENU_H diff --git a/vcl/inc/osx/salprn.h b/vcl/inc/osx/salprn.h index 9c26e171db..cd26279517 100644 --- a/vcl/inc/osx/salprn.h +++ b/vcl/inc/osx/salprn.h @@ -84,6 +84,8 @@ class AquaSalInfoPrinter : public SalInfoPrinter virtual OUString GetPaperBinName( const ImplJobSetup* i_pSetupData, sal_uInt16 i_nPaperBin ) override; virtual sal_uInt16 GetPaperBinBySourceIndex(const ImplJobSetup* pSetupData, sal_uInt16 nPaperSource) override; + virtual sal_uInt16 GetSourceIndexByPaperBin(const ImplJobSetup* pSetupData, + sal_uInt16 nPaperBin) override; virtual void InitPaperFormats( const ImplJobSetup* i_pSetupData ) override; virtual int GetLandscapeAngle( const ImplJobSetup* i_pSetupData ) override; diff --git a/vcl/inc/salprn.hxx b/vcl/inc/salprn.hxx index ae0b313dab..05dca2fcab 100644 --- a/vcl/inc/salprn.hxx +++ b/vcl/inc/salprn.hxx @@ -84,6 +84,8 @@ public: virtual OUString GetPaperBinName( const ImplJobSetup* pSetupData, sal_uInt16 nPaperBin ) = 0; virtual sal_uInt16 GetPaperBinBySourceIndex(const ImplJobSetup* pSetupData, sal_uInt16 nPaperSource) = 0; + virtual sal_uInt16 GetSourceIndexByPaperBin(const ImplJobSetup* pSetupData, + sal_uInt16 nPaperSource) = 0; // fills m_aPaperFormats and sets m_bPapersInit to true virtual void InitPaperFormats( const ImplJobSetup* pSetupData ) = 0; diff --git a/vcl/inc/unx/genprn.h b/vcl/inc/unx/genprn.h index abe84b71ca..b4fb2c8b35 100644 --- a/vcl/inc/unx/genprn.h +++ b/vcl/inc/unx/genprn.h @@ -47,6 +47,8 @@ public: virtual OUString GetPaperBinName( const ImplJobSetup* pSetupData, sal_uInt16 nPaperBin ) override; virtual sal_uInt16 GetPaperBinBySourceIndex(const ImplJobSetup* pSetupData, sal_uInt16 nPaperSource) override; + virtual sal_uInt16 GetSourceIndexByPaperBin(const ImplJobSetup* pSetupData, + sal_uInt16 nPaperBin) override; virtual void InitPaperFormats( const ImplJobSetup* pSetupData ) override; virtual int GetLandscapeAngle( const ImplJobSetup* pSetupData ) override; }; diff --git a/vcl/inc/win/salprn.h b/vcl/inc/win/salprn.h index b0ec1697c3..d44687d8e0 100644 --- a/vcl/inc/win/salprn.h +++ b/vcl/inc/win/salprn.h @@ -71,6 +71,8 @@ public: virtual OUString GetPaperBinName( const ImplJobSetup* pSetupData, sal_uInt16 nPaperBin ) override; virtual sal_uInt16 GetPaperBinBySourceIndex(const ImplJobSetup* pSetupData, sal_uInt16 nPaperSource) override; + virtual sal_uInt16 GetSourceIndexByPaperBin(const ImplJobSetup* pSetupData, + sal_uInt16 nPaperBin) override; virtual void InitPaperFormats( const ImplJobSetup* pSetupData ) override; virtual int GetLandscapeAngle( const ImplJobSetup* pSetupData ) override; diff --git a/vcl/osx/salmenu.cxx b/vcl/osx/salmenu.cxx index b3d02587f4..6ea16a6588 100644 --- a/vcl/osx/salmenu.cxx +++ b/vcl/osx/salmenu.cxx @@ -125,7 +125,9 @@ static void initAppMenu() NSMenu* pAppMenu = nil; NSMenuItem* pNewItem = nil; - NSMenu* pMainMenu = [[[NSMenu alloc] initWithTitle: @"Main Menu"] autorelease]; + // Related: tdf#126638 use NSMenu subclass to catch and redirect key + // shortcuts when a modal window is displayed + SalNSMainMenu* pMainMenu = [[[SalNSMainMenu alloc] initWithTitle: @"Main Menu"] autorelease]; pNewItem = [pMainMenu addItemWithTitle: @"Application" action: nil keyEquivalent: @""]; @@ -230,12 +232,19 @@ AquaSalMenu::AquaSalMenu( bool bMenuBar ) : { mpMenu = [[SalNSMenu alloc] initWithMenu: this]; [mpMenu setDelegate: reinterpret_cast< id<NSMenuDelegate> >(mpMenu)]; + + // Related: tdf#126638 enable the menu's "autoenabledItems" property + // Enable the menu's "autoenabledItems" property so that + // -[SalNSMenuItem validateMenuItem:] will be called before handling + // a key shortcut and the menu item can be temporarily disabled if a + // modal window is displayed. + [mpMenu setAutoenablesItems: YES]; } else { mpMenu = [NSApp mainMenu]; + [mpMenu setAutoenablesItems: NO]; } - [mpMenu setAutoenablesItems: NO]; } AquaSalMenu::~AquaSalMenu() diff --git a/vcl/osx/salnsmenu.mm b/vcl/osx/salnsmenu.mm index b2df2da7e5..31627a35ea 100644 --- a/vcl/osx/salnsmenu.mm +++ b/vcl/osx/salnsmenu.mm @@ -30,6 +30,53 @@ #include <osx/salnsmenu.h> @implementation SalNSMenu + ++(BOOL)dispatchSpecialKeyEquivalents: (NSEvent*)pEvent +{ + if( pEvent && [pEvent type] == NSEventTypeKeyDown ) + { + unsigned int nModMask = ([pEvent modifierFlags] & (NSEventModifierFlagShift|NSEventModifierFlagControl|NSEventModifierFlagOption|NSEventModifierFlagCommand)); + if( nModMask == NSEventModifierFlagCommand ) + { + if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"v"] ) + { + if( [NSApp sendAction: @selector(paste:) to: nil from: nil] ) + return YES; + } + else if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"c"] ) + { + if( [NSApp sendAction: @selector(copy:) to: nil from: nil] ) + return YES; + } + else if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"x"] ) + { + if( [NSApp sendAction: @selector(cut:) to: nil from: nil] ) + return YES; + } + else if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"a"] ) + { + if( [NSApp sendAction: @selector(selectAll:) to: nil from: nil] ) + return YES; + } + else if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"z"] ) + { + if( [NSApp sendAction: @selector(undo:) to: nil from: nil] ) + return YES; + } + } + else if( nModMask == (NSEventModifierFlagCommand|NSEventModifierFlagShift) ) + { + if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"Z"] ) + { + if( [NSApp sendAction: @selector(redo:) to: nil from: nil] ) + return YES; + } + } + } + + return NO; +} + -(id)initWithMenu: (AquaSalMenu*)pMenu { mpMenu = pMenu; @@ -167,6 +214,19 @@ OSL_FAIL( "menubar item without frame !" ); } } + +-(BOOL)validateMenuItem: (NSMenuItem *)pMenuItem +{ + // Related: tdf#126638 disable all menu items when displaying modal windows + // For some unknown reason, key shortcuts are dispatched to the LibreOffice + // menu items instead of the modal window so disable all LibreOffice menu + // items while a native modal dialog such as the native Open, Save, or + // Print dialog is displayed. + if (!pMenuItem || [NSApp modalWindow]) + return NO; + + return [pMenuItem isEnabled]; +} @end @implementation OOStatusItemView @@ -257,5 +317,25 @@ SAL_WNODEPRECATED_DECLARATIONS_POP } @end +@implementation SalNSMainMenu + +- (BOOL)performKeyEquivalent:(NSEvent*)pEvent +{ + BOOL bRet = [super performKeyEquivalent: pEvent]; + + // tdf#126638 dispatch key shortcut events to modal windows + // Some modal windows, such as the native Open and Save dialogs, + // return NO from -[NSWindow performKeyEquivalent:]. Fortunately, + // the main menu's -[NSMenu performKeyEquivalent:] is then called + // so we can catch and redirect any modal window's key shortcut + // events without triggering the modal window's "disallowed + // action" beep. + if( !bRet && [NSApp modalWindow] ) + bRet = [SalNSMenu dispatchSpecialKeyEquivalents: pEvent]; + + return bRet; +} + +@end /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/osx/salprn.cxx b/vcl/osx/salprn.cxx index 3de45d9e80..3fe37a9ab5 100644 --- a/vcl/osx/salprn.cxx +++ b/vcl/osx/salprn.cxx @@ -270,6 +270,11 @@ sal_uInt16 AquaSalInfoPrinter::GetPaperBinBySourceIndex( const ImplJobSetup*, sa return 0xffff; } +sal_uInt16 AquaSalInfoPrinter::GetSourceIndexByPaperBin(const ImplJobSetup*, sal_uInt16) +{ + return 0; +} + sal_uInt32 AquaSalInfoPrinter::GetCapabilities( const ImplJobSetup*, PrinterCapType i_nType ) { switch( i_nType ) diff --git a/vcl/osx/vclnsapp.mm b/vcl/osx/vclnsapp.mm index 5daf923ce1..cd60cb0b0c 100644 --- a/vcl/osx/vclnsapp.mm +++ b/vcl/osx/vclnsapp.mm @@ -34,6 +34,7 @@ #include <osx/salframe.h> #include <osx/salframeview.h> #include <osx/salinst.h> +#include <osx/salnsmenu.h> #include <osx/vclnsapp.h> #include <quartz/utils.h> @@ -170,44 +171,8 @@ // precondition: this ONLY works because CMD-V (paste), CMD-C (copy) and CMD-X (cut) are // NOT localized, that is the same in all locales. Should this be // different in any locale, this hack will fail. - unsigned int nModMask = ([pEvent modifierFlags] & (NSEventModifierFlagShift|NSEventModifierFlagControl|NSEventModifierFlagOption|NSEventModifierFlagCommand)); - if( nModMask == NSEventModifierFlagCommand ) - { - - if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"v"] ) - { - if( [NSApp sendAction: @selector(paste:) to: nil from: nil] ) - return; - } - else if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"c"] ) - { - if( [NSApp sendAction: @selector(copy:) to: nil from: nil] ) - return; - } - else if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"x"] ) - { - if( [NSApp sendAction: @selector(cut:) to: nil from: nil] ) - return; - } - else if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"a"] ) - { - if( [NSApp sendAction: @selector(selectAll:) to: nil from: nil] ) - return; - } - else if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"z"] ) - { - if( [NSApp sendAction: @selector(undo:) to: nil from: nil] ) - return; - } - } - else if( nModMask == (NSEventModifierFlagCommand|NSEventModifierFlagShift) ) - { - if( [[pEvent charactersIgnoringModifiers] isEqualToString: @"Z"] ) - { - if( [NSApp sendAction: @selector(redo:) to: nil from: nil] ) - return; - } - } + if( [SalNSMenu dispatchSpecialKeyEquivalents:pEvent] ) + return; } } [super sendEvent: pEvent]; @@ -315,6 +280,14 @@ -(NSApplicationTerminateReply)applicationShouldTerminate: (NSApplication *) app { (void)app; + + // Related: tdf#126638 disable all menu items when displaying modal windows + // Although -[SalNSMenuItem validateMenuItem:] disables almost all menu + // items when a modal window is displayed, the standard Quit menu item + // does not get disabled so disable it here. + if ([NSApp modalWindow]) + return NSTerminateCancel; + NSApplicationTerminateReply aReply = NSTerminateNow; { SolarMutexGuard aGuard; diff --git a/vcl/qa/cppunit/pdfexport/data/tdf159817.fodt b/vcl/qa/cppunit/pdfexport/data/tdf159817.fodt new file mode 100644 index 0000000000..6aa986bdc6 --- /dev/null +++ b/vcl/qa/cppunit/pdfexport/data/tdf159817.fodt @@ -0,0 +1,607 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<office:document xmlns:css3t="http://www.w3.org/TR/css3-text/" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:rpt="http://openoffice.org/2005/report" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text"> + <office:meta><meta:generator>LibreOfficeDev/24.8.0.0.alpha0$MacOSX_AARCH64 LibreOffice_project/d8978a8c4ffabd6b36a691fd3e2df68563808234</meta:generator><meta:creation-date>2003-10-02T15:57:29</meta:creation-date><dc:date>2024-03-03T15:16:09.338790904</dc:date><meta:editing-cycles>880</meta:editing-cycles><meta:editing-duration>P124DT12H36M25S</meta:editing-duration><meta:print-date>2024-02-21T10:01:49.801000000</meta:print-date><meta:printed-by>Fichiers PDF</meta:printed-by><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="6" meta:word-count="21" meta:character-count="119" meta:non-whitespace-character-count="90"/><meta:user-defined meta:name="Info 1"/><meta:user-defined meta:name="Info 2"/><meta:user-defined meta:name="Info 3"/><meta:user-defined meta:name="Info 4"/></office:meta> + <office:settings> + <config:config-item-set config:name="ooo:view-settings"> + <config:config-item config:name="ViewAreaTop" config:type="long">0</config:config-item> + <config:config-item config:name="ViewAreaLeft" config:type="long">0</config:config-item> + <config:config-item config:name="ViewAreaWidth" config:type="long">20717</config:config-item> + <config:config-item config:name="ViewAreaHeight" config:type="long">10631</config:config-item> + <config:config-item config:name="ShowRedlineChanges" config:type="boolean">false</config:config-item> + <config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item> + <config:config-item-map-indexed config:name="Views"> + <config:config-item-map-entry> + <config:config-item config:name="ViewId" config:type="string">view2</config:config-item> + <config:config-item config:name="ViewLeft" config:type="long">11534</config:config-item> + <config:config-item config:name="ViewTop" config:type="long">5101</config:config-item> + <config:config-item config:name="VisibleLeft" config:type="long">0</config:config-item> + <config:config-item config:name="VisibleTop" config:type="long">0</config:config-item> + <config:config-item config:name="VisibleRight" config:type="long">20715</config:config-item> + <config:config-item config:name="VisibleBottom" config:type="long">10629</config:config-item> + <config:config-item config:name="ZoomType" config:type="short">0</config:config-item> + <config:config-item config:name="ViewLayoutColumns" config:type="short">1</config:config-item> + <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item> + <config:config-item config:name="ZoomFactor" config:type="short">140</config:config-item> + <config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item> + <config:config-item config:name="KeepRatio" config:type="boolean">false</config:config-item> + <config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item> + <config:config-item config:name="LegacySingleLineFontwork" config:type="boolean">true</config:config-item> + <config:config-item config:name="ConnectorUseSnapRect" config:type="boolean">false</config:config-item> + <config:config-item config:name="IgnoreBreakAfterMultilineField" config:type="boolean">false</config:config-item> + </config:config-item-map-entry> + </config:config-item-map-indexed> + </config:config-item-set> + <config:config-item-set config:name="ooo:configuration-settings"> + <config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item> + <config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrintHiddenText" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintTextPlaceholder" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintFaxName" config:type="string"/> + <config:config-item config:name="DisableOffPagePositioning" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item> + <config:config-item config:name="UseVariableWidthNBSP" config:type="boolean">false</config:config-item> + <config:config-item config:name="NoNumberingShowFollowBy" config:type="boolean">false</config:config-item> + <config:config-item config:name="JustifyLinesWithShrinking" config:type="boolean">false</config:config-item> + <config:config-item config:name="UseOldNumbering" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrintProspectRTL" config:type="boolean">false</config:config-item> + <config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">false</config:config-item> + <config:config-item config:name="ImagePreferredDPI" config:type="int">0</config:config-item> + <config:config-item config:name="GutterAtTop" config:type="boolean">false</config:config-item> + <config:config-item config:name="HeaderSpacingBelowLastPara" config:type="boolean">false</config:config-item> + <config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item> + <config:config-item config:name="ProtectFields" config:type="boolean">false</config:config-item> + <config:config-item config:name="EmptyDbFieldHidesPara" config:type="boolean">false</config:config-item> + <config:config-item config:name="TabsRelativeToIndent" config:type="boolean">true</config:config-item> + <config:config-item config:name="MsWordCompMinLineHeightByFly" config:type="boolean">false</config:config-item> + <config:config-item config:name="ApplyParagraphMarkFormatToNumbering" config:type="boolean">false</config:config-item> + <config:config-item config:name="SurroundTextWrapSmall" config:type="boolean">false</config:config-item> + <config:config-item config:name="ContinuousEndnotes" config:type="boolean">false</config:config-item> + <config:config-item config:name="TabOverSpacing" config:type="boolean">false</config:config-item> + <config:config-item config:name="SubtractFlysAnchoredAtFlys" config:type="boolean">true</config:config-item> + <config:config-item config:name="TabOverMargin" config:type="boolean">false</config:config-item> + <config:config-item config:name="RsidRoot" config:type="int">449756</config:config-item> + <config:config-item config:name="EmbedComplexScriptFonts" config:type="boolean">true</config:config-item> + <config:config-item config:name="HyphenateURLs" config:type="boolean">true</config:config-item> + <config:config-item config:name="EmbedAsianScriptFonts" config:type="boolean">true</config:config-item> + <config:config-item config:name="EmbedOnlyUsedFonts" config:type="boolean">false</config:config-item> + <config:config-item config:name="BackgroundParaOverDrawings" config:type="boolean">false</config:config-item> + <config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item> + <config:config-item config:name="NoGapAfterNoteNumber" config:type="boolean">false</config:config-item> + <config:config-item config:name="StylesNoDefault" config:type="boolean">false</config:config-item> + <config:config-item config:name="TabOverflow" config:type="boolean">false</config:config-item> + <config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item> + <config:config-item config:name="SmallCapsPercentage66" config:type="boolean">true</config:config-item> + <config:config-item config:name="CollapseEmptyCellPara" config:type="boolean">true</config:config-item> + <config:config-item config:name="MathBaselineAlignment" config:type="boolean">false</config:config-item> + <config:config-item config:name="DropCapPunctuation" config:type="boolean">false</config:config-item> + <config:config-item config:name="EmbedLatinScriptFonts" config:type="boolean">true</config:config-item> + <config:config-item config:name="MsWordCompTrailingBlanks" config:type="boolean">false</config:config-item> + <config:config-item config:name="Rsid" config:type="int">20255833</config:config-item> + <config:config-item config:name="IgnoreTabsAndBlanksForLineCalculation" config:type="boolean">false</config:config-item> + <config:config-item config:name="FootnoteInColumnToPageEnd" config:type="boolean">false</config:config-item> + <config:config-item config:name="ClipAsCharacterAnchoredWriterFlyFrames" config:type="boolean">false</config:config-item> + <config:config-item config:name="TreatSingleColumnBreakAsPageBreak" config:type="boolean">false</config:config-item> + <config:config-item config:name="AddParaTableSpacing" config:type="boolean">false</config:config-item> + <config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item> + <config:config-item config:name="UnxForceZeroExtLeading" config:type="boolean">true</config:config-item> + <config:config-item config:name="ProtectBookmarks" config:type="boolean">false</config:config-item> + <config:config-item config:name="ProtectForm" config:type="boolean">false</config:config-item> + <config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item> + <config:config-item config:name="DoNotCaptureDrawObjsOnPage" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item> + <config:config-item config:name="ClippedPictures" config:type="boolean">false</config:config-item> + <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/> + <config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item> + <config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item> + <config:config-item config:name="AlignTabStopPosition" config:type="boolean">false</config:config-item> + <config:config-item config:name="AutoFirstLineIndentDisregardLineSpace" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrinterPaperFromSetup" config:type="boolean">false</config:config-item> + <config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item> + <config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">true</config:config-item> + <config:config-item config:name="AddParaLineSpacingToTableCells" config:type="boolean">false</config:config-item> + <config:config-item config:name="UseOldPrinterMetrics" config:type="boolean">false</config:config-item> + <config:config-item config:name="PropLineSpacingShrinksFirstLine" config:type="boolean">false</config:config-item> + <config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item> + <config:config-item config:name="AddExternalLeading" config:type="boolean">false</config:config-item> + <config:config-item config:name="UseFormerLineSpacing" config:type="boolean">true</config:config-item> + <config:config-item config:name="AllowPrintJobCancel" config:type="boolean">false</config:config-item> + <config:config-item config:name="FrameAutowidthWithMorePara" config:type="boolean">false</config:config-item> + <config:config-item config:name="TableRowKeep" config:type="boolean">false</config:config-item> + <config:config-item config:name="UseFormerTextWrapping" config:type="boolean">true</config:config-item> + <config:config-item config:name="AddVerticalFrameOffsets" config:type="boolean">false</config:config-item> + <config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item> + <config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item> + <config:config-item config:name="UpdateFromTemplate" config:type="boolean">false</config:config-item> + <config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrinterIndependentLayout" config:type="string">low-resolution</config:config-item> + <config:config-item config:name="PrinterName" config:type="string">Canon iP7200 series</config:config-item> + <config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item> + <config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item> + <config:config-item config:name="EmbeddedDatabaseName" config:type="string"/> + <config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item> + <config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item> + <config:config-item config:name="CurrentDatabaseDataSource" config:type="string"/> + <config:config-item config:name="CurrentDatabaseCommand" config:type="string"/> + <config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintEmptyPages" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item> + <config:config-item config:name="SaveThumbnail" config:type="boolean">true</config:config-item> + <config:config-item config:name="EmbedSystemFonts" config:type="boolean">false</config:config-item> + <config:config-item config:name="UnbreakableNumberings" config:type="boolean">false</config:config-item> + <config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">false</config:config-item> + <config:config-item config:name="InvertBorderSpacing" config:type="boolean">false</config:config-item> + <config:config-item config:name="DoNotResetParaAttrsForNumFont" config:type="boolean">false</config:config-item> + <config:config-item config:name="TabAtLeftIndentForParagraphsInList" config:type="boolean">false</config:config-item> + <config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrinterSetup" config:type="base64Binary">NQH+/0Nhbm9uIGlQNzIwMCBzZXJpZXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ2Fub24gaVA3MjAwIHNlcmllcy1BaXJQcmludAAAAAAWAAQABAAAAAAAAAAEAAhSAAAEdAAAAAAAABIAQ09NUEFUX0RVUExFWF9NT0RFEwBEdXBsZXhNb2RlOjpVbmtub3duDABQUklOVEVSX05BTUUTAENhbm9uIGlQNzIwMCBzZXJpZXMLAERSSVZFUl9OQU1FHABDYW5vbiBpUDcyMDAgc2VyaWVzLUFpclByaW50</config:config-item> + </config:config-item-set> + </office:settings> + <office:scripts> + <office:script script:language="ooo:Basic"> + <ooo:libraries xmlns:ooo="http://openoffice.org/2004/office" xmlns:xlink="http://www.w3.org/1999/xlink"/> + </office:script> + </office:scripts> + <office:font-face-decls> + <style:font-face style:name="Arial" svg:font-family="Arial"/> + <style:font-face style:name="Arial Black" svg:font-family="'Arial Black'" style:font-family-generic="swiss" style:font-pitch="variable"/> + <style:font-face style:name="Arial1" svg:font-family="Arial" style:font-family-generic="swiss"/> + <style:font-face style:name="Arial2" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable"/> + <style:font-face style:name="Arial3" svg:font-family="Arial, sans-serif"/> + <style:font-face style:name="Lucida Sans Unicode" svg:font-family="'Lucida Sans Unicode'" style:font-pitch="variable"/> + <style:font-face style:name="MS Gothic" svg:font-family="'MS Gothic'" style:font-pitch="variable"/> + <style:font-face style:name="Magma" svg:font-family="Magma" style:font-adornments="Gras" style:font-pitch="variable"/> + <style:font-face style:name="StarSymbol" svg:font-family="StarSymbol" style:font-charset="x-symbol"/> + <style:font-face style:name="Tahoma" svg:font-family="Tahoma"/> + <style:font-face style:name="Tahoma1" svg:font-family="Tahoma" style:font-pitch="variable"/> + <style:font-face style:name="Times New Roman" svg:font-family="'Times New Roman'" style:font-family-generic="roman"/> + <style:font-face style:name="Times New Roman1" svg:font-family="'Times New Roman'" style:font-family-generic="roman" style:font-pitch="variable"/> + </office:font-face-decls> + <office:styles> + <style:default-style style:family="graphic"> + <style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:writing-mode="lr-tb" style:flow-with-text="true"/> + <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" loext:tab-stop-distance="0cm" style:font-independent-line-spacing="false"> + <style:tab-stops/> + </style:paragraph-properties> + <style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Times New Roman1" fo:font-size="12pt" fo:language="fr" fo:country="FR" style:font-name-asian="Lucida Sans Unicode" style:font-size-asian="12pt" style:language-asian="fr" style:country-asian="FR" style:font-name-complex="Tahoma1" style:font-size-complex="12pt" style:language-complex="fr" style:country-complex="FR"/> + </style:default-style> + <style:default-style style:family="paragraph"> + <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1cm" style:writing-mode="page"/> + <style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Times New Roman1" fo:font-size="12pt" fo:language="fr" fo:country="FR" style:font-name-asian="Lucida Sans Unicode" style:font-size-asian="12pt" style:language-asian="fr" style:country-asian="FR" style:font-name-complex="Tahoma1" style:font-size-complex="12pt" style:language-complex="fr" style:country-complex="FR" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" loext:hyphenation-no-caps="false" loext:hyphenation-no-last-word="false" loext:hyphenation-word-char-count="no-limit" loext:hyphenation-zone="no-limit"/> + </style:default-style> + <style:default-style style:family="table"> + <style:table-properties table:border-model="separating"/> + </style:default-style> + <style:default-style style:family="table-row"> + <style:table-row-properties fo:keep-together="always"/> + </style:default-style> + <style:style style:name="Standard" style:family="paragraph" style:class="text"/> + <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text"> + <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.212cm" style:contextual-spacing="false"/> + </style:style> + <style:style style:name="Heading" style:family="paragraph" style:next-style-name="Text_20_body" style:class="text" style:master-page-name=""> + <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.21cm" style:contextual-spacing="false" fo:text-align="center" style:justify-single-word="false" style:page-number="auto" fo:break-before="page" fo:keep-with-next="always"/> + <style:text-properties style:font-name="Arial Black" fo:font-family="'Arial Black'" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="24pt" fo:font-weight="900" style:font-name-asian="MS Gothic" style:font-family-asian="'MS Gothic'" style:font-pitch-asian="variable" style:font-size-asian="14pt" style:font-name-complex="Tahoma1" style:font-family-complex="Tahoma" style:font-pitch-complex="variable" style:font-size-complex="14pt"/> + </style:style> + <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list"> + <style:text-properties style:font-name-complex="Tahoma" style:font-family-complex="Tahoma"/> + </style:style> + <style:style style:name="Header_20_and_20_Footer" style:display-name="Header and Footer" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:paragraph-properties text:number-lines="false" text:line-number="0"> + <style:tab-stops> + <style:tab-stop style:position="8.5cm" style:type="center"/> + <style:tab-stop style:position="17cm" style:type="right"/> + </style:tab-stops> + </style:paragraph-properties> + </style:style> + <style:style style:name="Header" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:paragraph-properties text:number-lines="false" text:line-number="0"> + <style:tab-stops> + <style:tab-stop style:position="10.5cm" style:type="center"/> + <style:tab-stop style:position="21.001cm" style:type="right"/> + </style:tab-stops> + </style:paragraph-properties> + </style:style> + <style:style style:name="Footer" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:paragraph-properties text:number-lines="false" text:line-number="0"> + <style:tab-stops> + <style:tab-stop style:position="10.5cm" style:type="center"/> + <style:tab-stop style:position="21.001cm" style:type="right"/> + </style:tab-stops> + </style:paragraph-properties> + </style:style> + <style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:paragraph-properties fo:margin-top="0.212cm" fo:margin-bottom="0.212cm" style:contextual-spacing="false" text:number-lines="false" text:line-number="0"/> + <style:text-properties fo:font-size="10pt" fo:font-style="italic" style:font-size-asian="10pt" style:font-style-asian="italic" style:font-name-complex="Tahoma" style:font-family-complex="Tahoma" style:font-size-complex="10pt" style:font-style-complex="italic"/> + </style:style> + <style:style style:name="Frame_20_contents" style:display-name="Frame contents" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="extra"/> + <style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index"> + <style:paragraph-properties text:number-lines="false" text:line-number="0"/> + <style:text-properties style:font-name-complex="Tahoma" style:font-family-complex="Tahoma"/> + </style:style> + <style:style style:name="Normal" style:family="paragraph" style:parent-style-name="Standard"> + <style:paragraph-properties style:text-autospace="none"/> + <style:text-properties fo:font-size="10pt" style:font-size-asian="10pt" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="_5b_Aucun_20_style_20_de_20_paragraphe_5d_" style:display-name="[Aucun style de paragraphe]" style:family="paragraph"> + <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false" fo:line-height="120%" fo:text-align="start" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false" style:text-autospace="none" style:vertical-align="middle"/> + <style:text-properties fo:color="#000000" loext:opacity="100%" style:text-line-through-style="none" style:text-line-through-type="none" style:text-position="0% 100%" style:font-name="Times New Roman" fo:font-family="'Times New Roman'" style:font-family-generic="roman" fo:font-size="12pt" fo:letter-spacing="normal" fo:language="en" fo:country="GB" fo:font-style="normal" style:text-underline-style="none" fo:font-weight="normal" style:font-name-asian="Times New Roman" style:font-family-asian="'Times New Roman'" style:font-family-generic-asian="roman" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Times New Roman" style:font-family-complex="'Times New Roman'" style:font-family-generic-complex="roman" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:text-scale="100%"/> + </style:style> + <style:style style:name="Table_20_Contents" style:display-name="Table Contents" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:paragraph-properties text:number-lines="false" text:line-number="0"/> + </style:style> + <style:style style:name="Heading_20_1" style:display-name="Heading 1" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="_5b_Aucun_20_style_20_de_20_paragraphe_5d_" style:default-outline-level="1" style:class="text" style:master-page-name=""> + <style:paragraph-properties fo:margin-left="2cm" fo:margin-right="2cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false" fo:text-align="center" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false" style:page-number="auto" fo:break-before="page" style:shadow="none"> + <style:tab-stops/> + </style:paragraph-properties> + <style:text-properties fo:color="#000080" loext:opacity="100%" style:font-name="Magma" fo:font-family="Magma" style:font-style-name="Gras" style:font-pitch="variable" fo:font-size="22pt" fo:font-weight="bold" fo:background-color="transparent" style:font-size-asian="115%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/> + </style:style> + <style:style style:name="Heading_20_2" style:display-name="Heading 2" style:family="paragraph" style:parent-style-name="Heading_20_1" style:next-style-name="Text_20_body" style:auto-update="true" style:default-outline-level="2" style:class="text" style:master-page-name=""> + <style:paragraph-properties fo:text-align="start" style:justify-single-word="false" style:page-number="auto" fo:break-before="auto" fo:break-after="auto"/> + <style:text-properties fo:font-size="14pt" fo:font-style="normal" fo:font-weight="bold" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="12pt" style:font-style-complex="italic" style:font-weight-complex="bold"/> + </style:style> + <style:style style:name="Table_20_Heading" style:display-name="Table Heading" style:family="paragraph" style:parent-style-name="Table_20_Contents" style:class="extra"> + <style:paragraph-properties fo:text-align="center" style:justify-single-word="false" text:number-lines="false" text:line-number="0"/> + <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/> + </style:style> + <style:style style:name="List_20_Contents" style:display-name="List Contents" style:family="paragraph" style:parent-style-name="Standard" style:class="html"> + <style:paragraph-properties fo:margin-left="1cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false" fo:text-indent="0cm" style:auto-text-indent="false"/> + </style:style> + <style:style style:name="List_20_Heading" style:display-name="List Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="List_20_Contents" style:class="html"> + <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false" fo:text-indent="0cm" style:auto-text-indent="false"/> + </style:style> + <style:style style:name="Quotations" style:family="paragraph" style:parent-style-name="Standard" style:class="html"> + <style:paragraph-properties fo:margin-left="1cm" fo:margin-right="1cm" fo:margin-top="0cm" fo:margin-bottom="0.499cm" style:contextual-spacing="false" fo:text-indent="0cm" style:auto-text-indent="false"/> + </style:style> + <style:style style:name="Title" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="chapter"> + <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> + <style:text-properties fo:font-size="18pt" fo:font-weight="bold" style:font-size-asian="18pt" style:font-weight-asian="bold" style:font-size-complex="18pt" style:font-weight-complex="bold"/> + </style:style> + <style:style style:name="Subtitle" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="chapter"> + <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> + <style:text-properties fo:font-size="14pt" fo:font-style="italic" style:font-size-asian="14pt" style:font-style-asian="italic" style:font-size-complex="14pt" style:font-style-complex="italic"/> + </style:style> + <style:style style:name="Heading_20_3" style:display-name="Heading 3" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="3" style:class="text"> + <style:text-properties fo:font-size="14pt" fo:font-weight="bold" style:font-size-asian="14pt" style:font-weight-asian="bold" style:font-size-complex="14pt" style:font-weight-complex="bold"/> + </style:style> + <style:style style:name="Footnote_20_Symbol" style:display-name="Footnote Symbol" style:family="text"/> + <style:style style:name="Numbering_20_Symbols" style:display-name="Numbering Symbols" style:family="text"/> + <style:style style:name="Bullet_20_Symbols" style:display-name="Bullet Symbols" style:family="text"> + <style:text-properties style:font-name="StarSymbol" fo:font-family="StarSymbol" style:font-charset="x-symbol" fo:font-size="9pt" style:font-name-asian="StarSymbol" style:font-family-asian="StarSymbol" style:font-charset-asian="x-symbol" style:font-size-asian="9pt" style:font-name-complex="StarSymbol" style:font-family-complex="StarSymbol" style:font-charset-complex="x-symbol" style:font-size-complex="9pt"/> + </style:style> + <style:style style:name="Internet_20_link" style:display-name="Internet link" style:family="text"> + <style:text-properties fo:color="#000080" loext:opacity="100%" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color"/> + </style:style> + <style:style style:name="Endnote_20_Symbol" style:display-name="Endnote Symbol" style:family="text"/> + <style:style style:name="RTF_5f_Num_20_3_20_1" style:display-name="RTF_Num 3 1" style:family="text"> + <style:text-properties fo:color="#000000" loext:opacity="100%" style:font-name="Arial1" fo:font-family="Arial" style:font-family-generic="swiss" fo:font-size="12pt" style:font-name-asian="Arial1" style:font-family-asian="Arial" style:font-family-generic-asian="swiss" style:font-size-asian="12pt" style:font-name-complex="Arial1" style:font-family-complex="Arial" style:font-family-generic-complex="swiss" style:font-size-complex="12pt"/> + </style:style> + <style:style style:name="RTF_5f_Num_20_4_20_1" style:display-name="RTF_Num 4 1" style:family="text"> + <style:text-properties fo:color="#000000" loext:opacity="100%" style:font-name="Arial1" fo:font-family="Arial" style:font-family-generic="swiss" fo:font-size="12pt" style:font-name-asian="Arial1" style:font-family-asian="Arial" style:font-family-generic-asian="swiss" style:font-size-asian="12pt" style:font-name-complex="Arial1" style:font-family-complex="Arial" style:font-family-generic-complex="swiss" style:font-size-complex="12pt"/> + </style:style> + <style:style style:name="Strong_20_Emphasis" style:display-name="Strong Emphasis" style:family="text"> + <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/> + </style:style> + <style:style style:name="Footnote_20_anchor" style:display-name="Footnote anchor" style:family="text"> + <style:text-properties style:text-position="super 58%"/> + </style:style> + <style:style style:name="Endnote_20_anchor" style:display-name="Endnote anchor" style:family="text"> + <style:text-properties style:text-position="super 58%"/> + </style:style> + <style:style style:name="Frame" style:family="graphic"> + <style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" fo:margin-left="0.201cm" fo:margin-right="0.201cm" fo:margin-top="0.201cm" fo:margin-bottom="0.201cm" style:wrap="parallel" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:background-color="transparent" draw:fill="none" draw:fill-color="#729fcf" fo:padding="0.15cm" fo:border="0.06pt solid #000000"/> + </style:style> + <style:style style:name="Graphics" style:family="graphic"> + <style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph" fo:background-color="transparent" draw:fill="none" draw:fill-color="#729fcf"/> + </style:style> + <text:outline-style style:name="Outline"> + <text:outline-level-style text:level="1" loext:num-list-format="%1%" style:num-format=""> + <style:list-level-properties/> + </text:outline-level-style> + <text:outline-level-style text:level="2" loext:num-list-format="%2%" style:num-format=""> + <style:list-level-properties/> + </text:outline-level-style> + <text:outline-level-style text:level="3" loext:num-list-format="%3%" style:num-format=""> + <style:list-level-properties/> + </text:outline-level-style> + <text:outline-level-style text:level="4" loext:num-list-format="%4%" style:num-format=""> + <style:list-level-properties/> + </text:outline-level-style> + <text:outline-level-style text:level="5" loext:num-list-format="%5%" style:num-format=""> + <style:list-level-properties/> + </text:outline-level-style> + <text:outline-level-style text:level="6" loext:num-list-format="%6%" style:num-format=""> + <style:list-level-properties/> + </text:outline-level-style> + <text:outline-level-style text:level="7" loext:num-list-format="%7%" style:num-format=""> + <style:list-level-properties/> + </text:outline-level-style> + <text:outline-level-style text:level="8" loext:num-list-format="%8%" style:num-format=""> + <style:list-level-properties/> + </text:outline-level-style> + <text:outline-level-style text:level="9" loext:num-list-format="%9%" style:num-format=""> + <style:list-level-properties/> + </text:outline-level-style> + <text:outline-level-style text:level="10" loext:num-list-format="%10%" style:num-format=""> + <style:list-level-properties/> + </text:outline-level-style> + </text:outline-style> + <text:list-style style:name="RTF_5f_Num_20_2" style:display-name="RTF_Num 2"> + <text:list-level-style-number text:level="1" loext:num-list-format="%1%." style:num-suffix="." style:num-format="1"> + <style:list-level-properties text:min-label-width="0.499cm"/> + </text:list-level-style-number> + <text:list-level-style-number text:level="2" loext:num-list-format="%2%." style:num-suffix="." style:num-format="a" style:num-letter-sync="true"> + <style:list-level-properties text:space-before="0.501cm" text:min-label-width="0.499cm"/> + </text:list-level-style-number> + <text:list-level-style-number text:level="3" loext:num-list-format="%3%." style:num-suffix="." style:num-format="i"> + <style:list-level-properties text:space-before="1cm" text:min-label-width="0.499cm"/> + </text:list-level-style-number> + <text:list-level-style-number text:level="4" loext:num-list-format="(%4%)" style:num-prefix="(" style:num-suffix=")" style:num-format="1"> + <style:list-level-properties text:space-before="1.501cm" text:min-label-width="0.499cm"/> + </text:list-level-style-number> + <text:list-level-style-number text:level="5" loext:num-list-format="(%5%)" style:num-prefix="(" style:num-suffix=")" style:num-format="a" style:num-letter-sync="true"> + <style:list-level-properties text:space-before="2cm" text:min-label-width="0.499cm"/> + </text:list-level-style-number> + <text:list-level-style-number text:level="6" loext:num-list-format="(%6%)" style:num-prefix="(" style:num-suffix=")" style:num-format="i"> + <style:list-level-properties text:space-before="2.501cm" text:min-label-width="0.499cm"/> + </text:list-level-style-number> + <text:list-level-style-number text:level="7" loext:num-list-format="%7%." style:num-suffix="." style:num-format="1"> + <style:list-level-properties text:space-before="3.001cm" text:min-label-width="0.499cm"/> + </text:list-level-style-number> + <text:list-level-style-number text:level="8" loext:num-list-format="%8%." style:num-suffix="." style:num-format="a" style:num-letter-sync="true"> + <style:list-level-properties text:space-before="3.502cm" text:min-label-width="0.499cm"/> + </text:list-level-style-number> + <text:list-level-style-number text:level="9" loext:num-list-format="%9%" style:num-format="i"> + <style:list-level-properties text:space-before="4.001cm" text:min-label-width="0.499cm"/> + </text:list-level-style-number> + <text:list-level-style-number text:level="10" loext:num-list-format="%10%." style:num-suffix="." style:num-format="1"> + <style:list-level-properties text:space-before="4.502cm" text:min-label-width="0.499cm"/> + </text:list-level-style-number> + </text:list-style> + <text:notes-configuration text:note-class="footnote" text:citation-style-name="Footnote_20_Symbol" text:citation-body-style-name="Footnote_20_anchor" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="page"/> + <text:notes-configuration text:note-class="endnote" text:citation-style-name="Endnote_20_Symbol" text:citation-body-style-name="Endnote_20_anchor" text:master-page-name="Endnote" style:num-format="1" text:start-value="0"/> + <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/> + <loext:theme loext:name="Office"> + <loext:theme-colors loext:name="LibreOffice"> + <loext:color loext:name="dark1" loext:color="#000000"/> + <loext:color loext:name="light1" loext:color="#ffffff"/> + <loext:color loext:name="dark2" loext:color="#000000"/> + <loext:color loext:name="light2" loext:color="#ffffff"/> + <loext:color loext:name="accent1" loext:color="#18a303"/> + <loext:color loext:name="accent2" loext:color="#0369a3"/> + <loext:color loext:name="accent3" loext:color="#a33e03"/> + <loext:color loext:name="accent4" loext:color="#8e03a3"/> + <loext:color loext:name="accent5" loext:color="#c99c00"/> + <loext:color loext:name="accent6" loext:color="#c9211e"/> + <loext:color loext:name="hyperlink" loext:color="#0000ee"/> + <loext:color loext:name="followed-hyperlink" loext:color="#551a8b"/> + </loext:theme-colors> + </loext:theme> + </office:styles> + <office:automatic-styles> + <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Footer"> + <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="2.037cm" fo:text-align="end" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"> + <style:tab-stops> + <style:tab-stop style:position="10.5cm" style:type="center"/> + <style:tab-stop style:position="20.999cm" style:type="right"/> + </style:tab-stops> + </style:paragraph-properties> + </style:style> + <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Footer"> + <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="2.037cm" fo:text-align="end" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"> + <style:tab-stops> + <style:tab-stop style:position="10.5cm" style:type="center"/> + <style:tab-stop style:position="20.999cm" style:type="right"/> + </style:tab-stops> + </style:paragraph-properties> + </style:style> + <style:style style:name="P3" style:family="paragraph" style:parent-style-name="Normal"> + <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="2.037cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false" style:text-autospace="none"/> + <style:text-properties fo:color="#000000" loext:opacity="100%" style:font-name="Arial2" fo:font-size="10pt" style:font-name-asian="Arial2" style:font-size-asian="10pt" style:font-name-complex="Arial2" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P4" style:family="paragraph" style:parent-style-name="Normal"> + <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="2.037cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false" style:text-autospace="none"/> + <style:text-properties fo:color="#000000" loext:opacity="100%" style:font-name="Arial2" fo:font-size="10pt" officeooo:paragraph-rsid="01332ee8" style:font-name-asian="Arial2" style:font-size-asian="10pt" style:font-name-complex="Arial2" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P5" style:family="paragraph" style:parent-style-name="Normal" style:master-page-name=""> + <loext:graphic-properties draw:fill="none"/> + <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="2cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false" style:page-number="auto" fo:background-color="transparent" fo:padding-left="0.199cm" fo:padding-right="0.049cm" fo:padding-top="0.049cm" fo:padding-bottom="0.049cm" fo:border-left="3pt solid #b2b2b2" fo:border-right="none" fo:border-top="none" fo:border-bottom="none" style:text-autospace="none" style:join-border="true"/> + <style:text-properties fo:color="#000000" loext:opacity="100%" style:font-name="Arial2" fo:font-size="10pt" fo:language="fr" fo:country="FR" officeooo:paragraph-rsid="000a04a1" style:font-name-asian="Arial2" style:font-size-asian="10pt" style:font-name-complex="Arial2" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P6" style:family="paragraph" style:parent-style-name="Normal"> + <style:paragraph-properties fo:margin-left="2.011cm" fo:margin-right="2.037cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false" style:text-autospace="none"/> + <style:text-properties fo:color="#000000" loext:opacity="100%" style:font-name="Arial2" fo:font-size="10pt" fo:language="fr" fo:country="FR" officeooo:paragraph-rsid="012be791" style:font-name-asian="Arial2" style:font-size-asian="10pt" style:font-name-complex="Arial2" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P7" style:family="paragraph" style:parent-style-name="Standard" style:master-page-name="Perso_20_-_20_Première_20_page"> + <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="11.033cm" style:auto-text-indent="false" style:page-number="auto" style:text-autospace="none"/> + <style:text-properties fo:color="#000000" loext:opacity="100%" style:font-name="Arial" fo:font-size="11pt" fo:language="fr" fo:country="FR" fo:font-weight="bold" officeooo:rsid="00e842d8" style:font-name-asian="Arial2" style:font-size-asian="11pt" style:font-weight-asian="bold" style:font-name-complex="Arial2" style:font-size-complex="11pt" style:font-weight-complex="bold"/> + </style:style> + <style:style style:name="P8" style:family="paragraph"> + <style:paragraph-properties fo:text-align="start"/> + </style:style> + <style:style style:name="T1" style:family="text"> + <style:text-properties fo:background-color="#ffff00" loext:char-shading-value="0"/> + </style:style> + <style:style style:name="T2" style:family="text"> + <style:text-properties fo:background-color="#ffff00" loext:char-shading-value="0"/> + </style:style> + <style:style style:name="T3" style:family="text"> + <style:text-properties style:text-line-through-style="none" style:text-line-through-type="none" fo:font-size="9pt" fo:font-weight="normal" style:font-size-asian="9pt" style:font-weight-asian="normal" style:font-size-complex="9pt" style:font-weight-complex="normal"/> + </style:style> + <style:style style:name="T4" style:family="text"> + <style:text-properties style:text-line-through-style="none" style:text-line-through-type="none" fo:font-size="9pt" fo:font-weight="normal" officeooo:rsid="000a04a1" style:font-size-asian="9pt" style:font-weight-asian="normal" style:font-size-complex="9pt" style:font-weight-complex="normal"/> + </style:style> + <style:style style:name="T5" style:family="text"> + <style:text-properties style:text-line-through-style="none" style:text-line-through-type="none" fo:font-size="9pt" fo:language="fr" fo:country="FR" fo:font-weight="normal" style:font-size-asian="9pt" style:font-weight-asian="normal" style:font-size-complex="9pt" style:font-weight-complex="normal"/> + </style:style> + <style:style style:name="T6" style:family="text"> + <style:text-properties fo:language="fr" fo:country="FR" fo:font-weight="normal" style:font-weight-asian="normal" style:font-weight-complex="normal"/> + </style:style> + <style:style style:name="gr1" style:family="graphic"> + <style:graphic-properties loext:decorative="false" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="middle" style:vertical-rel="line" style:horizontal-pos="from-left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" loext:allow-overlap="true" style:flow-with-text="false"/> + </style:style> + <style:style style:name="gr2" style:family="graphic"> + <style:graphic-properties draw:textarea-vertical-align="middle" loext:decorative="false" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="middle" style:vertical-rel="line" style:horizontal-pos="from-left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" loext:allow-overlap="true" style:flow-with-text="false"/> + </style:style> + <style:page-layout style:name="pm1"> + <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="0cm" fo:margin-bottom="0cm" fo:margin-left="0cm" fo:margin-right="0cm" style:shadow="none" style:writing-mode="lr-tb" style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" style:layout-grid-mode="none" style:layout-grid-ruby-below="false" style:layout-grid-print="false" style:layout-grid-display="false" style:footnote-max-height="2cm" loext:margin-gutter="0cm"> + <style:columns fo:column-count="1" fo:column-gap="0cm"/> + <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="none" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> + </style:page-layout-properties> + <style:header-style> + <style:header-footer-properties fo:min-height="3.101cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-bottom="0.101cm" style:dynamic-spacing="false"/> + </style:header-style> + <style:footer-style> + <style:header-footer-properties fo:min-height="2.499cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm" style:dynamic-spacing="false"/> + </style:footer-style> + </style:page-layout> + <style:page-layout style:name="pm2"> + <style:page-layout-properties fo:page-width="20.999cm" fo:page-height="29.699cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" style:layout-grid-mode="none" style:layout-grid-ruby-below="false" style:layout-grid-print="false" style:layout-grid-display="false" style:footnote-max-height="0cm" loext:margin-gutter="0cm"> + <style:footnote-sep style:line-style="none" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> + </style:page-layout-properties> + <style:header-style/> + <style:footer-style/> + </style:page-layout> + <style:page-layout style:name="pm3"> + <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="1cm" fo:margin-bottom="1cm" fo:margin-left="2cm" fo:margin-right="1cm" style:writing-mode="lr-tb" style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" style:layout-grid-mode="none" style:layout-grid-ruby-below="false" style:layout-grid-print="false" style:layout-grid-display="false" style:footnote-max-height="0cm" loext:margin-gutter="0cm"> + <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="none" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> + </style:page-layout-properties> + <style:header-style/> + <style:footer-style/> + </style:page-layout> + <style:page-layout style:name="pm4"> + <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" style:layout-grid-mode="none" style:layout-grid-ruby-below="false" style:layout-grid-print="false" style:layout-grid-display="false" style:footnote-max-height="0cm" loext:margin-gutter="0cm"> + <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="none" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> + </style:page-layout-properties> + <style:header-style/> + <style:footer-style/> + </style:page-layout> + <style:page-layout style:name="pm5"> + <style:page-layout-properties fo:page-width="29.7cm" fo:page-height="21.001cm" style:num-format="1" style:print-orientation="landscape" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" style:layout-grid-mode="none" style:layout-grid-ruby-below="false" style:layout-grid-print="false" style:layout-grid-display="false" style:footnote-max-height="0cm" loext:margin-gutter="0cm"> + <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="none" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> + </style:page-layout-properties> + <style:header-style/> + <style:footer-style/> + </style:page-layout> + <style:page-layout style:name="pm6"> + <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="0cm" fo:margin-bottom="0cm" fo:margin-left="0cm" fo:margin-right="0cm" style:shadow="none" fo:background-color="transparent" style:writing-mode="lr-tb" style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" style:layout-grid-mode="none" style:layout-grid-ruby-below="false" style:layout-grid-print="false" style:layout-grid-display="false" draw:fill="none" draw:fill-color="#729fcf" style:repeat="stretch" draw:fill-image-ref-point="top-left" style:footnote-max-height="2cm" loext:margin-gutter="0cm"> + <style:columns fo:column-count="1" fo:column-gap="0cm"/> + <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="none" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> + </style:page-layout-properties> + <style:header-style> + <style:header-footer-properties fo:min-height="4.6cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-bottom="0.101cm" style:dynamic-spacing="false"/> + </style:header-style> + <style:footer-style> + <style:header-footer-properties fo:min-height="2.499cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm" style:dynamic-spacing="false"/> + </style:footer-style> + </style:page-layout> + <style:style style:name="dp1" style:family="drawing-page"> + <style:drawing-page-properties draw:background-size="full"/> + </style:style> + <style:style style:name="dp2" style:family="drawing-page"> + <style:drawing-page-properties draw:fill="none" draw:background-size="border" draw:fill-color="#729fcf" style:repeat="stretch" draw:fill-image-ref-point="top-left"/> + </style:style> + </office:automatic-styles> + <office:master-styles> + <style:master-page style:name="Standard" style:page-layout-name="pm1" draw:style-name="dp1"> + <style:header> + <text:p text:style-name="Header"/> + </style:header> + <style:footer> + <text:p text:style-name="P1">Page <text:page-number text:select-page="current">0</text:page-number><text:s/>/ <text:page-count>1</text:page-count><text:s text:c="2"/><text:span text:style-name="T1">Votre paraphe :</text:span></text:p> + <text:p text:style-name="P1"/> + </style:footer> + </style:master-page> + <style:master-page style:name="Endnote" style:page-layout-name="pm2" draw:style-name="dp1"/> + <style:master-page style:name="HTML" style:page-layout-name="pm3" draw:style-name="dp1"/> + <style:master-page style:name="First_20_Page" style:display-name="First Page" style:page-layout-name="pm4" draw:style-name="dp1" style:next-style-name="Standard"/> + <style:master-page style:name="Landscape" style:page-layout-name="pm5" draw:style-name="dp1"/> + <style:master-page style:name="Perso_20_-_20_Première_20_page" style:display-name="Perso - Première page" style:page-layout-name="pm6" draw:style-name="dp2" style:next-style-name="Standard"> + <style:header> + <text:p text:style-name="Header"/> + </style:header> + <style:footer> + <text:p text:style-name="P1">Page <text:page-number text:select-page="current">1</text:page-number><text:s/>/ <text:page-count>1</text:page-count><text:s text:c="2"/><text:span text:style-name="T1">Votre paraphe :</text:span></text:p> + <text:p text:style-name="P1"/> + </style:footer> + </style:master-page> + </office:master-styles> + <office:body> + <office:text> + <office:forms form:automatic-focus="false" form:apply-design-mode="false"> + <form:form form:name="Standard" form:command="biblio" form:datasource="Bibliography" form:apply-filter="true" form:command-type="table" form:control-implementation="ooo:com.sun.star.form.component.Form"> + <form:properties> + <form:property form:property-name="PropertyChangeNotificationEnabled" office:value-type="boolean" office:boolean-value="true"/> + <form:property form:property-name="TargetURL" office:value-type="string" office:string-value=""/> + <form:property form:property-name="URL" office:value-type="string" office:string-value=""/> + </form:properties> + <form:checkbox form:name="CheckBox" form:control-implementation="ooo:com.sun.star.form.component.CheckBox" xml:id="control1" form:id="control1" form:input-required="false" form:current-state="checked" form:image-position="center"> + <form:properties> + <form:property form:property-name="ControlTypeinMSO" office:value-type="float" office:value="0"/> + <form:property form:property-name="DefaultControl" office:value-type="string" office:string-value="com.sun.star.form.control.CheckBox"/> + <form:property form:property-name="ObjIDinMSO" office:value-type="float" office:value="0"/> + <form:property form:property-name="SecondaryRefValue" office:value-type="string" office:string-value=""/> + </form:properties> + </form:checkbox> + <form:radio form:name="Propriété" form:control-implementation="ooo:com.sun.star.form.component.RadioButton" xml:id="control2" form:id="control2" form:current-selected="true" form:data-field="Franchise" form:input-required="false" form:image-position="center"> + <form:properties> + <form:property form:property-name="ControlTypeinMSO" office:value-type="float" office:value="0"/> + <form:property form:property-name="DefaultControl" office:value-type="string" office:string-value="com.sun.star.form.control.RadioButton"/> + <form:property form:property-name="ObjIDinMSO" office:value-type="float" office:value="0"/> + <form:property form:property-name="SecondaryRefValue" office:value-type="string" office:string-value=""/> + </form:properties> + </form:radio> + <form:radio form:name="Propriété" form:control-implementation="ooo:com.sun.star.form.component.RadioButton" xml:id="control3" form:id="control3" form:data-field="Franchise" form:input-required="false" form:image-position="center"> + <form:properties> + <form:property form:property-name="ControlTypeinMSO" office:value-type="float" office:value="0"/> + <form:property form:property-name="DefaultControl" office:value-type="string" office:string-value="com.sun.star.form.control.RadioButton"/> + <form:property form:property-name="ObjIDinMSO" office:value-type="float" office:value="0"/> + <form:property form:property-name="SecondaryRefValue" office:value-type="string" office:string-value=""/> + </form:properties> + </form:radio> + <form:radio form:name="Propriété" form:control-implementation="ooo:com.sun.star.form.component.RadioButton" xml:id="control4" form:id="control4" form:data-field="Franchise" form:input-required="false" form:image-position="center"> + <form:properties> + <form:property form:property-name="ControlTypeinMSO" office:value-type="float" office:value="0"/> + <form:property form:property-name="DefaultControl" office:value-type="string" office:string-value="com.sun.star.form.control.RadioButton"/> + <form:property form:property-name="ObjIDinMSO" office:value-type="float" office:value="0"/> + <form:property form:property-name="SecondaryRefValue" office:value-type="string" office:string-value=""/> + </form:properties> + </form:radio> + <form:listbox form:name="List Box 1" form:control-implementation="ooo:com.sun.star.form.component.ListBox" xml:id="control5" form:id="control5" form:dropdown="true" form:size="20" form:data-field="Address" form:input-required="false" form:bound-column="1" form:list-source-type="sql" form:list-source="SELECT "Address", "Address" FROM "biblio""> + <form:properties> + <form:property form:property-name="ControlTypeinMSO" office:value-type="float" office:value="0"/> + <form:property form:property-name="DefaultControl" office:value-type="string" office:string-value="com.sun.star.form.control.ListBox"/> + <form:list-property form:property-name="DefaultSelection" office:value-type="float"/> + <form:property form:property-name="MouseWheelBehavior" office:value-type="float" office:value="0"/> + <form:property form:property-name="ObjIDinMSO" office:value-type="float" office:value="65535"/> + <form:list-property form:property-name="TypedItemList" office:value-type="float"/> + </form:properties> + </form:listbox> + </form:form> + </office:forms> + <text:sequence-decls> + <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/> + <text:sequence-decl text:display-outline-level="0" text:name="Table"/> + <text:sequence-decl text:display-outline-level="0" text:name="Text"/> + <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/> + <text:sequence-decl text:display-outline-level="0" text:name="Figure"/> + </text:sequence-decls> + <text:user-field-decls> + <text:user-field-decl office:value-type="string" office:string-value="" text:name="SEQ CHAPTER \h \r 1"/> + </text:user-field-decls> + <text:p text:style-name="P7"/> + <text:p text:style-name="P3"><text:tab/><text:tab/></text:p> + <text:p text:style-name="P5"><text:span text:style-name="T3"><draw:control text:anchor-type="as-char" draw:z-index="0" draw:name="Forme1" draw:style-name="gr2" draw:text-style-name="P8" svg:width="0.265cm" svg:height="0.265cm" draw:control="control2"/></text:span><text:span text:style-name="T3"><text:s/>Propriétaire <text:tab/></text:span><text:span text:style-name="T3"><draw:control text:anchor-type="as-char" draw:z-index="1" draw:name="Forme2" draw:style-name="gr2" draw:text-style-name="P8" svg:width="0.265cm" svg:height="0.265cm" draw:control="control3"/></text:span><text:span text:style-name="T3"> Locataire<text:tab/><text:tab/></text:span><text:span text:style-name="T3"><draw:control text:anchor-type="as-char" draw:z-index="2" draw:name="Forme3" draw:style-name="gr2" draw:text-style-name="P8" svg:width="0.265cm" svg:height="0.265cm" draw:control="control4"/></text:span><text:span text:style-name="T3"> </text:span><text:span text:style-name="T4">Occupant à titre gratuit</text:span></text:p> + <text:p text:style-name="P6"/> + <text:p text:style-name="P4"><text:span text:style-name="T5"><draw:control text:anchor-type="as-char" draw:z-index="3" draw:name="Forme21" draw:style-name="gr2" draw:text-style-name="P8" svg:width="0.315cm" svg:height="0.265cm" draw:control="control1"/></text:span><text:span text:style-name="T6"><text:s/>Incendie<text:tab/></text:span></text:p> + <text:p text:style-name="P4"><text:span text:style-name="T6"/></text:p> + <text:p text:style-name="P4"><text:span text:style-name="T6"><text:tab/></text:span><text:span text:style-name="T6"><draw:control text:anchor-type="as-char" draw:z-index="4" draw:name="Control 1" draw:style-name="gr1" draw:text-style-name="P8" svg:width="3.901cm" svg:height="0.63cm" draw:control="control5"/></text:span></text:p> + </office:text> + </office:body> +</office:document>
\ No newline at end of file diff --git a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx index d2811f32fb..38e3629497 100644 --- a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx +++ b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx @@ -41,6 +41,7 @@ #include <vcl/filter/PDFiumLibrary.hxx> #include <comphelper/propertyvalue.hxx> +#include <cmath> using namespace ::com::sun::star; @@ -4851,6 +4852,61 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf156528) bounds.getHeight(), 1); } +// Form controls coordinates scrambled when exporting to pdf with unchecked form creation in Writer +CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf159817) +{ + aMediaDescriptor["FilterName"] <<= OUString("writer_pdf_Export"); + + // Enable PDF/UA + uno::Sequence<beans::PropertyValue> aFilterData( + comphelper::InitPropertySequence({ { "ExportFormFields", uno::Any(false) } })); + aMediaDescriptor["FilterData"] <<= aFilterData; + saveAsPDF(u"tdf159817.fodt"); + + std::unique_ptr<vcl::pdf::PDFiumDocument> pPdfDocument = parsePDFExport(); + + CPPUNIT_ASSERT_EQUAL(1, pPdfDocument->getPageCount()); + std::unique_ptr<vcl::pdf::PDFiumPage> pPdfPage = pPdfDocument->openPage(/*nIndex=*/0); + CPPUNIT_ASSERT(pPdfPage); + std::unique_ptr<vcl::pdf::PDFiumTextPage> pTextPage = pPdfPage->getTextPage(); + CPPUNIT_ASSERT(pTextPage); + + // So I extracted these values by using SAL_WARN(... << ...getMinimum()), but it appears + // that the C++ stream operators do not output double values with sufficient resolution for me + // to recreate those values in code, sigh, so resort to rounding things. + auto roundPoint = [&pPdfPage](int i) { + auto p = pPdfPage->getObject(i)->getBounds().getMinimum(); + return basegfx::B2DPoint(std::floor(p.getX() * 10) / 10.0, + std::floor(p.getY() * 10) / 10.0); + }; + // before the fix these co-ordinates would have been way further down the page + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(8.6, 677.3), roundPoint(13)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(9.3, 677.9), roundPoint(14)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(9.8, 678.5), roundPoint(15)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(85.0, 677.3), roundPoint(16)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(85.6, 677.9), roundPoint(17)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(170.1, 677.3), roundPoint(18)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(170.6, 677.9), roundPoint(19)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(0.0, 654.0), roundPoint(20)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(0.6, 654.6), roundPoint(21)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.3, 655.5), roundPoint(22)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.3, 655.5), roundPoint(23)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.2, 655.5), roundPoint(24)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.2, 655.5), roundPoint(25)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.4, 655.5), roundPoint(26)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.4, 655.5), roundPoint(27)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.1, 655.5), roundPoint(28)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.1, 655.5), roundPoint(29)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.5, 655.5), roundPoint(30)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.5, 655.5), roundPoint(31)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.0, 655.5), roundPoint(32)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(1.0, 655.5), roundPoint(33)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(28.3, 641.4), roundPoint(34)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(28.3, 623.7), roundPoint(35)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(28.3, 623.8), roundPoint(36)); + CPPUNIT_ASSERT_EQUAL(basegfx::B2DPoint(138.6, 623.7), roundPoint(37)); +} + } // end anonymous namespace CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx index 24dcb5ff6f..6aff814aac 100644 --- a/vcl/qt5/QtFrame.cxx +++ b/vcl/qt5/QtFrame.cxx @@ -376,6 +376,20 @@ void QtFrame::SetIcon(sal_uInt16 nIcon) QIcon aIcon = QIcon::fromTheme(appicon); m_pQWidget->window()->setWindowIcon(aIcon); + + if (QGuiApplication::platformName() == "wayland" && m_pQWidget->window()->isVisible()) + { + // Qt currently doesn't provide API to directly set the app_id for a single + // window/toplevel on Wayland, but the one set for the application is picked up + // on hide/show, so do that. + // An alternative would be to use private Qt API and low-level wayland API to set the + // app_id directly, s. discussion in QTBUG-77182. + const QString sOrigDesktopFileName = QGuiApplication::desktopFileName(); + QGuiApplication::setDesktopFileName(appicon); + m_pQWidget->window()->hide(); + m_pQWidget->window()->show(); + QGuiApplication::setDesktopFileName(sOrigDesktopFileName); + } } void QtFrame::SetMenu(SalMenu*) {} diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx index 4880c1bdec..f87cdef934 100644 --- a/vcl/qt5/QtInstance.cxx +++ b/vcl/qt5/QtInstance.cxx @@ -708,6 +708,11 @@ std::unique_ptr<QApplication> QtInstance::CreateQApplication(int& nArgc, char** // for scaled icons in the native menus QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); #endif + // force Qt::HighDpiScaleFactorRoundingPolicy::Round, which is the Qt 5 default + // policy and prevents incorrect rendering with the Qt 6 default policy + // Qt::HighDpiScaleFactorRoundingPolicy::PassThrough (tdf#159915) + QGuiApplication::setHighDpiScaleFactorRoundingPolicy( + Qt::HighDpiScaleFactorRoundingPolicy::Round); FreeableCStr session_manager; if (getenv("SESSION_MANAGER") != nullptr) diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx index ac06f445e0..138f17d0d4 100644 --- a/vcl/source/control/button.cxx +++ b/vcl/source/control/button.cxx @@ -2530,6 +2530,7 @@ void RadioButton::Draw( OutputDevice* pDev, const Point& rPos, if ( !maImage ) { MapMode aResMapMode( MapUnit::Map100thMM ); + Point aPos = pDev->LogicToPixel( rPos ); Size aSize = GetSizePixel(); Size aImageSize = pDev->LogicToPixel( Size( 300, 300 ), aResMapMode ); Size aBrd1Size = pDev->LogicToPixel( Size( 20, 20 ), aResMapMode ); @@ -2563,7 +2564,7 @@ void RadioButton::Draw( OutputDevice* pDev, const Point& rPos, pDev->SetTextColor( GetTextColor() ); pDev->SetTextFillColor(); - ImplDraw( pDev, nFlags, rPos, aSize, + ImplDraw( pDev, nFlags, aPos, aSize, aImageSize, aStateRect, aMouseRect ); Point aCenterPos = aStateRect.Center(); @@ -3353,6 +3354,7 @@ void CheckBox::Draw( OutputDevice* pDev, const Point& rPos, SystemTextColorFlags nFlags ) { MapMode aResMapMode( MapUnit::Map100thMM ); + Point aPos = pDev->LogicToPixel( rPos ); Size aSize = GetSizePixel(); Size aImageSize = pDev->LogicToPixel( Size( 300, 300 ), aResMapMode ); Size aBrd1Size = pDev->LogicToPixel( Size( 20, 20 ), aResMapMode ); @@ -3389,7 +3391,7 @@ void CheckBox::Draw( OutputDevice* pDev, const Point& rPos, pDev->SetTextColor( GetTextColor() ); pDev->SetTextFillColor(); - ImplDraw( pDev, nFlags, rPos, aSize, + ImplDraw( pDev, nFlags, aPos, aSize, aImageSize, aStateRect, aMouseRect ); pDev->SetLineColor(); diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx index 2a979b70b0..82520cc765 100644 --- a/vcl/source/control/combobox.cxx +++ b/vcl/source/control/combobox.cxx @@ -1152,6 +1152,7 @@ void ComboBox::Draw( OutputDevice* pDev, const Point& rPos, SystemTextColorFlags { GetMainWindow()->ApplySettings(*pDev); + Point aPos = pDev->LogicToPixel( rPos ); Size aSize = GetSizePixel(); vcl::Font aFont = GetMainWindow()->GetDrawPixelFont( pDev ); @@ -1167,7 +1168,7 @@ void ComboBox::Draw( OutputDevice* pDev, const Point& rPos, SystemTextColorFlags bool bBackground = IsControlBackground(); if ( bBorder || bBackground ) { - tools::Rectangle aRect( rPos, aSize ); + tools::Rectangle aRect( aPos, aSize ); // aRect.Top() += nEditHeight; if ( bBorder ) { @@ -1191,7 +1192,7 @@ void ComboBox::Draw( OutputDevice* pDev, const Point& rPos, SystemTextColorFlags // First, draw the edit part Size aOrigSize(m_pImpl->m_pSubEdit->GetSizePixel()); m_pImpl->m_pSubEdit->SetSizePixel(Size(aSize.Width(), nEditHeight)); - m_pImpl->m_pSubEdit->Draw( pDev, rPos, nFlags ); + m_pImpl->m_pSubEdit->Draw( pDev, aPos, nFlags ); m_pImpl->m_pSubEdit->SetSizePixel(aOrigSize); // Second, draw the listbox @@ -1219,14 +1220,14 @@ void ComboBox::Draw( OutputDevice* pDev, const Point& rPos, SystemTextColorFlags } } - tools::Rectangle aClip( rPos, aSize ); + tools::Rectangle aClip( aPos, aSize ); pDev->IntersectClipRegion( aClip ); sal_Int32 nLines = static_cast<sal_Int32>( nTextHeight > 0 ? (aSize.Height()-nEditHeight)/nTextHeight : 1 ); if ( !nLines ) nLines = 1; const sal_Int32 nTEntry = IsReallyVisible() ? m_pImpl->m_pImplLB->GetTopEntry() : 0; - tools::Rectangle aTextRect( rPos, aSize ); + tools::Rectangle aTextRect( aPos, aSize ); aTextRect.AdjustLeft(3*nOnePixel ); aTextRect.AdjustRight( -(3*nOnePixel) ); diff --git a/vcl/source/gdi/mtfxmldump.cxx b/vcl/source/gdi/mtfxmldump.cxx index e6b1adc80e..2792297fee 100644 --- a/vcl/source/gdi/mtfxmldump.cxx +++ b/vcl/source/gdi/mtfxmldump.cxx @@ -63,8 +63,6 @@ OUString collectPushFlags(vcl::PushFlags nFlags) aStrings.emplace_back("PushTextLanguage"); if (nFlags & vcl::PushFlags::OVERLINECOLOR) aStrings.emplace_back("PushOverlineColor"); - if (nFlags & vcl::PushFlags::RTLENABLED) - aStrings.emplace_back("PushRTLEnabled"); OUString aString; diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index c7ef07ff49..a5365e681b 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -2775,7 +2775,7 @@ bool PDFWriterImpl::emitType3Font(const vcl::font::PhysicalFontFace* pFace, aLine.setLength(0); aLine.append(OString::number(nStream) + " 0 obj\n<</Length " - + OString::number(aContents.getLength()) + + OString::number(aContents.getLength() - 1) // Trailing newline doesn't count + ">>\nstream\n"); if (!writeBuffer(aLine)) return false; diff --git a/vcl/source/gdi/print.cxx b/vcl/source/gdi/print.cxx index 401d38118c..2519e5ca44 100644 --- a/vcl/source/gdi/print.cxx +++ b/vcl/source/gdi/print.cxx @@ -1487,6 +1487,14 @@ sal_uInt16 Printer::GetPaperBinBySourceIndex(sal_uInt16 nPaperSource) const return mpInfoPrinter->GetPaperBinBySourceIndex( &maJobSetup.ImplGetConstData(), nPaperSource ); } +sal_uInt16 Printer::GetSourceIndexByPaperBin(sal_uInt16 nPaperBin) const +{ + if (IsDisplayPrinter()) + return 0; + + return mpInfoPrinter->GetSourceIndexByPaperBin( &maJobSetup.ImplGetConstData(), nPaperBin); +} + void Printer::SetCopyCount( sal_uInt16 nCopy, bool bCollate ) { mnCopyCount = nCopy; diff --git a/vcl/source/outdev/stack.cxx b/vcl/source/outdev/stack.cxx index 129348051e..72ef63af55 100644 --- a/vcl/source/outdev/stack.cxx +++ b/vcl/source/outdev/stack.cxx @@ -84,9 +84,6 @@ void OutputDevice::Push(vcl::PushFlags nFlags) if (nFlags & vcl::PushFlags::REFPOINT && mbRefPoint) rState.mpRefPoint = maRefPoint; - if (nFlags & vcl::PushFlags::RTLENABLED) - rState.mbRTLEnabled = IsRTLEnabled(); - if (mpAlphaVDev) mpAlphaVDev->Push(); } @@ -187,9 +184,6 @@ void OutputDevice::Pop() SetRefPoint(); } - if ( rState.mnFlags & vcl::PushFlags::RTLENABLED ) - EnableRTL( rState.mbRTLEnabled ); - maOutDevStateStack.pop_back(); mpMetaFile = pOldMetaFile; diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx index a98703ca25..de2222b4bc 100644 --- a/vcl/source/window/paint.cxx +++ b/vcl/source/window/paint.cxx @@ -1523,7 +1523,7 @@ void Window::ImplPaintToDevice( OutputDevice* i_pTargetOutDev, const Point& i_rP VclPtrInstance<VirtualDevice> pMaskedDevice(*i_pTargetOutDev, DeviceFormat::WITH_ALPHA); - pMaskedDevice->SetOutputSizePixel( GetOutputSizePixel() ); + pMaskedDevice->SetOutputSizePixel( GetOutputSizePixel(), true, true ); pMaskedDevice->EnableRTL( IsRTLEnabled() ); aMtf.WindStart(); aMtf.Play(*pMaskedDevice); diff --git a/vcl/source/window/tabpage.cxx b/vcl/source/window/tabpage.cxx index 612b17d272..b97becf2e0 100644 --- a/vcl/source/window/tabpage.cxx +++ b/vcl/source/window/tabpage.cxx @@ -163,6 +163,7 @@ void TabPage::Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& void TabPage::Draw( OutputDevice* pDev, const Point& rPos, SystemTextColorFlags ) { + Point aPos = pDev->LogicToPixel( rPos ); Size aSize = GetSizePixel(); Wallpaper aWallpaper = GetBackground(); @@ -174,14 +175,14 @@ void TabPage::Draw( OutputDevice* pDev, const Point& rPos, SystemTextColorFlags pDev->SetLineColor(); if ( aWallpaper.IsBitmap() ) - pDev->DrawBitmapEx( rPos, aSize, aWallpaper.GetBitmap() ); + pDev->DrawBitmapEx( aPos, aSize, aWallpaper.GetBitmap() ); else { if( aWallpaper.GetColor() == COL_AUTO ) pDev->SetFillColor( GetSettings().GetStyleSettings().GetDialogColor() ); else pDev->SetFillColor( aWallpaper.GetColor() ); - pDev->DrawRect( tools::Rectangle( rPos, aSize ) ); + pDev->DrawRect( tools::Rectangle( aPos, aSize ) ); } pDev->Pop(); diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index c3fa7fb3d7..d683f9b415 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -224,6 +224,7 @@ void Window::dispose() Reference< XComponent> xC( mpWindowImpl->mxAccessible, UNO_QUERY ); if ( xC.is() ) xC->dispose(); + mpWindowImpl->mxAccessible.clear(); } ImplSVData* pSVData = ImplGetSVData(); diff --git a/vcl/unx/generic/print/genprnpsp.cxx b/vcl/unx/generic/print/genprnpsp.cxx index ce5a45624d..1e7edb8e09 100644 --- a/vcl/unx/generic/print/genprnpsp.cxx +++ b/vcl/unx/generic/print/genprnpsp.cxx @@ -643,6 +643,11 @@ sal_uInt16 PspSalInfoPrinter::GetPaperBinBySourceIndex( const ImplJobSetup*, sal return 0xffff; } +sal_uInt16 PspSalInfoPrinter::GetSourceIndexByPaperBin(const ImplJobSetup*, sal_uInt16) +{ + return 0; +} + sal_uInt32 PspSalInfoPrinter::GetCapabilities( const ImplJobSetup* pJobSetup, PrinterCapType nType ) { switch( nType ) diff --git a/vcl/unx/gtk3/salnativewidgets-gtk.cxx b/vcl/unx/gtk3/salnativewidgets-gtk.cxx index bfdeed4238..391baed222 100644 --- a/vcl/unx/gtk3/salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/salnativewidgets-gtk.cxx @@ -355,7 +355,6 @@ static GtkWidget* gCacheWindow; static GtkWidget* gDumbContainer; #if GTK_CHECK_VERSION(4, 0, 0) static GtkWidget* gVScrollbar; -static GtkWidget* gHScrollbar; static GtkWidget* gTextView; #else static GtkWidget* gComboBox; @@ -363,6 +362,7 @@ static GtkWidget* gListBox; static GtkWidget* gSpinBox; static GtkWidget* gTreeViewWidget; #endif +static GtkWidget* gHScrollbar; static GtkWidget* gEntryBox; namespace @@ -2625,10 +2625,11 @@ bool GtkSalGraphics::updateSettings(AllSettings& rSettings) // set scrollbar settings gint min_slider_length = 21; + GtkRequisition natural_horz_scroll_size; + gtk_widget_get_preferred_size(gHScrollbar, nullptr, &natural_horz_scroll_size); + #if GTK_CHECK_VERSION(4, 0, 0) - GtkRequisition natural_size; - gtk_widget_get_preferred_size(gHScrollbar, nullptr, &natural_size); - aStyleSet.SetScrollBarSize(natural_size.height); + aStyleSet.SetScrollBarSize(natural_horz_scroll_size.height); #else // Grab some button style attributes Size aSize; @@ -2646,6 +2647,10 @@ bool GtkSalGraphics::updateSettings(AllSettings& rSettings) if (has_forward || has_backward || has_forward2 || has_backward2) QuerySize(mpHScrollbarButtonStyle, aSize); + // Recent breeze (Mar 2024) has 17 vs 10, while Adwaita still reports 14 vs 14. + if (natural_horz_scroll_size.height > aSize.Height()) + aSize.setHeight(natural_horz_scroll_size.height); + aStyleSet.SetScrollBarSize(aSize.Height()); gtk_style_context_get(mpVScrollbarSliderStyle, gtk_style_context_get_state(mpVScrollbarSliderStyle), @@ -2932,15 +2937,16 @@ GtkSalGraphics::GtkSalGraphics( GtkSalFrame *pFrame, GtkWidget *pWindow ) mpToolButtonStyle = gtk_widget_get_style_context(GTK_WIDGET(pButton)); #endif + gHScrollbar = gtk_scrollbar_new(GTK_ORIENTATION_HORIZONTAL, nullptr); + gtk_fixed_put(GTK_FIXED(gDumbContainer), gHScrollbar, 0, 0); + gtk_widget_show(gHScrollbar); + #if GTK_CHECK_VERSION(4, 0, 0) gVScrollbar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, nullptr); gtk_fixed_put(GTK_FIXED(gDumbContainer), gVScrollbar, 0, 0); gtk_widget_show(gVScrollbar); mpVScrollbarStyle = gtk_widget_get_style_context(gVScrollbar); - gHScrollbar = gtk_scrollbar_new(GTK_ORIENTATION_HORIZONTAL, nullptr); - gtk_fixed_put(GTK_FIXED(gDumbContainer), gHScrollbar, 0, 0); - gtk_widget_show(gHScrollbar); mpHScrollbarStyle = gtk_widget_get_style_context(gHScrollbar); gTextView = gtk_text_view_new(); diff --git a/vcl/win/gdi/salprn.cxx b/vcl/win/gdi/salprn.cxx index 065b060196..aeb3e2b876 100644 --- a/vcl/win/gdi/salprn.cxx +++ b/vcl/win/gdi/salprn.cxx @@ -1215,6 +1215,22 @@ sal_uInt16 WinSalInfoPrinter::GetPaperBinBySourceIndex( const ImplJobSetup* pSet return 0xffff; } +sal_uInt16 WinSalInfoPrinter::GetSourceIndexByPaperBin(const ImplJobSetup* pSetupData, sal_uInt16 nPaperBin) +{ + DWORD nBins = ImplDeviceCaps( this, DC_BINNAMES, nullptr, pSetupData ); + if (nBins != GDI_ERROR) + { + auto pBuffer = std::make_unique<sal_uInt16[]>(nBins); + DWORD nBins = ImplDeviceCaps( this, DC_BINS, reinterpret_cast<BYTE*>(pBuffer.get()), pSetupData ); + if (nBins != GDI_ERROR && nBins > nPaperBin) + { + return *(pBuffer.get() + nPaperBin); + } + } + return 0; +} + + sal_uInt32 WinSalInfoPrinter::GetCapabilities( const ImplJobSetup* pSetupData, PrinterCapType nType ) { DWORD nRet; |