include/svx/SvxColorValueSet.hxx | 2 - svx/source/tbxctrls/PaletteManager.cxx | 6 ++- svx/source/tbxctrls/SvxColorValueSet.cxx | 2 - svx/source/tbxctrls/colorwindow.hxx | 5 -- svx/source/tbxctrls/tbcontrl.cxx | 61 +++++++++++-------------------- svx/uiconfig/ui/colorwindow.ui | 2 - 6 files changed, 31 insertions(+), 47 deletions(-)
New commits: commit 3efc3cc5b0b4b6151e928c2348c7dc6f74181db5 Author: Maxim Monastirsky <momonas...@gmail.com> Date: Tue Oct 28 22:24:23 2014 +0200 colorwindow: try to fix initial layout Change-Id: Ic69bbcd877d248afd0f23a867d4c57d801479b74 diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index 9ca375a..f42b853 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -1148,10 +1148,6 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString& rCommand, mpColorSet->SetStyle( WinBits(WB_FLATVALUESET | WB_ITEMBORDER | WB_3DLOOK | WB_NO_DIRECTSELECT) ); mpRecentColorSet->SetStyle( WinBits(WB_FLATVALUESET | WB_ITEMBORDER | WB_3DLOOK | WB_NO_DIRECTSELECT) ); - mpColorSet->layoutAllVisible(mrPaletteManager.GetColorCount()); - mpRecentColorSet->SetLineCount( 1 ); - mpRecentColorSet->layoutAllVisible(mrPaletteManager.GetRecentColorCount()); - if ( SID_ATTR_CHAR_COLOR_BACKGROUND == theSlotId || SID_BACKGROUND_COLOR == theSlotId ) { mpButtonAutoColor->SetText( SVX_RESSTR( RID_SVXSTR_TRANSPARENT ) ); @@ -1211,7 +1207,14 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString& rCommand, SetText( rWndTitle ); mrPaletteManager.ReloadColorSet(*mpColorSet); + mpColorSet->layoutToGivenHeight(mpColorSet->GetSizePixel().Height(), mrPaletteManager.GetColorCount()); + mrPaletteManager.ReloadRecentColorSet(*mpRecentColorSet); + mpRecentColorSet->SetLineCount( 1 ); + Size aSize = mpRecentColorSet->layoutAllVisible(mrPaletteManager.GetRecentColorCount()); + mpRecentColorSet->set_height_request(aSize.Height()); + mpRecentColorSet->set_width_request(aSize.Width()); + AddStatusListener( ".uno:ColorTableState" ); AddStatusListener( maCommand ); } @@ -1293,8 +1296,6 @@ IMPL_LINK_NOARG(SvxColorWindow_Impl, OpenPickerClickHdl) void SvxColorWindow_Impl::Resize() { - mpColorSet->SetSizePixel( this->GetOutputSizePixel() ); - mpRecentColorSet->SetSizePixel( this->GetOutputSizePixel() ); } void SvxColorWindow_Impl::StartSelection() @@ -1313,11 +1314,11 @@ void SvxColorWindow_Impl::StateChanged( sal_uInt16 nSID, SfxItemState eState, co { if (( nSID == SID_COLOR_TABLE ) && ( pState->ISA( SvxColorListItem ))) { - mrPaletteManager.ReloadColorSet(*mpColorSet); - mrPaletteManager.ReloadRecentColorSet(*mpRecentColorSet); - - mpColorSet->layoutAllVisible(mrPaletteManager.GetColorCount()); - mpRecentColorSet->layoutAllVisible(mrPaletteManager.GetRecentColorCount()); + if ( mrPaletteManager.GetPalette() == 0 ) + { + mrPaletteManager.ReloadColorSet(*mpColorSet); + mpColorSet->layoutToGivenHeight(mpColorSet->GetSizePixel().Height(), mrPaletteManager.GetColorCount()); + } } else if ( SfxItemState::DEFAULT <= eState ) { diff --git a/svx/uiconfig/ui/colorwindow.ui b/svx/uiconfig/ui/colorwindow.ui index 1c2978e..1055385 100644 --- a/svx/uiconfig/ui/colorwindow.ui +++ b/svx/uiconfig/ui/colorwindow.ui @@ -108,7 +108,7 @@ <property name="receives_default">True</property> </object> <packing> - <property name="expand">True</property> + <property name="expand">False</property> <property name="fill">True</property> <property name="position">7</property> </packing> commit 7ff283c6b3dad49129cd0df9176275805d25d7b9 Author: Maxim Monastirsky <momonas...@gmail.com> Date: Tue Oct 28 21:09:16 2014 +0200 colorwindow: Use exactly one row of recent colors Right now one row of SvxColorValueSet is 12 colors. Change-Id: I9be6e8487d5325866e17f578b7abb08f7c338fb1 diff --git a/svx/source/tbxctrls/PaletteManager.cxx b/svx/source/tbxctrls/PaletteManager.cxx index e07ad15..b6d3cb7 100644 --- a/svx/source/tbxctrls/PaletteManager.cxx +++ b/svx/source/tbxctrls/PaletteManager.cxx @@ -24,13 +24,15 @@ #include <svx/drawitem.hxx> #include <svx/dialogs.hrc> #include <svtools/colrdlg.hxx> +#include <vcl/svapp.hxx> +#include <vcl/settings.hxx> #define STR_DEFAULT_PAL "Default palette" #define STR_DOC_COLORS "Document colors" #define STR_DOC_COLOR_PREFIX "Document Color " PaletteManager::PaletteManager() : - mnMaxRecentColors(10), + mnMaxRecentColors(Application::GetSettings().GetStyleSettings().GetColorValueSetColumnCount()), mnNumOfPalettes(2), mnCurrentPalette(0), mnColorCount(0), diff --git a/svx/source/tbxctrls/colorwindow.hxx b/svx/source/tbxctrls/colorwindow.hxx index f0ccdc5..b7f5681 100644 --- a/svx/source/tbxctrls/colorwindow.hxx +++ b/svx/source/tbxctrls/colorwindow.hxx @@ -47,8 +47,6 @@ private: PaletteManager& mrPaletteManager; - const sal_uInt16 mnColorSetCols; - DECL_LINK( SelectHdl, SvxColorValueSet* ); DECL_LINK( SelectPaletteHdl, void *); DECL_LINK( AutoColorClickHdl, void * ); diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index abcf9c9..9ca375a 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -1136,9 +1136,7 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString& rCommand, rFrame ), theSlotId( nSlotId ), maCommand( rCommand ), - mrPaletteManager( rPaletteManager ), - mnColorSetCols( 10 ) - + mrPaletteManager( rPaletteManager ) { get(mpPaletteListBox, "palette_listbox"); get(mpButtonAutoColor, "auto_color_button"); @@ -1150,9 +1148,7 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString& rCommand, mpColorSet->SetStyle( WinBits(WB_FLATVALUESET | WB_ITEMBORDER | WB_3DLOOK | WB_NO_DIRECTSELECT) ); mpRecentColorSet->SetStyle( WinBits(WB_FLATVALUESET | WB_ITEMBORDER | WB_3DLOOK | WB_NO_DIRECTSELECT) ); - mpColorSet->SetColCount( mnColorSetCols ); mpColorSet->layoutAllVisible(mrPaletteManager.GetColorCount()); - mpRecentColorSet->SetColCount( mnColorSetCols ); mpRecentColorSet->SetLineCount( 1 ); mpRecentColorSet->layoutAllVisible(mrPaletteManager.GetRecentColorCount()); commit 2c3c7529b5a0f66e01215ab4c3b309c8e5028000 Author: Maxim Monastirsky <momonas...@gmail.com> Date: Tue Oct 28 18:01:51 2014 +0200 colorwindow: Update recent colors list immediately Change-Id: Ieb6277f0962f88dfa55b6af80535ec8af497433e diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index 8900416..abcf9c9 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -1242,11 +1242,15 @@ IMPL_LINK(SvxColorWindow_Impl, SelectHdl, SvxColorValueSet*, pColorSet) while in Dispatch()), accessing members will crash in this case. */ pColorSet->SetNoSelection(); - if ( IsInPopupMode() ) - EndPopupMode(); - if ( pColorSet != mpRecentColorSet ) + { mrPaletteManager.AddRecentColor( aColor ); + if ( !IsInPopupMode() ) + mrPaletteManager.ReloadRecentColorSet( *mpRecentColorSet ); + } + + if ( IsInPopupMode() ) + EndPopupMode(); if ( maSelectedLink.IsSet() ) maSelectedLink.Call(&aColor); commit 2b54af3b6479d131ea7b6040eac1bb2ef0e416c1 Author: Maxim Monastirsky <momonas...@gmail.com> Date: Tue Oct 28 16:41:17 2014 +0200 colorwindow: Unify SelectHdl and SelectRecentHdl Change-Id: I680517bc7d91ef15593d235a7ff72588c7513b15 diff --git a/svx/source/tbxctrls/colorwindow.hxx b/svx/source/tbxctrls/colorwindow.hxx index 0dc41ee..f0ccdc5 100644 --- a/svx/source/tbxctrls/colorwindow.hxx +++ b/svx/source/tbxctrls/colorwindow.hxx @@ -49,8 +49,7 @@ private: const sal_uInt16 mnColorSetCols; - DECL_LINK( SelectHdl, void * ); - DECL_LINK( SelectRecentHdl, void * ); + DECL_LINK( SelectHdl, SvxColorValueSet* ); DECL_LINK( SelectPaletteHdl, void *); DECL_LINK( AutoColorClickHdl, void * ); DECL_LINK( OpenPickerClickHdl, void * ); diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index 9df403e..8900416 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -1209,7 +1209,7 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString& rCommand, mpButtonPicker->SetClickHdl( LINK( this, SvxColorWindow_Impl, OpenPickerClickHdl ) ); mpColorSet->SetSelectHdl( LINK( this, SvxColorWindow_Impl, SelectHdl ) ); - mpRecentColorSet->SetSelectHdl( LINK( this, SvxColorWindow_Impl, SelectRecentHdl ) ); + mpRecentColorSet->SetSelectHdl( LINK( this, SvxColorWindow_Impl, SelectHdl ) ); SetHelpId( HID_POPUP_COLOR ); mpColorSet->SetHelpId( HID_POPUP_COLOR_CTRL ); SetText( rWndTitle ); @@ -1234,35 +1234,19 @@ SfxPopupWindow* SvxColorWindow_Impl::Clone() const return new SvxColorWindow_Impl( maCommand, mrPaletteManager, theSlotId, GetFrame(), GetText(), GetParent() ); } -IMPL_LINK_NOARG(SvxColorWindow_Impl, SelectHdl) +IMPL_LINK(SvxColorWindow_Impl, SelectHdl, SvxColorValueSet*, pColorSet) { - Color aColor = mpColorSet->GetItemColor( mpColorSet->GetSelectItemId() ); + Color aColor = pColorSet->GetItemColor( pColorSet->GetSelectItemId() ); /* #i33380# DR 2004-09-03 Moved the following line above the Dispatch() calls. This instance may be deleted in the meantime (i.e. when a dialog is opened while in Dispatch()), accessing members will crash in this case. */ - mpColorSet->SetNoSelection(); + pColorSet->SetNoSelection(); if ( IsInPopupMode() ) EndPopupMode(); - if ( maSelectedLink.IsSet() ) - maSelectedLink.Call(&aColor); - - PaletteManager::DispatchColorCommand(maCommand, aColor); - mrPaletteManager.AddRecentColor(aColor); - return 0; -} - -IMPL_LINK_NOARG(SvxColorWindow_Impl, SelectRecentHdl) -{ - Color aColor = mpRecentColorSet->GetItemColor( mpRecentColorSet->GetSelectItemId() ); - /* #i33380# DR 2004-09-03 Moved the following line above the Dispatch() calls. - This instance may be deleted in the meantime (i.e. when a dialog is opened - while in Dispatch()), accessing members will crash in this case. */ - mpRecentColorSet->SetNoSelection(); - - if ( IsInPopupMode() ) - EndPopupMode(); + if ( pColorSet != mpRecentColorSet ) + mrPaletteManager.AddRecentColor( aColor ); if ( maSelectedLink.IsSet() ) maSelectedLink.Call(&aColor); commit a48145a854f13baaa9cde17790ada26df365fed5 Author: Maxim Monastirsky <momonas...@gmail.com> Date: Tue Oct 28 14:29:46 2014 +0200 Rename loadColorVector to addEntriesForColorVector So it will be similar to addEntriesForXColorList Change-Id: Ie352e0cf05fa6875ed76e69478131a57293b39a1 diff --git a/include/svx/SvxColorValueSet.hxx b/include/svx/SvxColorValueSet.hxx index 585b54f..55a2ddb 100644 --- a/include/svx/SvxColorValueSet.hxx +++ b/include/svx/SvxColorValueSet.hxx @@ -39,7 +39,7 @@ public: sal_uInt32 getColumnCount() const; void addEntriesForXColorList(const XColorList& rXColorList, sal_uInt32 nStartIndex = 1); - void loadColorVector(const std::vector<Color>& rColorVector, const OUString& rNamePrefix, sal_uInt32 nStartIndex = 1); + void addEntriesForColorVector(const std::vector<Color>& rColorVector, const OUString& rNamePrefix, sal_uInt32 nStartIndex = 1); Size layoutAllVisible(sal_uInt32 nEntryCount); Size layoutToGivenHeight(sal_uInt32 nHeight, sal_uInt32 nEntryCount); }; diff --git a/svx/source/tbxctrls/PaletteManager.cxx b/svx/source/tbxctrls/PaletteManager.cxx index c561a5e..e07ad15 100644 --- a/svx/source/tbxctrls/PaletteManager.cxx +++ b/svx/source/tbxctrls/PaletteManager.cxx @@ -108,7 +108,7 @@ void PaletteManager::ReloadColorSet(SvxColorValueSet &rColorSet) std::vector<Color> aColors = pDocSh->GetDocColors(); mnColorCount = aColors.size(); rColorSet.Clear(); - rColorSet.loadColorVector(aColors, STR_DOC_COLOR_PREFIX ); + rColorSet.addEntriesForColorVector(aColors, STR_DOC_COLOR_PREFIX ); } else { diff --git a/svx/source/tbxctrls/SvxColorValueSet.cxx b/svx/source/tbxctrls/SvxColorValueSet.cxx index 299dc4a..4085912 100644 --- a/svx/source/tbxctrls/SvxColorValueSet.cxx +++ b/svx/source/tbxctrls/SvxColorValueSet.cxx @@ -86,7 +86,7 @@ void SvxColorValueSet::addEntriesForXColorList(const XColorList& rXColorList, sa } } -void SvxColorValueSet::loadColorVector(const std::vector<Color>& rColorVector, const OUString& rNamePrefix, sal_uInt32 nStartIndex) +void SvxColorValueSet::addEntriesForColorVector(const std::vector<Color>& rColorVector, const OUString& rNamePrefix, sal_uInt32 nStartIndex) { if(rNamePrefix.getLength() != 0) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits