reportdesign/UIConfig_dbreport.mk | 1 reportdesign/inc/RptResId.hrc | 12 reportdesign/inc/helpids.hrc | 6 reportdesign/source/ui/dlg/CondFormat.src | 29 - reportdesign/source/ui/dlg/Condition.cxx | 13 reportdesign/source/ui/dlg/GroupsSorting.cxx | 301 ++++--------- reportdesign/source/ui/dlg/GroupsSorting.hrc | 56 -- reportdesign/source/ui/dlg/GroupsSorting.src | 255 ----------- reportdesign/source/ui/inc/GroupsSorting.hxx | 53 -- reportdesign/source/ui/report/ReportController.cxx | 4 reportdesign/uiconfig/dbreport/ui/floatingsort.ui | 453 +++++++++++++++++++++ vcl/source/window/dialog.cxx | 3 vcl/source/window/syswin.cxx | 6 13 files changed, 571 insertions(+), 621 deletions(-)
New commits: commit e12b6b789e3980b1aac5c02f893edae1979adfe5 Author: Caolán McNamara <caol...@redhat.com> Date: Wed Sep 3 19:20:01 2014 +0100 convert RID_GROUPS_SORTING floating window to .ui (recovers icons for up/down/delete in the process) Change-Id: I85a8de2ebe1321f972000a680a9f4308c26ae4c3 diff --git a/reportdesign/UIConfig_dbreport.mk b/reportdesign/UIConfig_dbreport.mk index 95fc0fa..ffad8f3 100644 --- a/reportdesign/UIConfig_dbreport.mk +++ b/reportdesign/UIConfig_dbreport.mk @@ -41,6 +41,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/dbreport,\ reportdesign/uiconfig/dbreport/ui/conditionwin \ reportdesign/uiconfig/dbreport/ui/datetimedialog \ reportdesign/uiconfig/dbreport/ui/floatingnavigator \ + reportdesign/uiconfig/dbreport/ui/floatingsort \ reportdesign/uiconfig/dbreport/ui/pagedialog \ reportdesign/uiconfig/dbreport/ui/pagenumberdialog \ )) diff --git a/reportdesign/inc/RptResId.hrc b/reportdesign/inc/RptResId.hrc index c60e14a..60a318a 100644 --- a/reportdesign/inc/RptResId.hrc +++ b/reportdesign/inc/RptResId.hrc @@ -38,7 +38,6 @@ #define RID_MISC_START RID_RPT_START // Dialog Control Id's ----------------------------------------------------------- -#define RID_GROUPS_SORTING ( RID_DIALOG_START + 0 ) #define RID_DATETIME_DLG ( RID_DIALOG_START + 2 ) #define WIN_CONDITION ( RID_DIALOG_START + 4 ) @@ -225,13 +224,8 @@ #define RID_MENU_NAVIGATOR ( RID_MENU_START + 2 ) #define RID_TB_SORTING ( RID_MENU_START + 3 ) -// image lists ----------------------------------------------------------------------- -#define IMG_CONDFORMAT_DLG_SC (RID_IMAGELIST_START + 0) -// free -#define IMG_CONDFORMAT_DLG_LC (RID_IMAGELIST_START + 2) // free #define RID_SVXIMGLIST_RPTEXPL (RID_IMAGELIST_START + 4) -#define IMGLST_GROUPSORT_DLG_SC (RID_IMAGELIST_START + 6) // free #define IMG_ADDFIELD_DLG_SC (RID_IMAGELIST_START + 8) // free @@ -252,12 +246,6 @@ #define RID_STR_VERTICAL_ALIGN_CONST (RID_UNTYPED_START + 7) #define RID_STR_PARAADJUST_CONST (RID_UNTYPED_START + 8) -// toolbox lists --------------------------------------------------------------------- - -#define SID_RPT_GROUPSORT_MOVE_UP ( RID_TOOLBOX_START + 0 ) -#define SID_RPT_GROUPSORT_MOVE_DOWN ( RID_TOOLBOX_START + 1 ) -#define SID_RPT_GROUPSORT_DELETE ( RID_TOOLBOX_START + 2 ) - #endif // _RPTUI_DLGRESID_HRC /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/helpids.hrc b/reportdesign/inc/helpids.hrc index 9753490..7a41d18 100644 --- a/reportdesign/inc/helpids.hrc +++ b/reportdesign/inc/helpids.hrc @@ -39,8 +39,6 @@ #define HID_RPT_STARTMARKER "REPORTDESIGN_HID_RPT_STARTMARKER" #define HID_RPT_FIELDEXPRESSION "REPORTDESIGN_HID_RPT_FIELDEXPRESSION" #define HID_RPT_SORTORDER "REPORTDESIGN_HID_RPT_SORTORDER" -#define HID_RPT_GROUPSBRW "REPORTDESIGN_HID_RPT_GROUPSBRW" -#define HID_RPT_GROUPSSORTING_DLG "REPORTDESIGN_HID_RPT_GROUPSSORTING_DLG" #define HID_RPT_POPUP_COLOR_CTRL "REPORTDESIGN_HID_RPT_POPUP_COLOR_CTRL" #define HID_RPT_POPUP_COLOR "REPORTDESIGN_HID_RPT_POPUP_COLOR" #define HID_RPT_FIELD_SEL "REPORTDESIGN_HID_RPT_FIELD_SEL" @@ -99,10 +97,6 @@ #define HID_RPT_PROP_BACKTRANSPARENT "REPORTDESIGN_HID_RPT_PROP_BACKTRANSPARENT" #define HID_RPT_PROP_CONTROLBACKGROUNDTRANSPARENT "REPORTDESIGN_HID_RPT_PROP_CONTROLBACKGROUNDTRANSPARENT" -#define HID_RPT_GROUPSORT_MOVE_UP "REPORTDESIGN_HID_RPT_GROUPSORT_MOVE_UP" -#define HID_RPT_GROUPSORT_MOVE_DOWN "REPORTDESIGN_HID_RPT_GROUPSORT_MOVE_DOWN" -#define HID_RPT_GROUPSORT_DELETE "REPORTDESIGN_HID_RPT_GROUPSORT_DELETE" - #endif //RTPUI_REPORTDESIGN_HELPID_HRC /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/source/ui/dlg/CondFormat.src b/reportdesign/source/ui/dlg/CondFormat.src index 5f933a8..b45a7f81 100644 --- a/reportdesign/source/ui/dlg/CondFormat.src +++ b/reportdesign/source/ui/dlg/CondFormat.src @@ -47,41 +47,12 @@ String STR_TRANSPARENT #define MASKCOLOR MaskColor = Color { Red = 0xFFFF; Green = 0x0000; Blue = 0xFFFF; } -ImageList IMG_CONDFORMAT_DLG_SC -{ - MASKCOLOR; - FileList = - { - < "cmd/sc_bold.png" ; SID_ATTR_CHAR_WEIGHT ; > ; - < "cmd/sc_italic.png" ; SID_ATTR_CHAR_POSTURE ; > ; - < "cmd/sc_underline.png" ; SID_ATTR_CHAR_UNDERLINE ; > ; - < "cmd/sc_backgroundcolor.png" ; SID_BACKGROUND_COLOR ; > ; - < "cmd/sc_fontcolor.png" ; SID_ATTR_CHAR_COLOR2 ; > ; - < "cmd/sc_fontdialog.png" ; SID_CHAR_DLG ; > ; - }; -}; - -ImageList IMG_CONDFORMAT_DLG_LC -{ - MASKCOLOR; - FileList = - { - < "cmd/lc_bold.png" ; SID_ATTR_CHAR_WEIGHT ; > ; - < "cmd/lc_italic.png" ; SID_ATTR_CHAR_POSTURE ; > ; - < "cmd/lc_underline.png" ; SID_ATTR_CHAR_UNDERLINE ; > ; - < "cmd/lc_backgroundcolor.png" ; SID_BACKGROUND_COLOR ; > ; - < "cmd/lc_fontcolor.png" ; SID_ATTR_CHAR_COLOR2 ; > ; - < "cmd/lc_fontdialog.png" ; SID_CHAR_DLG ; > ; - }; -}; - ImageList 31000 { MASKCOLOR; prefix = "sc"; IdList = {05500;}; IdCount = 1; - }; ToolBox RID_TB_SORTING diff --git a/reportdesign/source/ui/dlg/Condition.cxx b/reportdesign/source/ui/dlg/Condition.cxx index c7d64a7..016b88f 100644 --- a/reportdesign/source/ui/dlg/Condition.cxx +++ b/reportdesign/source/ui/dlg/Condition.cxx @@ -361,23 +361,10 @@ void Condition::ApplyCommand( sal_uInt16 _nCommandId, const ::Color& _rColor) void Condition::setImageList(sal_Int16 /*_eBitmapSet*/) { -#if 0 - sal_Int16 nN = IMG_CONDFORMAT_DLG_SC; - if ( _eBitmapSet == SFX_SYMBOLS_SIZE_LARGE ) - nN = IMG_CONDFORMAT_DLG_LC; - m_pActions->SetImageList(ImageList(ModuleRes(nN))); -#endif } void Condition::resizeControls(const Size& /*_rDiff*/) { -#if 0 - // we use large images so we must change them - if ( _rDiff.Width() || _rDiff.Height() ) - { - Invalidate(); - } -#endif } void Condition::GetFocus() diff --git a/reportdesign/source/ui/dlg/GroupsSorting.cxx b/reportdesign/source/ui/dlg/GroupsSorting.cxx index 9557309..ea4ad8d 100644 --- a/reportdesign/source/ui/dlg/GroupsSorting.cxx +++ b/reportdesign/source/ui/dlg/GroupsSorting.cxx @@ -17,7 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #include "GroupsSorting.hxx" -#include "GroupsSorting.hrc" #include <connectivity/dbtools.hxx> #include <svtools/editbrowsebox.hxx> #include <svtools/imgdef.hxx> @@ -40,7 +39,6 @@ #include <cppuhelper/implbase1.hxx> #include <comphelper/property.hxx> -#include <vcl/mnemonic.hxx> #include <vcl/msgbox.hxx> #include <vcl/settings.hxx> @@ -97,7 +95,7 @@ class OFieldExpressionControl : public TContainerListenerBase bool SaveModified(bool _bAppend); public: - OFieldExpressionControl( OGroupsSortingDialog* _pParent,const ResId& _rResId); + OFieldExpressionControl(OGroupsSortingDialog* _pParentDialog, Window *_pParent); virtual ~OFieldExpressionControl(); // XEventListener @@ -107,6 +105,8 @@ public: virtual void SAL_CALL elementReplaced(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; virtual void SAL_CALL elementRemoved(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; + virtual Size GetOptimalSize() const SAL_OVERRIDE; + void fillColumns(const uno::Reference< container::XNameAccess>& _xColumns); void lateInit(); bool IsDeleteAllowed( ); @@ -164,18 +164,16 @@ public: }; // class OFieldExpressionControl - - -OFieldExpressionControl::OFieldExpressionControl( OGroupsSortingDialog* _pParent,const ResId& _rResId ) - :EditBrowseBox( _pParent, _rResId,EBBF_NONE, WB_TABSTOP | BROWSER_COLUMNSELECTION | BROWSER_MULTISELECTION | BROWSER_AUTOSIZE_LASTCOL | - BROWSER_KEEPSELECTION | BROWSER_HLINESFULL | BROWSER_VLINESFULL) +OFieldExpressionControl::OFieldExpressionControl(OGroupsSortingDialog* _pParentDialog, Window *_pParent) + :EditBrowseBox( _pParent, EBBF_NONE, WB_TABSTOP | BROWSER_COLUMNSELECTION | BROWSER_MULTISELECTION | BROWSER_AUTOSIZE_LASTCOL | + BROWSER_KEEPSELECTION | BROWSER_HLINESFULL | BROWSER_VLINESFULL) ,m_aGroupPositions(GROUPS_START_LEN,-1) ,m_pComboCell(NULL) ,m_nDataPos(-1) ,m_nCurrentPos(-1) ,m_nPasteEvent(0) ,m_nDeleteEvent(0) - ,m_pParent(_pParent) + ,m_pParent(_pParentDialog) ,m_bIgnoreEvent(false) { SetBorderStyle(WINDOW_BORDER_MONO); @@ -909,42 +907,39 @@ void OFieldExpressionControl::InsertRows( long nRow ) RowInserted( nRow, nSize, true ); } - +Size OFieldExpressionControl::GetOptimalSize() const +{ + return LogicToPixel(Size(106, 75), MAP_APPFONT); +} // class OGroupsSortingDialog - -OGroupsSortingDialog::OGroupsSortingDialog( Window* _pParent - ,bool _bReadOnly - ,OReportController* _pController) - : FloatingWindow( _pParent, ModuleRes(RID_GROUPS_SORTING) ) - ,OPropertyChangeListener(m_aMutex) - ,m_aFL2(this, ModuleRes(FL_SEPARATOR2) ) - ,m_aMove(this, ModuleRes(FT_MOVELABEL) ) - ,m_aToolBox(this, ModuleRes(TB_TOOLBOX) ) - - ,m_aFL3(this, ModuleRes(FL_SEPARATOR3) ) - ,m_aOrder(this, ModuleRes(FT_ORDER) ) - ,m_aOrderLst(this, ModuleRes(LST_ORDER) ) - ,m_aHeader(this, ModuleRes(FT_HEADER) ) - ,m_aHeaderLst(this, ModuleRes(LST_HEADERLST) ) - ,m_aFooter(this, ModuleRes(FT_FOOTER) ) - ,m_aFooterLst(this, ModuleRes(LST_FOOTERLST) ) - ,m_aGroupOn(this, ModuleRes(FT_GROUPON) ) - ,m_aGroupOnLst(this, ModuleRes(LST_GROUPONLST) ) - ,m_aGroupInterval(this, ModuleRes(FT_GROUPINTERVAL) ) - ,m_aGroupIntervalEd(this, ModuleRes(ED_GROUPINTERVALLST) ) - ,m_aKeepTogether(this, ModuleRes(FT_KEEPTOGETHER) ) - ,m_aKeepTogetherLst(this, ModuleRes(LST_KEEPTOGETHERLST) ) - ,m_aFL(this, ModuleRes(FL_SEPARATOR1) ) - ,m_aHelpWindow(this, ModuleRes(HELP_FIELD) ) - ,m_pFieldExpression( new OFieldExpressionControl(this,ModuleRes(WND_CONTROL))) - ,m_pController(_pController) - ,m_pCurrentGroupListener(NULL) - ,m_xGroups(m_pController->getReportDefinition()->getGroups()) - ,m_bReadOnly(_bReadOnly) +OGroupsSortingDialog::OGroupsSortingDialog(Window* _pParent, bool _bReadOnly, + OReportController* _pController) + : FloatingWindow(_pParent, "FloatingSort", "modules/dbreport/ui/floatingsort.ui") + , OPropertyChangeListener(m_aMutex) + , m_pController(_pController) + , m_pCurrentGroupListener(NULL) + , m_xGroups(m_pController->getReportDefinition()->getGroups()) + , m_bReadOnly(_bReadOnly) { - - Control* pControlsLst[] = { &m_aHeaderLst, &m_aFooterLst, &m_aGroupOnLst, &m_aKeepTogetherLst, &m_aOrderLst, &m_aGroupIntervalEd}; + get(m_pToolBox, "toolbox"); + m_nMoveUpId = m_pToolBox->GetItemId(0); + m_nMoveDownId = m_pToolBox->GetItemId(1); + m_nDeleteId = m_pToolBox->GetItemId(2); + get(m_pOrderLst, "sorting"); + get(m_pHeaderLst, "header"); + get(m_pFooterLst, "footer"); + get(m_pGroupOnLst, "group"); + get(m_pGroupIntervalEd, "interval"); + get(m_pKeepTogetherLst, "keep"); + get(m_pHelpWindow, "helptext"); + m_pHelpWindow->set_height_request(GetTextHeight() * 4); + get(m_pProperties, "properties"); + m_pFieldExpression = new OFieldExpressionControl(this, get<Window>("box")); + m_pFieldExpression->set_hexpand(true); + m_pFieldExpression->set_vexpand(true); + + Control* pControlsLst[] = { m_pHeaderLst, m_pFooterLst, m_pGroupOnLst, m_pKeepTogetherLst, m_pOrderLst, m_pGroupIntervalEd}; for (size_t i = 0; i < sizeof (pControlsLst) / sizeof (pControlsLst[0]); ++i) { pControlsLst[i]->SetGetFocusHdl(LINK(this, OGroupsSortingDialog, OnControlFocusGot)); @@ -955,30 +950,6 @@ OGroupsSortingDialog::OGroupsSortingDialog( Window* _pParent for (size_t i = 0; i < (sizeof (pControlsLst) / sizeof (pControlsLst[0])) - 1; ++i) static_cast<ListBox*>(pControlsLst[i])->SetSelectHdl(LINK(this,OGroupsSortingDialog,LBChangeHdl)); - Control* pControls[] = { &m_aHeader, &m_aFooter, &m_aGroupOn, &m_aGroupInterval, &m_aKeepTogether, &m_aOrder - , &m_aMove,&m_aFL2}; - sal_Int32 nMaxTextWidth = 0; - MnemonicGenerator aMnemonicGenerator; - for (size_t i = 0; i < sizeof (pControlsLst) / sizeof (pControlsLst[0]); ++i) - aMnemonicGenerator.RegisterMnemonic( pControls[i]->GetText() ); - - for (size_t i = 0; i < sizeof (pControlsLst) / sizeof (pControlsLst[0]); ++i) - { - pControls[i]->Show(true); - OUString sText = pControls[i]->GetText(); - OUString sNewText = aMnemonicGenerator.CreateMnemonic(sText); - if ( sText != sNewText ) - pControls[i]->SetText(sNewText); - sal_Int32 nTextWidth = GetTextWidth(sNewText); - nMaxTextWidth = ::std::max<sal_Int32>(nTextWidth,nMaxTextWidth); - } - - Size aSize(UNRELATED_CONTROLS, PAGE_HEIGHT); - Size aSpace = LogicToPixel( aSize, MAP_APPFONT ); - Size aOutSize(nMaxTextWidth + m_aHeader.GetSizePixel().Width() + 3*aSpace.Width(),aSpace.Height()); - SetMinOutputSizePixel(aOutSize); - SetOutputSizePixel(aOutSize); - m_pReportListener = new OPropertyChangeMultiplexer(this,m_pController->getReportDefinition().get()); m_pReportListener->addProperty(PROPERTY_COMMAND); m_pReportListener->addProperty(PROPERTY_COMMANDTYPE); @@ -987,23 +958,16 @@ OGroupsSortingDialog::OGroupsSortingDialog( Window* _pParent fillColumns(); m_pFieldExpression->Show(); - m_aHelpWindow.SetControlBackground( GetSettings().GetStyleSettings().GetFaceColor() ); + m_pHelpWindow->SetControlBackground( GetSettings().GetStyleSettings().GetFaceColor() ); - m_pFieldExpression->SetZOrder(&m_aFL2, WINDOW_ZORDER_BEHIND); - - m_aMove.SetZOrder(m_pFieldExpression, WINDOW_ZORDER_BEHIND); - m_aToolBox.SetStyle(m_aToolBox.GetStyle()|WB_LINESPACING); - m_aToolBox.SetSelectHdl(LINK(this, OGroupsSortingDialog, OnFormatAction)); - m_aToolBox.SetImageListProvider(this); - setToolBox(&m_aToolBox); + m_pToolBox->SetStyle(m_pToolBox->GetStyle()|WB_LINESPACING); + m_pToolBox->SetSelectHdl(LINK(this, OGroupsSortingDialog, OnFormatAction)); checkButtons(0); - Resize(); - FreeResource(); + Show(); } - OGroupsSortingDialog::~OGroupsSortingDialog() { delete m_pFieldExpression; @@ -1013,7 +977,6 @@ OGroupsSortingDialog::~OGroupsSortingDialog() m_pCurrentGroupListener->dispose(); } - void OGroupsSortingDialog::UpdateData( ) { m_pFieldExpression->Invalidate(); @@ -1027,20 +990,7 @@ void OGroupsSortingDialog::DisplayData( sal_Int32 _nRow ) { sal_Int32 nGroupPos = m_pFieldExpression->getGroupPosition(_nRow); bool bEmpty = nGroupPos == NO_GROUP; - m_aHeaderLst.Enable(!bEmpty); - m_aFooterLst.Enable(!bEmpty); - m_aGroupOnLst.Enable(!bEmpty); - m_aGroupIntervalEd.Enable(!bEmpty); - m_aKeepTogetherLst.Enable(!bEmpty); - m_aOrderLst.Enable(!bEmpty); - - m_aFL3.Enable(!bEmpty); - m_aHeader.Enable(!bEmpty); - m_aFooter.Enable(!bEmpty); - m_aGroupOn.Enable(!bEmpty); - m_aGroupInterval.Enable(!bEmpty); - m_aKeepTogether.Enable(!bEmpty); - m_aOrder.Enable(!bEmpty); + m_pProperties->Enable(!bEmpty); checkButtons(_nRow); @@ -1066,26 +1016,26 @@ void OGroupsSortingDialog::SaveData( sal_Int32 _nRow) return; uno::Reference< report::XGroup> xGroup = getGroup(nGroupPos); - if ( m_aHeaderLst.IsValueChangedFromSaved() ) - xGroup->setHeaderOn( m_aHeaderLst.GetSelectEntryPos() == 0 ); - if ( m_aFooterLst.IsValueChangedFromSaved() ) - xGroup->setFooterOn( m_aFooterLst.GetSelectEntryPos() == 0 ); - if ( m_aKeepTogetherLst.IsValueChangedFromSaved() ) - xGroup->setKeepTogether( m_aKeepTogetherLst.GetSelectEntryPos() ); - if ( m_aGroupOnLst.IsValueChangedFromSaved() ) + if ( m_pHeaderLst->IsValueChangedFromSaved() ) + xGroup->setHeaderOn( m_pHeaderLst->GetSelectEntryPos() == 0 ); + if ( m_pFooterLst->IsValueChangedFromSaved() ) + xGroup->setFooterOn( m_pFooterLst->GetSelectEntryPos() == 0 ); + if ( m_pKeepTogetherLst->IsValueChangedFromSaved() ) + xGroup->setKeepTogether( m_pKeepTogetherLst->GetSelectEntryPos() ); + if ( m_pGroupOnLst->IsValueChangedFromSaved() ) { - sal_Int16 nGroupOn = static_cast<sal_Int16>(reinterpret_cast<sal_IntPtr>(m_aGroupOnLst.GetEntryData(m_aGroupOnLst.GetSelectEntryPos()))); + sal_Int16 nGroupOn = static_cast<sal_Int16>(reinterpret_cast<sal_IntPtr>(m_pGroupOnLst->GetEntryData(m_pGroupOnLst->GetSelectEntryPos()))); xGroup->setGroupOn( nGroupOn ); } - if ( m_aGroupIntervalEd.IsValueChangedFromSaved() ) + if ( m_pGroupIntervalEd->IsValueChangedFromSaved() ) { - xGroup->setGroupInterval( static_cast<sal_Int32>(m_aGroupIntervalEd.GetValue()) ); - m_aGroupIntervalEd.SaveValue(); + xGroup->setGroupInterval( static_cast<sal_Int32>(m_pGroupIntervalEd->GetValue()) ); + m_pGroupIntervalEd->SaveValue(); } - if ( m_aOrderLst.IsValueChangedFromSaved() ) - xGroup->setSortAscending( m_aOrderLst.GetSelectEntryPos() == 0 ); + if ( m_pOrderLst->IsValueChangedFromSaved() ) + xGroup->setSortAscending( m_pOrderLst->GetSelectEntryPos() == 0 ); - ListBox* pControls[] = { &m_aHeaderLst,&m_aFooterLst,&m_aGroupOnLst,&m_aKeepTogetherLst,&m_aOrderLst}; + ListBox* pControls[] = { m_pHeaderLst, m_pFooterLst, m_pGroupOnLst, m_pKeepTogetherLst, m_pOrderLst}; for (size_t i = 0; i < sizeof(pControls)/sizeof(pControls[0]); ++i) pControls[i]->SaveValue(); } @@ -1117,7 +1067,7 @@ IMPL_LINK(OGroupsSortingDialog, OnControlFocusGot, Control*, pControl ) { if ( m_pFieldExpression && m_pFieldExpression->getExpressionControl() ) { - Control* pControls[] = { m_pFieldExpression->getExpressionControl(),&m_aHeaderLst,&m_aFooterLst,&m_aGroupOnLst,&m_aGroupIntervalEd,&m_aKeepTogetherLst,&m_aOrderLst}; + Control* pControls[] = { m_pFieldExpression->getExpressionControl(), m_pHeaderLst, m_pFooterLst, m_pGroupOnLst, m_pGroupIntervalEd, m_pKeepTogetherLst, m_pOrderLst}; for (size_t i = 0; i < sizeof(pControls)/sizeof(pControls[0]); ++i) { if ( pControl == pControls[i] ) @@ -1138,9 +1088,9 @@ IMPL_LINK(OGroupsSortingDialog, OnControlFocusGot, Control*, pControl ) IMPL_LINK(OGroupsSortingDialog, OnControlFocusLost, Control*, pControl ) { - if ( m_pFieldExpression && pControl == &m_aGroupIntervalEd ) + if (m_pFieldExpression && pControl == m_pGroupIntervalEd) { - if ( m_aGroupIntervalEd.IsModified() ) + if ( m_pGroupIntervalEd->IsModified() ) SaveData(m_pFieldExpression->GetCurRow()); } return 0L; @@ -1149,7 +1099,7 @@ IMPL_LINK(OGroupsSortingDialog, OnControlFocusLost, Control*, pControl ) IMPL_LINK( OGroupsSortingDialog, OnFormatAction, ToolBox*, /*NOTINTERESTEDIN*/ ) { - sal_uInt16 nCommand = m_aToolBox.GetCurItemId(); + sal_uInt16 nCommand = m_pToolBox->GetCurItemId(); if ( m_pFieldExpression ) { @@ -1161,15 +1111,15 @@ IMPL_LINK( OGroupsSortingDialog, OnFormatAction, ToolBox*, /*NOTINTERESTEDIN*/ ) aClipboardList.realloc(1); aClipboardList[0] = m_xGroups->getByIndex(nGroupPos); } - if ( nCommand == SID_RPT_GROUPSORT_MOVE_UP ) + if ( nCommand == m_nMoveUpId ) { --nIndex; } - if ( nCommand == SID_RPT_GROUPSORT_MOVE_DOWN ) + if ( nCommand == m_nMoveDownId ) { ++nIndex; } - if ( nCommand == SID_RPT_GROUPSORT_DELETE ) + if ( nCommand == m_nDeleteId ) { Application::PostUserEvent( LINK(m_pFieldExpression, OFieldExpressionControl, DelayedDelete) ); } @@ -1195,12 +1145,12 @@ IMPL_LINK( OGroupsSortingDialog, LBChangeHdl, ListBox*, pListBox ) { sal_Int32 nRow = m_pFieldExpression->GetCurRow(); sal_Int32 nGroupPos = m_pFieldExpression->getGroupPosition(nRow); - if ( pListBox != &m_aHeaderLst && pListBox != &m_aFooterLst) + if (pListBox != m_pHeaderLst && pListBox != m_pFooterLst) { if ( pListBox->IsValueChangedFromSaved() ) SaveData(nRow); - if ( pListBox == &m_aGroupOnLst ) - m_aGroupIntervalEd.Enable( pListBox->GetSelectEntryPos() != 0 ); + if ( pListBox == m_pGroupOnLst ) + m_pGroupIntervalEd->Enable( pListBox->GetSelectEntryPos() != 0 ); } else if ( nGroupPos != NO_GROUP ) { @@ -1209,13 +1159,13 @@ IMPL_LINK( OGroupsSortingDialog, LBChangeHdl, ListBox*, pListBox ) aArgs[1].Name = PROPERTY_GROUP; aArgs[1].Value <<= xGroup; - if ( &m_aHeaderLst == pListBox ) + if ( m_pHeaderLst == pListBox ) aArgs[0].Name = PROPERTY_HEADERON; else aArgs[0].Name = PROPERTY_FOOTERON; aArgs[0].Value <<= pListBox->GetSelectEntryPos() == 0; - m_pController->executeChecked(&m_aHeaderLst == pListBox ? SID_GROUPHEADER : SID_GROUPFOOTER,aArgs); + m_pController->executeChecked(m_pHeaderLst == pListBox ? SID_GROUPHEADER : SID_GROUPFOOTER,aArgs); m_pFieldExpression->InvalidateHandleColumn(); } } @@ -1224,7 +1174,7 @@ IMPL_LINK( OGroupsSortingDialog, LBChangeHdl, ListBox*, pListBox ) void OGroupsSortingDialog::showHelpText(sal_uInt16 _nResId) { - m_aHelpWindow.SetText(OUString(ModuleRes(_nResId))); + m_pHelpWindow->SetText(OUString(ModuleRes(_nResId))); } void OGroupsSortingDialog::_propertyChanged(const beans::PropertyChangeEvent& _rEvent) throw( uno::RuntimeException) @@ -1244,14 +1194,14 @@ void OGroupsSortingDialog::fillColumns() void OGroupsSortingDialog::displayGroup(const uno::Reference<report::XGroup>& _xGroup) { - m_aHeaderLst.SelectEntryPos(_xGroup->getHeaderOn() ? 0 : 1 ); - m_aFooterLst.SelectEntryPos(_xGroup->getFooterOn() ? 0 : 1 ); + m_pHeaderLst->SelectEntryPos(_xGroup->getHeaderOn() ? 0 : 1 ); + m_pFooterLst->SelectEntryPos(_xGroup->getFooterOn() ? 0 : 1 ); sal_Int32 nDataType = getColumnDataType(_xGroup->getExpression()); // first clear whole group on list - while(m_aGroupOnLst.GetEntryCount() > 1 ) + while(m_pGroupOnLst->GetEntryCount() > 1 ) { - m_aGroupOnLst.RemoveEntry(1); + m_pGroupOnLst->RemoveEntry(1); } switch(nDataType) @@ -1259,8 +1209,8 @@ void OGroupsSortingDialog::displayGroup(const uno::Reference<report::XGroup>& _x case sdbc::DataType::LONGVARCHAR: case sdbc::DataType::VARCHAR: case sdbc::DataType::CHAR: - m_aGroupOnLst.InsertEntry(OUString(ModuleRes(STR_RPT_PREFIXCHARS))); - m_aGroupOnLst.SetEntryData(1,reinterpret_cast<void*>(report::GroupOn::PREFIX_CHARACTERS)); + m_pGroupOnLst->InsertEntry(OUString(ModuleRes(STR_RPT_PREFIXCHARS))); + m_pGroupOnLst->SetEntryData(1,reinterpret_cast<void*>(report::GroupOn::PREFIX_CHARACTERS)); break; case sdbc::DataType::DATE: case sdbc::DataType::TIME: @@ -1269,14 +1219,14 @@ void OGroupsSortingDialog::displayGroup(const uno::Reference<report::XGroup>& _x sal_uInt16 nIds[] = { STR_RPT_YEAR, STR_RPT_QUARTER,STR_RPT_MONTH,STR_RPT_WEEK,STR_RPT_DAY,STR_RPT_HOUR,STR_RPT_MINUTE }; for (sal_uInt16 i = 0; i < sizeof (nIds) / sizeof (nIds[0]); ++i) { - m_aGroupOnLst.InsertEntry(OUString(ModuleRes(nIds[i]))); - m_aGroupOnLst.SetEntryData(i+1,reinterpret_cast<void*>(i+2)); + m_pGroupOnLst->InsertEntry(OUString(ModuleRes(nIds[i]))); + m_pGroupOnLst->SetEntryData(i+1,reinterpret_cast<void*>(i+2)); } } break; default: - m_aGroupOnLst.InsertEntry(OUString(ModuleRes(STR_RPT_INTERVAL))); - m_aGroupOnLst.SetEntryData(1,reinterpret_cast<void*>(report::GroupOn::INTERVAL)); + m_pGroupOnLst->InsertEntry(OUString(ModuleRes(STR_RPT_INTERVAL))); + m_pGroupOnLst->SetEntryData(1,reinterpret_cast<void*>(report::GroupOn::INTERVAL)); break; } sal_Int32 nPos = 0; @@ -1315,57 +1265,22 @@ void OGroupsSortingDialog::displayGroup(const uno::Reference<report::XGroup>& _x default: nPos = 0; } - m_aGroupOnLst.SelectEntryPos(nPos); - m_aGroupIntervalEd.SetText(OUString::number(_xGroup->getGroupInterval())); - m_aGroupIntervalEd.SaveValue(); - m_aGroupIntervalEd.Enable( nPos != 0 ); - m_aKeepTogetherLst.SelectEntryPos(_xGroup->getKeepTogether()); - m_aOrderLst.SelectEntryPos(_xGroup->getSortAscending() ? 0 : 1); - - ListBox* pControls[] = { &m_aHeaderLst,&m_aFooterLst,&m_aGroupOnLst,&m_aKeepTogetherLst,&m_aOrderLst}; + m_pGroupOnLst->SelectEntryPos(nPos); + m_pGroupIntervalEd->SetText(OUString::number(_xGroup->getGroupInterval())); + m_pGroupIntervalEd->SaveValue(); + m_pGroupIntervalEd->Enable( nPos != 0 ); + m_pKeepTogetherLst->SelectEntryPos(_xGroup->getKeepTogether()); + m_pOrderLst->SelectEntryPos(_xGroup->getSortAscending() ? 0 : 1); + + ListBox* pControls[] = { m_pHeaderLst, m_pFooterLst, m_pGroupOnLst, m_pKeepTogetherLst, m_pOrderLst}; for (size_t i = 0; i < sizeof(pControls)/sizeof(pControls[0]); ++i) pControls[i]->SaveValue(); - ListBox* pControlsLst2[] = { &m_aHeaderLst, &m_aFooterLst, &m_aGroupOnLst, &m_aKeepTogetherLst,&m_aOrderLst}; + ListBox* pControlsLst2[] = { m_pHeaderLst, m_pFooterLst, m_pGroupOnLst, m_pKeepTogetherLst, m_pOrderLst}; bool bReadOnly = !m_pController->isEditable(); for (size_t i = 0; i < sizeof(pControlsLst2)/sizeof(pControlsLst2[0]); ++i) pControlsLst2[i]->SetReadOnly(bReadOnly); - m_aGroupIntervalEd.SetReadOnly(bReadOnly); -} - -void OGroupsSortingDialog::Resize() -{ - Window::Resize(); - Size aTotalOutputSize = GetOutputSizePixel(); - Size aSpace = LogicToPixel( Size( UNRELATED_CONTROLS, UNRELATED_CONTROLS ), MAP_APPFONT ); - m_pFieldExpression->SetSizePixel(Size(aTotalOutputSize.Width() - 2*aSpace.Width(),m_pFieldExpression->GetSizePixel().Height())); - - Control* pControlsLst[] = { &m_aHeaderLst, &m_aFooterLst, &m_aGroupOnLst, &m_aGroupIntervalEd,&m_aKeepTogetherLst,&m_aOrderLst}; - Control* pControls[] = { &m_aHeader, &m_aFooter, &m_aGroupOn, &m_aGroupInterval, &m_aKeepTogether, &m_aOrder}; - sal_Int32 nMaxTextWidth = 0; - for (size_t i = 0; i < sizeof (pControlsLst) / sizeof (pControlsLst[0]); ++i) - { - nMaxTextWidth = ::std::max<sal_Int32>(static_cast<sal_Int32>(GetTextWidth(pControls[i]->GetText())),nMaxTextWidth); - } - - for (size_t i = 0; i < sizeof (pControlsLst) / sizeof (pControlsLst[0]); ++i) - { - pControls[i]->SetSizePixel(Size(nMaxTextWidth,pControls[i]->GetSizePixel().Height())); - Point aPos = pControls[i]->GetPosPixel(); - aPos.X() += nMaxTextWidth + aSpace.Width(); - aPos.Y() = pControlsLst[i]->GetPosPixel().Y(); - - pControlsLst[i]->SetPosSizePixel(aPos,Size(aTotalOutputSize.Width() - aPos.X() - aSpace.Width(),pControlsLst[i]->GetSizePixel().Height())); - } - - m_aFL.SetSizePixel(Size(aTotalOutputSize.Width() - aSpace.Width(),m_aFL.GetSizePixel().Height())); - m_aFL2.SetSizePixel(Size(aTotalOutputSize.Width() - aSpace.Width(),m_aFL2.GetSizePixel().Height())); - m_aFL3.SetSizePixel(Size(aTotalOutputSize.Width() - aSpace.Width(),m_aFL3.GetSizePixel().Height())); - sal_Int32 nPos = aTotalOutputSize.Width() - aSpace.Width() - m_aToolBox.GetSizePixel().Width(); - m_aToolBox.SetPosPixel(Point(nPos,m_aToolBox.GetPosPixel().Y())); - - Point aHelpPos = m_aHelpWindow.GetPosPixel(); - m_aHelpWindow.SetSizePixel(Size(aTotalOutputSize.Width() - aHelpPos.X(),aTotalOutputSize.Height() - aHelpPos.Y())); + m_pGroupIntervalEd->SetReadOnly(bReadOnly); } void OGroupsSortingDialog::checkButtons(sal_Int32 _nRow) @@ -1376,59 +1291,33 @@ void OGroupsSortingDialog::checkButtons(sal_Int32 _nRow) if (bEnabled && _nRow > 0 ) { - m_aToolBox.EnableItem(SID_RPT_GROUPSORT_MOVE_UP, true); + m_pToolBox->EnableItem(m_nMoveUpId, true); } else { - m_aToolBox.EnableItem(SID_RPT_GROUPSORT_MOVE_UP, false); + m_pToolBox->EnableItem(m_nMoveUpId, false); } if (bEnabled && _nRow < (nRowCount - 1) ) { - m_aToolBox.EnableItem(SID_RPT_GROUPSORT_MOVE_DOWN, true); + m_pToolBox->EnableItem(m_nMoveDownId, true); } else { - m_aToolBox.EnableItem(SID_RPT_GROUPSORT_MOVE_DOWN, false); + m_pToolBox->EnableItem(m_nMoveDownId, false); } sal_Int32 nGroupPos = m_pFieldExpression->getGroupPosition(_nRow); if ( nGroupPos != NO_GROUP ) { bool bEnableDelete = nGroupCount > 0; - m_aToolBox.EnableItem(SID_RPT_GROUPSORT_DELETE, bEnableDelete); + m_pToolBox->EnableItem(m_nDeleteId, bEnableDelete); } else { - m_aToolBox.EnableItem(SID_RPT_GROUPSORT_DELETE, false); + m_pToolBox->EnableItem(m_nDeleteId, false); } } -void OGroupsSortingDialog::setImageList(sal_Int16 _eBitmapSet) -{ - sal_Int16 nN = IMG_CONDFORMAT_DLG_SC; - if ( _eBitmapSet == SFX_SYMBOLS_SIZE_LARGE ) - nN = IMG_CONDFORMAT_DLG_LC; - m_aToolBox.SetImageList(ImageList(ModuleRes(nN))); -} - -void OGroupsSortingDialog::resizeControls(const Size& _rDiff) -{ - // we use large images so we must change them - if ( _rDiff.Width() || _rDiff.Height() ) - { - Invalidate(); - } -} - - -// load the images -ImageList OGroupsSortingDialog::getImageList(vcl::ImageListType) -{ - return ImageList(ModuleRes(IMGLST_GROUPSORT_DLG_SC)); -} - - } // rptui - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/source/ui/dlg/GroupsSorting.hrc b/reportdesign/source/ui/dlg/GroupsSorting.hrc deleted file mode 100644 index 296ff61..0000000 --- a/reportdesign/source/ui/dlg/GroupsSorting.hrc +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -#ifndef RPTUI_GROUPSSORTING_HRC -#define RPTUI_GROUPSSORTING_HRC - -#define FT_HEADER (1) -#define LST_HEADERLST (2) -#define FT_FOOTER (3) -#define LST_FOOTERLST (4) -#define FT_GROUPON (5) -#define LST_GROUPONLST (6) -#define FT_GROUPINTERVAL (7) -#define ED_GROUPINTERVALLST (8) -#define FT_KEEPTOGETHER (9) -#define LST_KEEPTOGETHERLST (10) -#define WND_CONTROL (14) -#define HELP_FIELD (15) -#define FT_ORDER (16) -#define LST_ORDER (17) -#define FL_SEPARATOR1 (18) -#define FT_MOVELABEL (19) -#define FL_SEPARATOR2 (22) -#define FL_SEPARATOR3 (23) -#define TB_TOOLBOX (27) - -#define FIXEDTEXT_HEIGHT 8 -#define FIXEDTEXT_WIDTH 60 -#define RELATED_CONTROLS 4 -#define UNRELATED_CONTROLS 7 -#define EDIT_HEIGHT 12 -#define BUTTON_HEIGHT 14 -#define BUTTON_WIDTH 50 -#define BROWSER_HEIGHT 75 -#define PAGE_WIDTH 120 -#define PAGE_HEIGHT ( 13*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 11*FIXEDTEXT_HEIGHT ) -#define LISTBOX_WIDTH PAGE_WIDTH - 4*UNRELATED_CONTROLS - FIXEDTEXT_WIDTH - -#endif // RPTUI_GROUPSSORTING_HRC - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/source/ui/dlg/GroupsSorting.src b/reportdesign/source/ui/dlg/GroupsSorting.src index 63f4086..25ead95 100644 --- a/reportdesign/source/ui/dlg/GroupsSorting.src +++ b/reportdesign/source/ui/dlg/GroupsSorting.src @@ -16,246 +16,11 @@ * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include "GroupsSorting.hrc" #include "RptResId.hrc" #include "helpids.hrc" #include <svx/globlmn.hrc> #include <svx/svxids.hrc> -FloatingWindow RID_GROUPS_SORTING -{ - OutputSize = TRUE ; - SVLook = TRUE ; - Size = MAP_APPFONT ( PAGE_WIDTH , PAGE_HEIGHT ) ; - Text [ en-US ] = "Sorting and Grouping" ; - HelpId = HID_RPT_GROUPSSORTING_DLG; - Moveable = TRUE ; - Closeable = TRUE ; - Sizeable = TRUE; - - FixedLine FL_SEPARATOR2 - { - Pos = MAP_APPFONT ( RELATED_CONTROLS , RELATED_CONTROLS ) ; - Size = MAP_APPFONT ( PAGE_WIDTH - 2*RELATED_CONTROLS , FIXEDTEXT_HEIGHT ) ; - Text [ en-US ] = "Groups"; - }; - - Control WND_CONTROL - { - Pos = MAP_APPFONT( UNRELATED_CONTROLS, 2*UNRELATED_CONTROLS ); - Size = MAP_APPFONT( PAGE_WIDTH - 2*UNRELATED_CONTROLS, BROWSER_HEIGHT ); - HelpId = HID_RPT_GROUPSBRW ; - Border = TRUE; - TabStop = TRUE; - }; - - FixedText FT_MOVELABEL - { - Pos = MAP_APPFONT ( UNRELATED_CONTROLS , 3*UNRELATED_CONTROLS + BROWSER_HEIGHT ) ; - Size = MAP_APPFONT ( FIXEDTEXT_WIDTH , FIXEDTEXT_HEIGHT ) ; - Text [ en-US ] = "Group actions" ; - }; - - ToolBox TB_TOOLBOX - { - Pos = MAP_APPFONT ( PAGE_WIDTH - 4*14 - UNRELATED_CONTROLS, 3*UNRELATED_CONTROLS + BROWSER_HEIGHT - 1 ) ; - ButtonType = BUTTON_SYMBOL; - Customize = FALSE; - ItemList = - { - ToolBoxItem - { - Identifier = SID_RPT_GROUPSORT_MOVE_UP ; - HelpID = HID_RPT_GROUPSORT_MOVE_UP ; - Text [ en-US ] = "Move up" ; - Checkable = TRUE; - }; - ToolBoxItem - { - Identifier = SID_RPT_GROUPSORT_MOVE_DOWN ; - HelpID = HID_RPT_GROUPSORT_MOVE_DOWN ; - Text [ en-US ] = "Move down" ; - Checkable = TRUE; - }; - ToolBoxItem - { - Identifier = SID_RPT_GROUPSORT_DELETE ; - HelpID = HID_RPT_GROUPSORT_DELETE ; - Text [ en-US ] = "~Delete" ; - Checkable = TRUE; - }; - }; - }; - - FixedLine FL_SEPARATOR3 - { - Pos = MAP_APPFONT ( RELATED_CONTROLS , 3*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT) ; - Size = MAP_APPFONT ( PAGE_WIDTH - 2*RELATED_CONTROLS , FIXEDTEXT_HEIGHT ) ; - Text [ en-US ] = "Properties"; - }; - - FixedText FT_ORDER - { - Pos = MAP_APPFONT ( UNRELATED_CONTROLS , 4*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + FIXEDTEXT_HEIGHT ) ; - Size = MAP_APPFONT ( FIXEDTEXT_WIDTH , FIXEDTEXT_HEIGHT ) ; - Hide = TRUE; - Text [ en-US ] = "Sorting" ; - }; - - ListBox LST_ORDER - { - HelpID = "reportdesign:ListBox:RID_GROUPS_SORTING:LST_ORDER"; - Border = TRUE; - Pos = MAP_APPFONT(2*UNRELATED_CONTROLS + FIXEDTEXT_WIDTH, 4*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + FIXEDTEXT_HEIGHT - 1 ); - Size = MAP_APPFONT( LISTBOX_WIDTH, 60 ); - DropDown = TRUE; - TabStop = TRUE; - Hide = TRUE; - CurPos = 0 ; - StringList [ en-US ] = - { - < "Ascending" ; 0 ; > ; - < "Descending" ; 1 ; > ; - }; - - }; - - FixedText FT_HEADER - { - Pos = MAP_APPFONT ( UNRELATED_CONTROLS , 5*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 2*FIXEDTEXT_HEIGHT) ; - Size = MAP_APPFONT ( FIXEDTEXT_WIDTH , FIXEDTEXT_HEIGHT ) ; - Hide = TRUE; - Text [ en-US ] = "Group Header" ; - - }; - - ListBox LST_HEADERLST - { - HelpID = "reportdesign:ListBox:RID_GROUPS_SORTING:LST_HEADERLST"; - Border = TRUE; - Hide = TRUE; - Pos = MAP_APPFONT( 2*UNRELATED_CONTROLS + FIXEDTEXT_WIDTH, 5*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 2*FIXEDTEXT_HEIGHT -1); - Size = MAP_APPFONT( LISTBOX_WIDTH, 60 ); - DropDown = TRUE; - TabStop = TRUE; - CurPos = 1 ; - StringList [ en-US ] = - { - < "Present" ; Default ; > ; - < "Not present" ; Default ; > ; - }; - }; - - FixedText FT_FOOTER - { - Pos = MAP_APPFONT ( UNRELATED_CONTROLS, 6*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 3*FIXEDTEXT_HEIGHT) ; - Size = MAP_APPFONT ( FIXEDTEXT_WIDTH , FIXEDTEXT_HEIGHT ) ; - Hide = TRUE; - Text [ en-US ] = "Group Footer" ; - - }; - - ListBox LST_FOOTERLST - { - HelpID = "reportdesign:ListBox:RID_GROUPS_SORTING:LST_FOOTERLST"; - Border = TRUE; - Hide = TRUE; - Pos = MAP_APPFONT( 2*UNRELATED_CONTROLS + FIXEDTEXT_WIDTH, 6*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 3*FIXEDTEXT_HEIGHT -1); - Size = MAP_APPFONT( LISTBOX_WIDTH, 60 ); - DropDown = TRUE; - TabStop = TRUE; - CurPos = 1 ; - StringList [ en-US ] = - { - < "Present" ; Default ; > ; - < "Not present" ; Default ; > ; - }; - }; - - FixedText FT_GROUPON - { - Pos = MAP_APPFONT ( UNRELATED_CONTROLS, 7*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 4*FIXEDTEXT_HEIGHT) ; - Size = MAP_APPFONT ( FIXEDTEXT_WIDTH , FIXEDTEXT_HEIGHT ) ; - Hide = TRUE; - Text [ en-US ] = "Group On" ; - - }; - - ListBox LST_GROUPONLST - { - HelpID = "reportdesign:ListBox:RID_GROUPS_SORTING:LST_GROUPONLST"; - Border = TRUE; - Hide = TRUE; - Pos = MAP_APPFONT( 2*UNRELATED_CONTROLS + FIXEDTEXT_WIDTH, 7*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 4*FIXEDTEXT_HEIGHT -1); - Size = MAP_APPFONT( LISTBOX_WIDTH, 60 ); - DropDown = TRUE; - TabStop = TRUE; - CurPos = 0 ; - StringList [ en-US ] = - { - < "Each Value" ; Default ; > ; - }; - }; - - FixedText FT_GROUPINTERVAL - { - Pos = MAP_APPFONT ( UNRELATED_CONTROLS , 8*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 5*FIXEDTEXT_HEIGHT) ; - Size = MAP_APPFONT ( FIXEDTEXT_WIDTH , FIXEDTEXT_HEIGHT ) ; - Hide = TRUE; - Text [ en-US ] = "Group Interval" ; - }; - - NumericField ED_GROUPINTERVALLST - { - HelpID = "reportdesign:NumericField:RID_GROUPS_SORTING:ED_GROUPINTERVALLST"; - Border = TRUE; - Hide = TRUE; - Pos = MAP_APPFONT(2*UNRELATED_CONTROLS + FIXEDTEXT_WIDTH , 8*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 5*FIXEDTEXT_HEIGHT -1); - Size = MAP_APPFONT( LISTBOX_WIDTH, EDIT_HEIGHT ); - TabStop = TRUE; - }; - - FixedText FT_KEEPTOGETHER - { - Pos = MAP_APPFONT ( UNRELATED_CONTROLS , 9*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 6*FIXEDTEXT_HEIGHT) ; - Size = MAP_APPFONT ( FIXEDTEXT_WIDTH , FIXEDTEXT_HEIGHT ) ; - Hide = TRUE; - Text [ en-US ] = "Keep Together" ; - }; - ListBox LST_KEEPTOGETHERLST - { - HelpID = "reportdesign:ListBox:RID_GROUPS_SORTING:LST_KEEPTOGETHERLST"; - Border = TRUE; - Hide = TRUE; - Pos = MAP_APPFONT(2*UNRELATED_CONTROLS + FIXEDTEXT_WIDTH , 9*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 6*FIXEDTEXT_HEIGHT -1); - Size = MAP_APPFONT( LISTBOX_WIDTH, 60 ); - DropDown = TRUE; - TabStop = TRUE; - CurPos = 0 ; - StringList [ en-US ] = - { - < "No" ; 0 ; > ; - < "Whole Group" ; 1 ; > ; - < "With First Detail" ; 2 ; > ; - }; - }; - - FixedLine FL_SEPARATOR1 - { - Pos = MAP_APPFONT ( RELATED_CONTROLS , 10*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 7*FIXEDTEXT_HEIGHT) ; - Size = MAP_APPFONT ( PAGE_WIDTH - 2*RELATED_CONTROLS , FIXEDTEXT_HEIGHT ) ; - Text [ en-US ] = "Help"; - }; - - FixedText HELP_FIELD - { - Pos = MAP_APPFONT ( UNRELATED_CONTROLS , 12*UNRELATED_CONTROLS + BROWSER_HEIGHT + BUTTON_HEIGHT + 7*FIXEDTEXT_HEIGHT) ; - Size = MAP_APPFONT( PAGE_WIDTH - 2*UNRELATED_CONTROLS, 4*FIXEDTEXT_HEIGHT); - WordBreak = TRUE; - }; - -}; - String STR_RPT_EXPRESSION { Text [ en-US ] = "Field/Expression" ; @@ -357,24 +122,4 @@ Menu RID_GROUPSROWPOPUPMENU }; }; -#define DEF_MASKCOLOR MaskColor = Color { Red = 0xFFFF; Green = 0x0000; Blue = 0xFFFF; } - -#define DEF_IL_GROUPSORT \ -\ - IdList = {\ - SID_RPT_GROUPSORT_MOVE_UP;\ - SID_RPT_GROUPSORT_MOVE_DOWN;\ - SID_RPT_GROUPSORT_DELETE;\ - };\ - IdCount = {\ - 3;\ - } - -ImageList IMGLST_GROUPSORT_DLG_SC -{ - DEF_MASKCOLOR; - prefix = "sc"; - DEF_IL_GROUPSORT ; -}; - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/source/ui/inc/GroupsSorting.hxx b/reportdesign/source/ui/inc/GroupsSorting.hxx index feb4d4d..4b9be4c 100644 --- a/reportdesign/source/ui/inc/GroupsSorting.hxx +++ b/reportdesign/source/ui/inc/GroupsSorting.hxx @@ -21,6 +21,7 @@ #include <vcl/floatwin.hxx> #include <vcl/fixed.hxx> +#include <vcl/layout.hxx> #include <vcl/lstbox.hxx> #include <vcl/edit.hxx> #include <vcl/field.hxx> @@ -58,30 +59,22 @@ class OReportController; class OGroupsSortingDialog : public FloatingWindow , public ::cppu::BaseMutex , public ::comphelper::OPropertyChangeListener - , public dbaui::OToolBoxHelper - , public vcl::IImageListProvider { friend class OFieldExpressionControl; - FixedLine m_aFL2; - FixedText m_aMove; - ToolBox m_aToolBox; - - FixedLine m_aFL3; - FixedText m_aOrder; - ListBox m_aOrderLst; - FixedText m_aHeader; - ListBox m_aHeaderLst; - FixedText m_aFooter; - ListBox m_aFooterLst; - FixedText m_aGroupOn; - ListBox m_aGroupOnLst; - FixedText m_aGroupInterval; - NumericField m_aGroupIntervalEd; - FixedText m_aKeepTogether; - ListBox m_aKeepTogetherLst; - FixedLine m_aFL; - FixedText m_aHelpWindow; + ToolBox* m_pToolBox; + sal_uInt16 m_nMoveUpId; + sal_uInt16 m_nMoveDownId; + sal_uInt16 m_nDeleteId; + + VclContainer* m_pProperties; + ListBox* m_pOrderLst; + ListBox* m_pHeaderLst; + ListBox* m_pFooterLst; + ListBox* m_pGroupOnLst; + NumericField* m_pGroupIntervalEd; + ListBox* m_pKeepTogetherLst; + FixedText* m_pHelpWindow; OFieldExpressionControl* m_pFieldExpression; ::rptui::OReportController* m_pController; @@ -147,8 +140,6 @@ private: OGroupsSortingDialog(OGroupsSortingDialog&); void operator =(OGroupsSortingDialog&); protected: - // window - virtual void Resize() SAL_OVERRIDE; // OPropertyChangeListener virtual void _propertyChanged(const ::com::sun::star::beans::PropertyChangeEvent& _rEvent) throw( ::com::sun::star::uno::RuntimeException) SAL_OVERRIDE; public: @@ -165,22 +156,6 @@ public: /* updates the current view */ void UpdateData( ); - - /** will be called when the controls need to be resized. - @param _rDiff - Contains the difference of the old and new toolbox size. - */ - virtual void resizeControls(const Size& _rDiff) SAL_OVERRIDE; - - /** will be called when the image list needs to change - @param _eSymbolsSize - <svtools/imgdef.hxx> - */ - virtual void setImageList(sal_Int16 _eSymbolsSize) SAL_OVERRIDE; - - // ImageListProvider interface - virtual ImageList getImageList(vcl::ImageListType) SAL_OVERRIDE; - }; } // namespace rptui diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx index c442fd8..51b031f 100644 --- a/reportdesign/source/ui/report/ReportController.cxx +++ b/reportdesign/source/ui/report/ReportController.cxx @@ -327,7 +327,7 @@ void OReportController::disposing() } if ( m_pGroupsFloater ) { - SvtViewOptions aDlgOpt( E_WINDOW, OUString::number( RID_GROUPS_SORTING ) ); + SvtViewOptions aDlgOpt(E_WINDOW, OStringToOUString(m_pGroupsFloater->GetHelpId(), RTL_TEXTENCODING_UTF8)); aDlgOpt.SetWindowState(OStringToOUString(m_pGroupsFloater->GetWindowState(WINDOWSTATE_MASK_ALL), RTL_TEXTENCODING_ASCII_US)); SAL_WNODEPRECATED_DECLARATIONS_PUSH ::std::auto_ptr<FloatingWindow> aTemp(m_pGroupsFloater); @@ -2539,7 +2539,7 @@ void OReportController::openSortingAndGroupingDialog() if ( !m_pGroupsFloater ) { m_pGroupsFloater = new OGroupsSortingDialog(getView(),!isEditable(),this); - SvtViewOptions aDlgOpt( E_WINDOW, OUString::number( RID_GROUPS_SORTING) ); + SvtViewOptions aDlgOpt(E_WINDOW, OStringToOUString(m_pGroupsFloater->GetHelpId(), RTL_TEXTENCODING_UTF8)); if ( aDlgOpt.Exists() ) m_pGroupsFloater->SetWindowState(OUStringToOString(aDlgOpt.GetWindowState(), RTL_TEXTENCODING_ASCII_US)); m_pGroupsFloater->AddEventListener(LINK(this,OReportController,EventLstHdl)); diff --git a/reportdesign/uiconfig/dbreport/ui/floatingsort.ui b/reportdesign/uiconfig/dbreport/ui/floatingsort.ui new file mode 100644 index 0000000..d29f7b1 --- /dev/null +++ b/reportdesign/uiconfig/dbreport/ui/floatingsort.ui @@ -0,0 +1,453 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.16.1 --> +<interface> + <requires lib="gtk+" version="3.0"/> + <object class="GtkWindow" id="FloatingSort"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="border_width">6</property> + <property name="title" translatable="yes">Sorting and Grouping</property> + <property name="type_hint">utility</property> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">12</property> + <child> + <object class="GtkFrame" id="frame1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="top_padding">6</property> + <property name="left_padding">12</property> + <child> + <object class="GtkGrid" id="grid2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">6</property> + <child> + <object class="GtkGrid" id="grid3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkLabel" id="label5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Group actions</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">toolbox</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkToolbar" id="toolbox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="toolbar_style">icons</property> + <child> + <object class="GtkToolButton" id="up"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Move up</property> + <property name="use_underline">True</property> + <property name="icon_name">cmd/sc_moveup.png</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="down"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Move down</property> + <property name="use_underline">True</property> + <property name="icon_name">cmd/sc_movedown.png</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="delete"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Delete</property> + <property name="use_underline">True</property> + <property name="icon_name">cmd/sc_deleterows.png</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="orientation">vertical</property> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Groups</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkFrame" id="properties"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="top_padding">6</property> + <property name="left_padding">12</property> + <child> + <object class="GtkGrid" id="grid4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="row_spacing">6</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkLabel" id="label6"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Sorting</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">sorting</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label7"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Group Header</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">header</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label8"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Group Footer</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">footer</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label9"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Group On</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">group</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label10"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Group Interval</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">interval</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label11"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Keep Together</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">keep</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">5</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="sorting"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="active">0</property> + <items> + <item translatable="yes">Ascending</item> + <item translatable="yes">Descending</item> + </items> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="header"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="active">0</property> + <items> + <item translatable="yes">Present</item> + <item translatable="yes">Not present</item> + </items> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="keep"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="active">0</property> + <items> + <item translatable="yes">No</item> + <item translatable="yes">Whole Group</item> + <item translatable="yes">With First Detail</item> + </items> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">5</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="footer"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="active">1</property> + <items> + <item translatable="yes">Present</item> + <item translatable="yes">Not present</item> + </items> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="group"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="active">0</property> + <items> + <item translatable="yes">Each Value</item> + </items> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">3</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="interval"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">4</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Properties</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkFrame" id="frame3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="top_padding">6</property> + <property name="left_padding">12</property> + <child> + <object class="GtkLabel" id="helptext"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="yalign">0</property> + <property name="wrap">True</property> + <property name="max_width_chars">52</property> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Help</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + </object> + </child> + </object> +</interface> commit 1bacc1771007a3b0a28454e371aaa28dafcc5eb3 Author: Caolán McNamara <caol...@redhat.com> Date: Wed Sep 3 19:46:14 2014 +0100 move ImplWindowAutoMnemonic into DoInitialLayout so Floating windows get automnemonics as well, e.g. the Floating Sort floating window of reportdesign Change-Id: I0805840f7b0b2329e210c77e32c5eabfdac387fb diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx index ff6ab0c..9ec2a2f 100644 --- a/vcl/source/window/dialog.cxx +++ b/vcl/source/window/dialog.cxx @@ -618,9 +618,6 @@ void Dialog::StateChanged( StateChangedType nType ) { if (nType == STATE_CHANGE_INITSHOW) { - if ( GetSettings().GetStyleSettings().GetAutoMnemonic() ) - ImplWindowAutoMnemonic( this ); - DoInitialLayout(); if ( !HasChildPathFocus() || HasFocus() ) diff --git a/vcl/source/window/syswin.cxx b/vcl/source/window/syswin.cxx index 6a21d22..39cf665 100644 --- a/vcl/source/window/syswin.cxx +++ b/vcl/source/window/syswin.cxx @@ -24,6 +24,7 @@ #include <tools/debug.hxx> #include <vcl/layout.hxx> +#include <vcl/settings.hxx> #include <vcl/svapp.hxx> #include <vcl/menu.hxx> #include <vcl/event.hxx> @@ -1089,8 +1090,13 @@ void SystemWindow::setOptimalLayoutSize() setPosSizeOnContainee(aSize, *pBox); } +extern void ImplWindowAutoMnemonic(Window* pWindow); + void SystemWindow::DoInitialLayout() { + if ( GetSettings().GetStyleSettings().GetAutoMnemonic() ) + ImplWindowAutoMnemonic( this ); + if (isLayoutEnabled()) { mbIsCalculatingInitialLayoutSize = true;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits