diff options
-rw-r--r-- | desktop/source/deployment/gui/dp_gui_dialog2.cxx | 2 | ||||
-rw-r--r-- | fpicker/source/unx/gnome/SalGtkFilePicker.cxx | 39 | ||||
-rw-r--r-- | framework/source/services/backingwindow.cxx | 55 | ||||
-rw-r--r-- | framework/source/uielement/toolbarmanager.cxx | 3 | ||||
-rw-r--r-- | officecfg/registry/data/org/openoffice/VCL.xcu | 14 | ||||
-rw-r--r-- | sfx2/source/view/viewprn.cxx | 2 |
6 files changed, 90 insertions, 25 deletions
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx index 55adf0d093..3877c4688e 100644 --- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx +++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx @@ -378,7 +378,7 @@ public: //------------------------------------------------------------------------------ ExtensionBox_Impl::ExtensionBox_Impl( ExtMgrDialog* pParent, TheExtensionManager *pManager ) : - IExtensionListBox( pParent, WB_BORDER | WB_TABSTOP ), + IExtensionListBox( pParent, WB_BORDER | WB_TABSTOP | WB_CHILDDLGCTRL ), m_bHasScrollBar( false ), m_bHasActive( false ), m_bNeedsRecalc( true ), diff --git a/fpicker/source/unx/gnome/SalGtkFilePicker.cxx b/fpicker/source/unx/gnome/SalGtkFilePicker.cxx index 2a47da4c0d..65cf6e79dc 100644 --- a/fpicker/source/unx/gnome/SalGtkFilePicker.cxx +++ b/fpicker/source/unx/gnome/SalGtkFilePicker.cxx @@ -36,6 +36,7 @@ //------------------------------------------------------------------------ #include <com/sun/star/lang/DisposedException.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <com/sun/star/container/XNameAccess.hpp> #include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp> #include <com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.hpp> #include <com/sun/star/ui/dialogs/CommonFilePickerElementIds.hpp> @@ -124,6 +125,40 @@ void SalGtkFilePicker::InitialMapping() gtk_widget_set_size_request (m_pPreview, -1, -1); } +static void lcl_setGTKLanguage(const uno::Reference<lang::XMultiServiceFactory>& xServiceMgr) +{ + static bool bSet = false; + if (bSet) + return; + + OUString sUILocale; + try + { + uno::Reference<lang::XMultiServiceFactory> xConfigMgr = + uno::Reference<lang::XMultiServiceFactory>(xServiceMgr->createInstance( + OUString::createFromAscii("com.sun.star.configuration.ConfigurationProvider")), + UNO_QUERY_THROW ); + + Sequence< Any > theArgs(1); + theArgs[ 0 ] <<= OUString::createFromAscii("org.openoffice.Office.Linguistic/General"); + + uno::Reference< container::XNameAccess > xNameAccess = + uno::Reference< container::XNameAccess >(xConfigMgr->createInstanceWithArguments( + OUString::createFromAscii("com.sun.star.configuration.ConfigurationAccess"), theArgs ), + UNO_QUERY_THROW ); + + if (xNameAccess.is()) + xNameAccess->getByName(OUString::createFromAscii("UILocale")) >>= sUILocale; + } catch (...) {} + + if (sUILocale.getLength()) + { + sUILocale = rtl::OUString::createFromAscii("LANGUAGE=") + sUILocale.replace('-', '_'); + putenv(strdup(rtl::OUStringToOString(sUILocale, osl_getThreadTextEncoding()).getStr())); + } + bSet = true; +} + SalGtkFilePicker::SalGtkFilePicker( const uno::Reference<lang::XMultiServiceFactory>& xServiceMgr ) : cppu::WeakComponentImplHelper10< XFilterManager, @@ -147,7 +182,9 @@ SalGtkFilePicker::SalGtkFilePicker( const uno::Reference<lang::XMultiServiceFact m_pPreview( NULL ), m_PreviewImageWidth( 256 ), m_PreviewImageHeight( 256 ) -{ +{ + lcl_setGTKLanguage(xServiceMgr); + int i; for( i = 0; i < TOGGLE_LAST; i++ ) diff --git a/framework/source/services/backingwindow.cxx b/framework/source/services/backingwindow.cxx index b6b1624e33..73fef9e21f 100644 --- a/framework/source/services/backingwindow.cxx +++ b/framework/source/services/backingwindow.cxx @@ -595,18 +595,49 @@ void BackingWindow::Resize() maControlRect = Rectangle( Point( (aWindowSize.Width() - aControlSize.Width()) / 2, (aWindowSize.Height() - aControlSize.Height()) / 2 ), aControlSize ); + + maToolbox.calcMinSize(); + Size aTBSize( maToolbox.getMinSize() ); + Point aTBPos( maControlRect.Right() - aTBSize.Width() - 10, + maControlRect.Bottom() - aTBSize.Height() - 10 ); + maToolbox.SetPosSizePixel( aTBPos, aTBSize ); + + // #i93631# squeeze controls so they fit into the box + // this can be necessary due to application font height which has small deviations + // from the size set + const long nWDelta = maWelcomeSize.Height(); + const long nW2Delta = (maWelcomeSize.Height()*3)/2; + const long nPDelta = (maProductSize.Height()*3)/2; + const long nCDelta = (maCreateSize.Height()*3)/2; + const long nBDelta = maButtonImageSize.Height() + 10; + const long nB2Delta = 3*maButtonImageSize.Height()/2; + const long nLastDelta = maButtonImageSize.Height(); + long nDiff = 0; + while( ( maControlRect.Top() + + (nWDelta - nDiff) + + (nW2Delta- nDiff) + + (nPDelta - nDiff) + + (nCDelta - nDiff) + + 3 * (nBDelta - nDiff) + + (nB2Delta- nDiff) + + nLastDelta + ) > aTBPos.Y() ) + { + nDiff++; + } + long nYPos = maControlRect.Top(); - nYPos += (maWelcomeSize.Height()*3)/2; + nYPos += nW2Delta - nDiff; maWelcome.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos, nYPos ), Size( maControlRect.GetWidth() - nBtnPos - 5, (maWelcomeSize.Height()*20)/19 ) ); - nYPos += maWelcomeSize.Height(); + nYPos += nWDelta - nDiff; maProduct.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos, nYPos ), Size( maControlRect.GetWidth() - nBtnPos - 5, (maProductSize.Height()*20)/19 ) ); - nYPos += (maProductSize.Height()*3)/2; + nYPos += nPDelta - nDiff; maCreateText.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos, nYPos ), Size( maControlRect.GetWidth() - nBtnPos - 5, maCreateSize.Height() ) ); - nYPos += (maCreateSize.Height()*3)/2; + nYPos += nCDelta - nDiff; maWriterButton.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos, nYPos ), maButtonImageSize ); maWriterText.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos + maButtonImageSize.Width() + 10, nYPos ), @@ -614,14 +645,14 @@ void BackingWindow::Resize() maCalcButton.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos + mnColumnWidth[0], nYPos ), maButtonImageSize ); maCalcText.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos + maButtonImageSize.Width() + 10 + mnColumnWidth[0], nYPos ), Size( mnColumnWidth[1] - maButtonImageSize.Width() - 10, maButtonImageSize.Height() ) ); - nYPos += maButtonImageSize.Height() + 10; + nYPos += nBDelta - nDiff; maImpressButton.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos, nYPos ), maButtonImageSize ); maImpressText.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos + maButtonImageSize.Width() + 10, nYPos ), Size( mnColumnWidth[0] - maButtonImageSize.Width() - 10, maButtonImageSize.Height() ) ); maDrawButton.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos + mnColumnWidth[0], nYPos ), maButtonImageSize ); maDrawText.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos + maButtonImageSize.Width() + 10 + mnColumnWidth[0], nYPos ), Size( mnColumnWidth[1] - maButtonImageSize.Width() - 10, maButtonImageSize.Height() ) ); - nYPos += maButtonImageSize.Height() + 10; + nYPos += nBDelta - nDiff; maDBButton.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos, nYPos ), maButtonImageSize ); maDBText.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos + maButtonImageSize.Width() + 10, nYPos ), Size( mnColumnWidth[0] - maButtonImageSize.Width() - 10, maButtonImageSize.Height() ) ); @@ -629,21 +660,15 @@ void BackingWindow::Resize() maMathText.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos + maButtonImageSize.Width() + 10 + mnColumnWidth[0], nYPos ), Size( mnColumnWidth[1] - maButtonImageSize.Width() - 10, maButtonImageSize.Height() ) ); - nYPos += 3*maButtonImageSize.Height()/2; + nYPos += nB2Delta - nDiff; maTemplateButton.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos, nYPos ), maButtonImageSize ); maTemplateText.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos + maButtonImageSize.Width() + 10, nYPos ), Size( mnColumnWidth[0]+mnColumnWidth[1] - maButtonImageSize.Width() - 10, maButtonImageSize.Height() ) ); - nYPos += maButtonImageSize.Height() + 10; + nYPos += nBDelta - nDiff; maOpenButton.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos, nYPos ), maButtonImageSize ); maOpenText.SetPosSizePixel( Point( maControlRect.Left() + nBtnPos + maButtonImageSize.Width() + 10, nYPos ), Size( mnColumnWidth[0]+mnColumnWidth[1] - maButtonImageSize.Width() - 10, maButtonImageSize.Height() ) ); - nYPos += maButtonImageSize.Height() + 10; - - maToolbox.calcMinSize(); - Size aTBSize( maToolbox.getMinSize() ); - maToolbox.SetPosSizePixel( Point( maControlRect.Right() - aTBSize.Width() - 10, - maControlRect.Bottom() - aTBSize.Height() - 10 ), - aTBSize ); + nYPos += nBDelta - nDiff; } IMPL_LINK( BackingWindow, ToolboxHdl, void*, EMPTYARG ) diff --git a/framework/source/uielement/toolbarmanager.cxx b/framework/source/uielement/toolbarmanager.cxx index 7d75f8a374..d4948a90ce 100644 --- a/framework/source/uielement/toolbarmanager.cxx +++ b/framework/source/uielement/toolbarmanager.cxx @@ -336,7 +336,8 @@ void ToolBarManager::Destroy() delete static_cast< AddonsParams* >( m_pToolBar->GetItemData( nItemId )); } - delete m_pToolBar; + // #i93173# delete toolbar lazily as we can still be in one of its handlers + m_pToolBar->doLazyDelete(); m_pToolBar = 0; } diff --git a/officecfg/registry/data/org/openoffice/VCL.xcu b/officecfg/registry/data/org/openoffice/VCL.xcu index 96db2c1dab..b5088366b5 100644 --- a/officecfg/registry/data/org/openoffice/VCL.xcu +++ b/officecfg/registry/data/org/openoffice/VCL.xcu @@ -506,10 +506,10 @@ </node> <node oor:name="ja" oor:op="replace"> <prop oor:name="CJK_TEXT" oor:type="xs:string" oor:op="replace"> - <value>HG 明朝L Sun;HG MinchoL Sun;HG PゴシックB Sun;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG Mincho Light J;MS P明朝;UmePlus P Gothic;TLP明朝;LX明朝;HGPMinchoL;IPA P明朝;東風明朝;Kochi Mincho;さざなみ明朝;Mincho;Serif</value> + <value>HG 明朝L Sun;HG MinchoL Sun;HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG Mincho Light J;MS P明朝;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;UmePlus P Gothic;TLP明朝;LX明朝;HGPMinchoL;IPA P明朝;東風明朝;Kochi Mincho;さざなみ明朝;Mincho;Serif</value> </prop> <prop oor:name="CJK_HEADING" oor:type="xs:string" oor:op="replace"> - <value>HG 明朝L Sun;HG 明朝L;HG Mincho Light J;MS Pゴシック;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Gothic;MS 明朝;HG Mincho J;HG Mincho L;HG Mincho;Mincho;MS P明朝;HG Mincho Light J;MS ゴシック;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS Pゴシック;UmePlus P Gothic;Andale Sans UI</value> + <value>HG 明朝L Sun;HG 明朝L;HG Mincho Light J;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Gothic;MS 明朝;HG Mincho J;HG Mincho L;HG Mincho;Mincho;MS P明朝;HG Mincho Light J;MS ゴシック;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS Pゴシック;UmePlus P Gothic;Andale Sans UI</value> </prop> <prop oor:name="CJK_PRESENTATION" oor:type="xs:string" oor:op="replace"> <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HG-PGothicB;HG-GothicB;HG Mincho Light J;MS Pゴシック;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;MS ゴシック;MS Pゴシック;HG Gothic;HG Gothic B;UmePlus P Gothic;Gothic;Andale Sans UI</value> @@ -518,19 +518,19 @@ <value>Andale;Arial</value> </prop> <prop oor:name="CJK_SPREADSHEET" oor:type="xs:string" oor:op="replace"> - <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;MS Pゴシック;TLPゴシック;LXゴシック;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;UmePlus P Gothic;Andale Sans UI;Kochi Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic</value> + <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;UmePlus P Gothic;Andale Sans UI;Kochi Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic</value> </prop> <prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace"> - <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;Andale Sans UI;MS Pゴシック;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Kochi Gothic;MS PGothic;UmePlus P Gothic;Gothic</value> + <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;Andale Sans UI;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Kochi Gothic;MS PGothic;UmePlus P Gothic;Gothic</value> </prop> <prop oor:name="UI_FIXED" oor:type="xs:string" oor:op="replace"> - <value>HG ゴシックB Sun;HG-GothicB Sun;HG Mincho Light J;MS Pゴシック;TLPゴシック;LXゴシック;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value> + <value>HG ゴシックB Sun;HG-GothicB Sun;HG Mincho Light J;MS Pゴシック;Osaka;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value> </prop> <prop oor:name="FIXED" oor:type="xs:string" oor:op="replace"> - <value>HG ゴシックB Sun;HG-GothicB Sun;HG ゴシックB;HG Mincho Light J;MS Pゴシック;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value> + <value>HG ゴシックB Sun;HG-GothicB Sun;HG ゴシックB;HG Mincho Light J;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value> </prop> <prop oor:name="UI_SANS" oor:type="xs:string" oor:op="replace"> - <value>HG PゴシックB Sun;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG-GothicB;UmePlus P Gothic;Andale Sans UI;HG Mincho Light J;標準;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;Gothic;Gnu-Unifont</value> + <value>HG PゴシックB Sun;Osaka;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG-GothicB;UmePlus P Gothic;Andale Sans UI;HG Mincho Light J;標準;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;Gothic;Gnu-Unifont</value> </prop> <prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace"> <value>hgmincholightj;cumberlandamt;cumberland;couriernew;nimbusmonol;courier;lucidasanstypewriter;lucidatypewriter;monaco;monospaced</value> diff --git a/sfx2/source/view/viewprn.cxx b/sfx2/source/view/viewprn.cxx index b3d0469df7..eb7c3b11ee 100644 --- a/sfx2/source/view/viewprn.cxx +++ b/sfx2/source/view/viewprn.cxx @@ -812,6 +812,8 @@ void SfxViewShell::ExecPrint_Impl( SfxRequest &rReq ) rReq.Ignore(); } + pPrinter->SetNextJobIsQuick( false ); + delete pPrintDlg; break; } |