[Libreoffice-commits] core.git: sc/AllLangResTarget_sc.mk sc/inc sc/source sc/uiconfig sc/UIConfig_scalc.mk

Katarina Behrens bubli at bubli.org
Wed Mar 5 06:18:50 PST 2014


 sc/AllLangResTarget_sc.mk                |    1 
 sc/UIConfig_scalc.mk                     |    2 
 sc/inc/helpids.h                         |    3 
 sc/source/ui/dbgui/dpgroupdlg.cxx        |  210 +++++++---------
 sc/source/ui/dbgui/dpgroupdlg.hrc        |   57 ----
 sc/source/ui/dbgui/dpgroupdlg.src        |  266 ---------------------
 sc/source/ui/inc/dpgroupdlg.hxx          |   73 ++---
 sc/uiconfig/scalc/ui/groupbydate.ui      |  389 +++++++++++++++++++++++++++++++
 sc/uiconfig/scalc/ui/groupbynumber.ui    |  321 +++++++++++++++++++++++++
 sc/uiconfig/scalc/ui/pivottablelayout.ui |    3 
 10 files changed, 844 insertions(+), 481 deletions(-)

New commits:
commit ebb0c1409156e7939a189cc8abd72fb434dbdbaa
Author: Katarina Behrens <bubli at bubli.org>
Date:   Thu Feb 27 16:12:05 2014 +0100

    Converted group by [number|date] pivot table dlg to .ui
    
    Change-Id: I3c6256f1b2d176790a8eb7c094c1583ce053971b
    Reviewed-on: https://gerrit.libreoffice.org/8382
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/AllLangResTarget_sc.mk b/sc/AllLangResTarget_sc.mk
index a732257..75ab373 100644
--- a/sc/AllLangResTarget_sc.mk
+++ b/sc/AllLangResTarget_sc.mk
@@ -48,7 +48,6 @@ $(eval $(call gb_SrsTarget_add_files,sc/res,\
     sc/source/ui/cctrl/checklistmenu.src \
     sc/source/ui/navipi/navipi.src \
     sc/source/ui/styleui/scstyles.src \
-    sc/source/ui/dbgui/dpgroupdlg.src \
     sc/source/ui/dbgui/pvfundlg.src \
     sc/source/ui/dbgui/dapitype.src \
     sc/source/ui/dbgui/validate.src \
diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk
index 29bf456..bc6e875 100644
--- a/sc/UIConfig_scalc.mk
+++ b/sc/UIConfig_scalc.mk
@@ -93,6 +93,8 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\
 	sc/uiconfig/scalc/ui/formulacalculationoptions \
 	sc/uiconfig/scalc/ui/goalseekdlg \
 	sc/uiconfig/scalc/ui/groupdialog \
+	sc/uiconfig/scalc/ui/groupbydate \
+	sc/uiconfig/scalc/ui/groupbynumber \
 	sc/uiconfig/scalc/ui/headerdialog \
 	sc/uiconfig/scalc/ui/headerfootercontent \
 	sc/uiconfig/scalc/ui/headerfooterdialog \
diff --git a/sc/inc/helpids.h b/sc/inc/helpids.h
index 80a6bc4..03a244d 100644
--- a/sc/inc/helpids.h
+++ b/sc/inc/helpids.h
@@ -142,9 +142,6 @@
 
 #define HID_SC_DRAW_RENAME                                      "SC_HID_SC_DRAW_RENAME"
 
-#define HID_SC_DPNUMGROUP                                       "SC_HID_SC_DPNUMGROUP"
-#define HID_SC_DPDATEGROUP                                      "SC_HID_SC_DPDATEGROUP"
-#define HID_SC_DPDATEGROUP_LB                                   "SC_HID_SC_DPDATEGROUP_LB"
 #define HID_SC_DPSHOWDETAIL                                     "SC_HID_SC_DPSHOWDETAIL"
 
 #define HID_SCDLG_CONFLICTS                                     "SC_HID_SCDLG_CONFLICTS"
diff --git a/sc/source/ui/dbgui/dpgroupdlg.cxx b/sc/source/ui/dbgui/dpgroupdlg.cxx
index e545ee17..b733340 100644
--- a/sc/source/ui/dbgui/dpgroupdlg.cxx
+++ b/sc/source/ui/dbgui/dpgroupdlg.cxx
@@ -24,7 +24,6 @@
 
 
 #include "dpgroupdlg.hxx"
-#include "dpgroupdlg.hrc"
 #include "scresid.hxx"
 #include "sc.hrc"
 #include "globstr.hrc"
@@ -62,18 +61,18 @@ static const sal_uInt16 nDatePartResIds[] =
 
 
 
-ScDPGroupEditHelper::ScDPGroupEditHelper( RadioButton& rRbAuto, RadioButton& rRbMan, Edit& rEdValue ) :
-    mrRbAuto( rRbAuto ),
-    mrRbMan( rRbMan ),
-    mrEdValue( rEdValue )
+ScDPGroupEditHelper::ScDPGroupEditHelper( RadioButton* pRbAuto, RadioButton* pRbMan, Edit* pEdValue ) :
+    mpRbAuto( pRbAuto ),
+    mpRbMan( pRbMan ),
+    mpEdValue( pEdValue )
 {
-    mrRbAuto.SetClickHdl( LINK( this, ScDPGroupEditHelper, ClickHdl ) );
-    mrRbMan.SetClickHdl( LINK( this, ScDPGroupEditHelper, ClickHdl ) );
+    mpRbAuto->SetClickHdl( LINK( this, ScDPGroupEditHelper, ClickHdl ) );
+    mpRbMan->SetClickHdl( LINK( this, ScDPGroupEditHelper, ClickHdl ) );
 }
 
 bool ScDPGroupEditHelper::IsAuto() const
 {
-    return mrRbAuto.IsChecked();
+    return mpRbAuto->IsChecked();
 }
 
 double ScDPGroupEditHelper::GetValue() const
@@ -88,29 +87,29 @@ void ScDPGroupEditHelper::SetValue( bool bAuto, double fValue )
 {
     if( bAuto )
     {
-        mrRbAuto.Check();
-        ClickHdl( &mrRbAuto );
+        mpRbAuto->Check();
+        ClickHdl( mpRbAuto );
     }
     else
     {
-        mrRbMan.Check();
-        ClickHdl( &mrRbMan );
+        mpRbMan->Check();
+        ClickHdl( mpRbMan );
     }
     ImplSetValue( fValue );
 }
 
 IMPL_LINK( ScDPGroupEditHelper, ClickHdl, RadioButton*, pButton )
 {
-    if( pButton == &mrRbAuto )
+    if( pButton == mpRbAuto )
     {
         // disable edit field on clicking "automatic" radio button
-        mrEdValue.Disable();
+        mpEdValue->Disable();
     }
-    else if( pButton == &mrRbMan )
+    else if( pButton == mpRbMan )
     {
         // enable and set focus to edit field on clicking "manual" radio button
-        mrEdValue.Enable();
-        mrEdValue.GrabFocus();
+        mpEdValue->Enable();
+        mpEdValue->GrabFocus();
     }
     return 0;
 }
@@ -118,35 +117,35 @@ IMPL_LINK( ScDPGroupEditHelper, ClickHdl, RadioButton*, pButton )
 
 
 ScDPNumGroupEditHelper::ScDPNumGroupEditHelper(
-        RadioButton& rRbAuto, RadioButton& rRbMan, ScDoubleField& rEdValue ) :
-    ScDPGroupEditHelper( rRbAuto, rRbMan, rEdValue ),
-    mrEdValue( rEdValue )
+        RadioButton* pRbAuto, RadioButton* pRbMan, ScDoubleField* pEdValue ) :
+    ScDPGroupEditHelper( pRbAuto, pRbMan, pEdValue ),
+    mpEdValue( pEdValue )
 {
 }
 
 bool ScDPNumGroupEditHelper::ImplGetValue( double& rfValue ) const
 {
-    return mrEdValue.GetValue( rfValue );
+    return mpEdValue->GetValue( rfValue );
 }
 
 void ScDPNumGroupEditHelper::ImplSetValue( double fValue )
 {
-    mrEdValue.SetValue( fValue );
+    mpEdValue->SetValue( fValue );
 }
 
 
 
 ScDPDateGroupEditHelper::ScDPDateGroupEditHelper(
-        RadioButton& rRbAuto, RadioButton& rRbMan, DateField& rEdValue, const Date& rNullDate ) :
-    ScDPGroupEditHelper( rRbAuto, rRbMan, rEdValue ),
-    mrEdValue( rEdValue ),
+        RadioButton* pRbAuto, RadioButton* pRbMan, DateField* pEdValue, const Date& rNullDate ) :
+    ScDPGroupEditHelper( pRbAuto, pRbMan, pEdValue ),
+    mpEdValue( pEdValue ),
     maNullDate( rNullDate )
 {
 }
 
 bool ScDPDateGroupEditHelper::ImplGetValue( double& rfValue ) const
 {
-    rfValue = mrEdValue.GetDate() - maNullDate;
+    rfValue = mpEdValue->GetDate() - maNullDate;
     return true;
 }
 
@@ -154,44 +153,38 @@ void ScDPDateGroupEditHelper::ImplSetValue( double fValue )
 {
     Date aDate( maNullDate );
     aDate += static_cast< sal_Int32 >( fValue );
-    mrEdValue.SetDate( aDate );
+    mpEdValue->SetDate( aDate );
 }
 
 
 
 
 ScDPNumGroupDlg::ScDPNumGroupDlg( Window* pParent, const ScDPNumGroupInfo& rInfo ) :
-    ModalDialog     ( pParent, ScResId( RID_SCDLG_DPNUMGROUP ) ),
-    maFlStart       ( this, ScResId( FL_START ) ),
-    maRbAutoStart   ( this, ScResId( RB_AUTOSTART ) ),
-    maRbManStart    ( this, ScResId( RB_MANSTART ) ),
-    maEdStart       ( this, ScResId( ED_START ) ),
-    maFlEnd         ( this, ScResId( FL_END ) ),
-    maRbAutoEnd     ( this, ScResId( RB_AUTOEND ) ),
-    maRbManEnd      ( this, ScResId( RB_MANEND ) ),
-    maEdEnd         ( this, ScResId( ED_END ) ),
-    maFlBy          ( this, ScResId( FL_BY ) ),
-    maEdBy          ( this, ScResId( ED_BY ) ),
-    maBtnOk         ( this, ScResId( BTN_OK ) ),
-    maBtnCancel     ( this, ScResId( BTN_CANCEL ) ),
-    maBtnHelp       ( this, ScResId( BTN_HELP ) ),
-    maStartHelper   ( maRbAutoStart, maRbManStart, maEdStart ),
-    maEndHelper     ( maRbAutoEnd, maRbManEnd, maEdEnd )
+    ModalDialog     ( pParent, "PivotTableGroupByNumber", "modules/scalc/ui/groupbynumber.ui" ),
+    mpRbAutoStart   ( get<RadioButton>("auto_start") ),
+    mpRbManStart    ( get<RadioButton>("manual_start") ),
+    mpEdStart       ( get<ScDoubleField> ("edit_start") ),
+    mpRbAutoEnd     ( get<RadioButton> ( "auto_end" ) ),
+    mpRbManEnd      ( get<RadioButton> ("manual_end") ),
+    mpEdEnd         ( get<ScDoubleField>( "edit_end") ),
+    mpEdBy          ( get<ScDoubleField> ("edit_by") ),
+    mpBtnOk         ( get<OKButton> ("ok" ) ),
+    maStartHelper   ( mpRbAutoStart, mpRbManStart, mpEdStart ),
+    maEndHelper     ( mpRbAutoEnd, mpRbManEnd, mpEdEnd )
 {
-    FreeResource();
 
     maStartHelper.SetValue( rInfo.mbAutoStart, rInfo.mfStart );
     maEndHelper.SetValue( rInfo.mbAutoEnd, rInfo.mfEnd );
-    maEdBy.SetValue( (rInfo.mfStep <= 0.0) ? 1.0 : rInfo.mfStep );
+    mpEdBy->SetValue( (rInfo.mfStep <= 0.0) ? 1.0 : rInfo.mfStep );
 
     /*  Set the initial focus, currently it is somewhere after calling all the radio
         button click handlers. Now the first enabled editable control is focused. */
-    if( maEdStart.IsEnabled() )
-        maEdStart.GrabFocus();
-    else if( maEdEnd.IsEnabled() )
-        maEdEnd.GrabFocus();
+    if( mpEdStart->IsEnabled() )
+        mpEdStart->GrabFocus();
+    else if( mpEdEnd->IsEnabled() )
+        mpEdEnd->GrabFocus();
     else
-        maEdBy.GrabFocus();
+        mpEdBy->GrabFocus();
 }
 
 ScDPNumGroupInfo ScDPNumGroupDlg::GetGroupInfo() const
@@ -206,7 +199,7 @@ ScDPNumGroupInfo ScDPNumGroupDlg::GetGroupInfo() const
     // TODO: error messages in OK event?
     aInfo.mfStart = maStartHelper.GetValue();
     aInfo.mfEnd = maEndHelper.GetValue();
-    if( !maEdBy.GetValue( aInfo.mfStep ) || (aInfo.mfStep <= 0.0) )
+    if( !mpEdBy->GetValue( aInfo.mfStep ) || (aInfo.mfStep <= 0.0) )
         aInfo.mfStep = 1.0;
     if( aInfo.mfEnd <= aInfo.mfStart )
         aInfo.mfEnd = aInfo.mfStart + aInfo.mfStep;
@@ -218,36 +211,27 @@ ScDPNumGroupInfo ScDPNumGroupDlg::GetGroupInfo() const
 
 ScDPDateGroupDlg::ScDPDateGroupDlg( Window* pParent,
         const ScDPNumGroupInfo& rInfo, sal_Int32 nDatePart, const Date& rNullDate ) :
-    ModalDialog     ( pParent, ScResId( RID_SCDLG_DPDATEGROUP ) ),
-    maFlStart       ( this, ScResId( FL_START ) ),
-    maRbAutoStart   ( this, ScResId( RB_AUTOSTART ) ),
-    maRbManStart    ( this, ScResId( RB_MANSTART ) ),
-    maEdStart       ( this, ScResId( ED_START ) ),
-    maFlEnd         ( this, ScResId( FL_END ) ),
-    maRbAutoEnd     ( this, ScResId( RB_AUTOEND ) ),
-    maRbManEnd      ( this, ScResId( RB_MANEND ) ),
-    maEdEnd         ( this, ScResId( ED_END ) ),
-    maFlBy          ( this, ScResId( FL_BY ) ),
-    maRbNumDays     ( this, ScResId( RB_NUMDAYS ) ),
-    maRbUnits       ( this, ScResId( RB_UNITS ) ),
-    maEdNumDays     ( this, ScResId( ED_NUMDAYS ) ),
-    maLbUnits       ( this, ScResId( LB_UNITS ) ),
-    maBtnOk         ( this, ScResId( BTN_OK ) ),
-    maBtnCancel     ( this, ScResId( BTN_CANCEL ) ),
-    maBtnHelp       ( this, ScResId( BTN_HELP ) ),
-    maStartHelper   ( maRbAutoStart, maRbManStart, maEdStart, rNullDate ),
-    maEndHelper     ( maRbAutoEnd, maRbManEnd, maEdEnd, rNullDate )
+    ModalDialog( pParent, "PivotTableGroupByDate", "modules/scalc/ui/groupbydate.ui" ),
+    mpRbAutoStart   ( get<RadioButton>("auto_start") ),
+    mpRbManStart    ( get<RadioButton>("manual_start") ),
+    mpEdStart       ( get<DateField>("start_date") ),
+    mpRbAutoEnd     ( get<RadioButton>("auto_end") ),
+    mpRbManEnd      ( get<RadioButton>("manual_end") ),
+    mpEdEnd         ( get<DateField>("end_date") ),
+    mpRbNumDays     ( get<RadioButton>("days") ),
+    mpRbUnits       ( get<RadioButton>("intervals") ),
+    mpEdNumDays     ( get<NumericField>("days_value") ),
+    mpLbUnits       ( get<SvxCheckListBox>("interval_list") ),
+    mpBtnOk         ( get<OKButton>("ok") ),
+    maStartHelper   ( mpRbAutoStart, mpRbManStart, mpEdStart, rNullDate ),
+    maEndHelper     ( mpRbAutoEnd, mpRbManEnd, mpEdEnd, rNullDate )
 {
-    FreeResource();
-
-    maLbUnits.SetHelpId( HID_SC_DPDATEGROUP_LB );
-
     static const size_t nCount = sizeof( nDatePartResIds ) / sizeof( nDatePartResIds[0] );
     for( size_t nIdx = 0 ; nIdx < nCount; ++nIdx )
-        maLbUnits.InsertEntry( ScGlobal::GetRscString( nDatePartResIds[nIdx] ) );
+        mpLbUnits->InsertEntry( ScGlobal::GetRscString( nDatePartResIds[nIdx] ) );
 
-    maEdStart.SetShowDateCentury( true );
-    maEdEnd.SetShowDateCentury( true );
+    mpEdStart->SetShowDateCentury( sal_True );
+    mpEdEnd->SetShowDateCentury( sal_True );
 
     maStartHelper.SetValue( rInfo.mbAutoStart, rInfo.mfStart );
     maEndHelper.SetValue( rInfo.mbAutoEnd, rInfo.mfEnd );
@@ -255,47 +239,47 @@ ScDPDateGroupDlg::ScDPDateGroupDlg( Window* pParent,
     if( nDatePart == 0 )
         nDatePart = com::sun::star::sheet::DataPilotFieldGroupBy::MONTHS;
     for( size_t nIdx = 0; nIdx < nCount; ++nIdx )
-        maLbUnits.CheckEntryPos( static_cast< sal_uInt16 >( nIdx ), (nDatePart & spnDateParts[ nIdx ]) != 0 );
+        mpLbUnits->CheckEntryPos( static_cast< sal_uInt16 >( nIdx ), (nDatePart & spnDateParts[ nIdx ]) != 0 );
 
     if( rInfo.mbDateValues )
     {
-        maRbNumDays.Check();
-        ClickHdl( &maRbNumDays );
+        mpRbNumDays->Check();
+        ClickHdl( mpRbNumDays );
 
         double fNumDays = rInfo.mfStep;
         if( fNumDays < 1.0 )
             fNumDays = 1.0;
         else if( fNumDays > 32767.0 )
             fNumDays = 32767.0;
-        maEdNumDays.SetValue( static_cast< long >( fNumDays ) );
+        mpEdNumDays->SetValue( static_cast< long >( fNumDays ) );
     }
     else
     {
-        maRbUnits.Check();
-        ClickHdl( &maRbUnits );
+        mpRbUnits->Check();
+        ClickHdl( mpRbUnits );
     }
 
     /*  Set the initial focus, currently it is somewhere after calling all the radio
         button click handlers. Now the first enabled editable control is focused. */
-    if( maEdStart.IsEnabled() )
-        maEdStart.GrabFocus();
-    else if( maEdEnd.IsEnabled() )
-        maEdEnd.GrabFocus();
-    else if( maEdNumDays.IsEnabled() )
-        maEdNumDays.GrabFocus();
-    else if( maLbUnits.IsEnabled() )
-        maLbUnits.GrabFocus();
-
-    maRbNumDays.SetClickHdl( LINK( this, ScDPDateGroupDlg, ClickHdl ) );
-    maRbUnits.SetClickHdl( LINK( this, ScDPDateGroupDlg, ClickHdl ) );
-    maLbUnits.SetCheckButtonHdl( LINK( this, ScDPDateGroupDlg, CheckHdl ) );
+    if( mpEdStart->IsEnabled() )
+        mpEdStart->GrabFocus();
+    else if( mpEdEnd->IsEnabled() )
+        mpEdEnd->GrabFocus();
+    else if( mpEdNumDays->IsEnabled() )
+        mpEdNumDays->GrabFocus();
+    else if( mpLbUnits->IsEnabled() )
+        mpLbUnits->GrabFocus();
+
+    mpRbNumDays->SetClickHdl( LINK( this, ScDPDateGroupDlg, ClickHdl ) );
+    mpRbUnits->SetClickHdl( LINK( this, ScDPDateGroupDlg, ClickHdl ) );
+    mpLbUnits->SetCheckButtonHdl( LINK( this, ScDPDateGroupDlg, CheckHdl ) );
 }
 
 ScDPNumGroupInfo ScDPDateGroupDlg::GetGroupInfo() const
 {
     ScDPNumGroupInfo aInfo;
-    aInfo.mbEnable = true;
-    aInfo.mbDateValues = maRbNumDays.IsChecked();
+    aInfo.mbEnable = sal_True;
+    aInfo.mbDateValues = mpRbNumDays->IsChecked();
     aInfo.mbAutoStart = maStartHelper.IsAuto();
     aInfo.mbAutoEnd = maEndHelper.IsAuto();
 
@@ -303,7 +287,7 @@ ScDPNumGroupInfo ScDPDateGroupDlg::GetGroupInfo() const
     // TODO: error messages in OK event?
     aInfo.mfStart = maStartHelper.GetValue();
     aInfo.mfEnd = maEndHelper.GetValue();
-    sal_Int64 nNumDays = maEdNumDays.GetValue();
+    sal_Int64 nNumDays = mpEdNumDays->GetValue();
     aInfo.mfStep = static_cast<double>( aInfo.mbDateValues ? nNumDays : 0L );
     if( aInfo.mfEnd <= aInfo.mfStart )
         aInfo.mfEnd = aInfo.mfStart + nNumDays;
@@ -314,35 +298,35 @@ ScDPNumGroupInfo ScDPDateGroupDlg::GetGroupInfo() const
 sal_Int32 ScDPDateGroupDlg::GetDatePart() const
 {
     // return DAYS for special "number of days" mode
-    if( maRbNumDays.IsChecked() )
+    if( mpRbNumDays->IsChecked() )
         return com::sun::star::sheet::DataPilotFieldGroupBy::DAYS;
 
     // return listbox contents for "units" mode
     sal_Int32 nDatePart = 0;
-    for( sal_uLong nIdx = 0, nCount = maLbUnits.GetEntryCount(); nIdx < nCount; ++nIdx )
-        if( maLbUnits.IsChecked( static_cast< sal_uInt16 >( nIdx ) ) )
+    for( sal_uLong nIdx = 0, nCount = mpLbUnits->GetEntryCount(); nIdx < nCount; ++nIdx )
+        if( mpLbUnits->IsChecked( static_cast< sal_uInt16 >( nIdx ) ) )
             nDatePart |= spnDateParts[ nIdx ];
     return nDatePart;
 }
 
 IMPL_LINK( ScDPDateGroupDlg, ClickHdl, RadioButton*, pButton )
 {
-    if( pButton == &maRbNumDays )
+    if( pButton == mpRbNumDays )
     {
-        maLbUnits.Disable();
+        mpLbUnits->Disable();
         // enable and set focus to edit field on clicking "num of days" radio button
-        maEdNumDays.Enable();
-        maEdNumDays.GrabFocus();
-        maBtnOk.Enable();
+        mpEdNumDays->Enable();
+        mpEdNumDays->GrabFocus();
+        mpBtnOk->Enable();
     }
-    else if( pButton == &maRbUnits )
+    else if( pButton == mpRbUnits )
     {
-        maEdNumDays.Disable();
+        mpEdNumDays->Disable();
         // enable and set focus to listbox on clicking "units" radio button
-        maLbUnits.Enable();
-        maLbUnits.GrabFocus();
+        mpLbUnits->Enable();
+        mpLbUnits->GrabFocus();
         // disable OK button if no date part selected
-        CheckHdl( &maLbUnits );
+        CheckHdl( mpLbUnits );
     }
     return 0;
 }
@@ -350,8 +334,8 @@ IMPL_LINK( ScDPDateGroupDlg, ClickHdl, RadioButton*, pButton )
 IMPL_LINK( ScDPDateGroupDlg, CheckHdl, SvxCheckListBox*, pListBox )
 {
     // enable/disable OK button on modifying check list box
-    if( pListBox == &maLbUnits )
-        maBtnOk.Enable( maLbUnits.GetCheckedEntryCount() > 0 );
+    if( pListBox == mpLbUnits )
+        mpBtnOk->Enable( mpLbUnits->GetCheckedEntryCount() > 0 );
     return 0;
 }
 
diff --git a/sc/source/ui/dbgui/dpgroupdlg.hrc b/sc/source/ui/dbgui/dpgroupdlg.hrc
deleted file mode 100644
index c8c0a74..0000000
--- a/sc/source/ui/dbgui/dpgroupdlg.hrc
+++ /dev/null
@@ -1,57 +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 SC_DPGROUPDLG_HRC
-#define SC_DPGROUPDLG_HRC
-
-#include "sc.hrc"
-
-// push buttons
-#define BTN_OK          1
-#define BTN_CANCEL      2
-#define BTN_HELP        3
-
-// fixed lines
-#define FL_START        1
-#define FL_END          2
-#define FL_BY           3
-
-// radio buttons
-#define RB_AUTOSTART    1
-#define RB_MANSTART     2
-#define RB_AUTOEND      3
-#define RB_MANEND       4
-#define RB_NUMDAYS      5
-#define RB_UNITS        6
-
-// edit fields
-#define ED_START        1
-#define ED_END          2
-#define ED_BY           3
-#define ED_NUMDAYS      4
-
-// list boxes
-#define LB_UNITS        1
-
-// strings/string arrays
-#define STR_UNITS       1
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/dbgui/dpgroupdlg.src b/sc/source/ui/dbgui/dpgroupdlg.src
deleted file mode 100644
index 11715f5..0000000
--- a/sc/source/ui/dbgui/dpgroupdlg.src
+++ /dev/null
@@ -1,266 +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 .
- */
-
-#include "dpgroupdlg.hrc"
-
-
-
-ModalDialog RID_SCDLG_DPNUMGROUP
-{
-    Size = MAP_APPFONT ( 220 , 110 ) ;
-    HelpId = HID_SC_DPNUMGROUP ;
-    OutputSize = TRUE ;
-    SVLook = TRUE ;
-    Moveable = TRUE ;
-    Closeable = FALSE ;
-    Hide = TRUE ;
-    FixedLine FL_START
-    {
-        Pos = MAP_APPFONT ( 6, 3 ) ;
-        Size = MAP_APPFONT ( 152, 8 ) ;
-        Text [ en-US ] = "Start" ;
-    };
-    RadioButton RB_AUTOSTART
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DPNUMGROUP:RB_AUTOSTART";
-        Pos = MAP_APPFONT ( 12 , 14 ) ;
-        Size = MAP_APPFONT ( 80 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "~Automatically" ;
-    };
-    RadioButton RB_MANSTART
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DPNUMGROUP:RB_MANSTART";
-        Pos = MAP_APPFONT ( 12 , 28 ) ;
-        Size = MAP_APPFONT ( 80 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "~Manually at" ;
-    };
-    Edit ED_START
-    {
-        HelpID = "sc:Edit:RID_SCDLG_DPNUMGROUP:ED_START";
-        Pos = MAP_APPFONT ( 94 , 26 ) ;
-        Size = MAP_APPFONT ( 58 , 12 ) ;
-        TabStop = TRUE ;
-        Border = TRUE ;
-    };
-    FixedLine FL_END
-    {
-        Pos = MAP_APPFONT ( 6 , 42 ) ;
-        Size = MAP_APPFONT ( 152 , 8 ) ;
-        Text [ en-US ] = "End" ;
-    };
-    RadioButton RB_AUTOEND
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DPNUMGROUP:RB_AUTOEND";
-        Pos = MAP_APPFONT ( 12 , 53 ) ;
-        Size = MAP_APPFONT ( 80 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "A~utomatically" ;
-    };
-    RadioButton RB_MANEND
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DPNUMGROUP:RB_MANEND";
-        Pos = MAP_APPFONT ( 12 , 67 ) ;
-        Size = MAP_APPFONT ( 80 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "Ma~nually at" ;
-    };
-    Edit ED_END
-    {
-        HelpID = "sc:Edit:RID_SCDLG_DPNUMGROUP:ED_END";
-        Pos = MAP_APPFONT ( 94 , 65 ) ;
-        Size = MAP_APPFONT ( 58 , 12 ) ;
-        TabStop = TRUE ;
-        Border = TRUE ;
-    };
-    FixedLine FL_BY
-    {
-        Pos = MAP_APPFONT ( 6 , 81 ) ;
-        Size = MAP_APPFONT ( 152 , 8 ) ;
-        Text [ en-US ] = "~Group by" ;
-    };
-    Edit ED_BY
-    {
-        HelpID = "sc:Edit:RID_SCDLG_DPNUMGROUP:ED_BY";
-        Pos = MAP_APPFONT ( 94 , 92 ) ;
-        Size = MAP_APPFONT ( 58 , 12 ) ;
-        TabStop = TRUE ;
-        Border = TRUE ;
-    };
-    OKButton BTN_OK
-    {
-        Pos = MAP_APPFONT ( 164 , 6 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-        DefButton = TRUE ;
-    };
-    CancelButton BTN_CANCEL
-    {
-        Pos = MAP_APPFONT ( 164 , 23 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    HelpButton BTN_HELP
-    {
-        Pos = MAP_APPFONT ( 164 , 43 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    Text [ en-US ] = "Grouping" ;
-} ;
-
-
-
-ModalDialog RID_SCDLG_DPDATEGROUP
-{
-    Size = MAP_APPFONT ( 220 , 180 ) ;
-    HelpId = HID_SC_DPDATEGROUP ;
-    OutputSize = TRUE ;
-    SVLook = TRUE ;
-    Moveable = TRUE ;
-    Closeable = FALSE ;
-    Hide = TRUE ;
-    FixedLine FL_START
-    {
-        Pos = MAP_APPFONT ( 6, 3 ) ;
-        Size = MAP_APPFONT ( 152, 8 ) ;
-        Text [ en-US ] = "Start" ;
-    };
-    RadioButton RB_AUTOSTART
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_AUTOSTART";
-        Pos = MAP_APPFONT ( 12 , 14 ) ;
-        Size = MAP_APPFONT ( 80 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "~Automatically" ;
-    };
-    RadioButton RB_MANSTART
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_MANSTART";
-        Pos = MAP_APPFONT ( 12 , 28 ) ;
-        Size = MAP_APPFONT ( 80 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "~Manually at" ;
-    };
-    DateField ED_START
-    {
-        HelpID = "sc:DateField:RID_SCDLG_DPDATEGROUP:ED_START";
-        Pos = MAP_APPFONT ( 94 , 26 ) ;
-        Size = MAP_APPFONT ( 58 , 12 ) ;
-        TabStop = TRUE ;
-        Border = TRUE ;
-    };
-    FixedLine FL_END
-    {
-        Pos = MAP_APPFONT ( 6 , 42 ) ;
-        Size = MAP_APPFONT ( 152 , 8 ) ;
-        Text [ en-US ] = "End" ;
-    };
-    RadioButton RB_AUTOEND
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_AUTOEND";
-        Pos = MAP_APPFONT ( 12 , 53 ) ;
-        Size = MAP_APPFONT ( 80 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "A~utomatically" ;
-    };
-    RadioButton RB_MANEND
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_MANEND";
-        Pos = MAP_APPFONT ( 12 , 67 ) ;
-        Size = MAP_APPFONT ( 80 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "Ma~nually at" ;
-    };
-    DateField ED_END
-    {
-        HelpID = "sc:DateField:RID_SCDLG_DPDATEGROUP:ED_END";
-        Pos = MAP_APPFONT ( 94 , 65 ) ;
-        Size = MAP_APPFONT ( 58 , 12 ) ;
-        TabStop = TRUE ;
-        Border = TRUE ;
-    };
-    FixedLine FL_BY
-    {
-        Pos = MAP_APPFONT ( 6 , 81 ) ;
-        Size = MAP_APPFONT ( 152 , 8 ) ;
-        Text [ en-US ] = "Group by" ;
-    };
-    RadioButton RB_NUMDAYS
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_NUMDAYS";
-        Pos = MAP_APPFONT ( 12 , 94 ) ;
-        Size = MAP_APPFONT ( 80 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "Number of ~days" ;
-    };
-    RadioButton RB_UNITS
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_UNITS";
-        Pos = MAP_APPFONT ( 12 , 110 ) ;
-        Size = MAP_APPFONT ( 80 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "~Intervals" ;
-    };
-    NumericField ED_NUMDAYS
-    {
-        HelpID = "sc:NumericField:RID_SCDLG_DPDATEGROUP:ED_NUMDAYS";
-        Pos = MAP_APPFONT ( 94, 92 ) ;
-        Size = MAP_APPFONT ( 35, 12 ) ;
-        TabStop = TRUE ;
-        Border = TRUE ;
-        Spin = TRUE ;
-        Repeat = TRUE ;
-        Minimum = 1 ;
-        Maximum = 32767 ;
-        SpinSize = 1 ;
-    };
-    Control LB_UNITS
-    {
-        Pos = MAP_APPFONT( 94, 110 );
-        Size = MAP_APPFONT( 58, 64 );
-        TabStop = TRUE;
-        Border = TRUE;
-    };
-    OKButton BTN_OK
-    {
-        Pos = MAP_APPFONT ( 164 , 6 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-        DefButton = TRUE ;
-    };
-    CancelButton BTN_CANCEL
-    {
-        Pos = MAP_APPFONT ( 164 , 23 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    HelpButton BTN_HELP
-    {
-        Pos = MAP_APPFONT ( 164 , 43 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    Text [ en-US ] = "Grouping" ;
-} ;
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/dpgroupdlg.hxx b/sc/source/ui/inc/dpgroupdlg.hxx
index ddc2b79..9ed7c7d 100644
--- a/sc/source/ui/inc/dpgroupdlg.hxx
+++ b/sc/source/ui/inc/dpgroupdlg.hxx
@@ -34,8 +34,8 @@ class ScDPGroupEditHelper
 {
 public:
     explicit            ScDPGroupEditHelper(
-                            RadioButton& rRbAuto, RadioButton& rRbMan,
-                            Edit& rEdValue );
+                            RadioButton* rRbAuto, RadioButton* rRbMan,
+                            Edit* rEdValue );
 
     bool                IsAuto() const;
     double              GetValue() const;
@@ -44,6 +44,7 @@ public:
 protected:
     ~ScDPGroupEditHelper() {}
 
+
 private:
     virtual bool        ImplGetValue( double& rfValue ) const = 0;
     virtual void        ImplSetValue( double fValue ) = 0;
@@ -51,9 +52,9 @@ private:
     DECL_LINK( ClickHdl, RadioButton* );
 
 private:
-    RadioButton&        mrRbAuto;
-    RadioButton&        mrRbMan;
-    Edit&               mrEdValue;
+    RadioButton*        mpRbAuto;
+    RadioButton*        mpRbMan;
+    Edit*               mpEdValue;
 };
 
 
@@ -62,8 +63,8 @@ class ScDPNumGroupEditHelper : public ScDPGroupEditHelper
 {
 public:
     explicit            ScDPNumGroupEditHelper(
-                            RadioButton& rRbAuto, RadioButton& rRbMan,
-                            ScDoubleField& rEdValue );
+                            RadioButton* pRbAuto, RadioButton* pRbMan,
+                            ScDoubleField* pEdValue );
 
     virtual ~ScDPNumGroupEditHelper() {}
 
@@ -72,7 +73,7 @@ private:
     virtual void        ImplSetValue( double fValue );
 
 private:
-    ScDoubleField&      mrEdValue;
+    ScDoubleField*      mpEdValue;
 };
 
 
@@ -81,8 +82,8 @@ class ScDPDateGroupEditHelper : public ScDPGroupEditHelper
 {
 public:
     explicit            ScDPDateGroupEditHelper(
-                            RadioButton& rRbAuto, RadioButton& rRbMan,
-                            DateField& rEdValue, const Date& rNullDate );
+                            RadioButton* pRbAuto, RadioButton* pRbMan,
+                            DateField* pEdValue, const Date& rNullDate );
 
     virtual ~ScDPDateGroupEditHelper() {}
 
@@ -91,7 +92,7 @@ private:
     virtual void        ImplSetValue( double fValue );
 
 private:
-    DateField&          mrEdValue;
+    DateField*          mpEdValue;
     Date                maNullDate;
 };
 
@@ -106,19 +107,16 @@ public:
     ScDPNumGroupInfo    GetGroupInfo() const;
 
 private:
-    FixedLine           maFlStart;
-    RadioButton         maRbAutoStart;
-    RadioButton         maRbManStart;
-    ScDoubleField       maEdStart;
-    FixedLine           maFlEnd;
-    RadioButton         maRbAutoEnd;
-    RadioButton         maRbManEnd;
-    ScDoubleField       maEdEnd;
-    FixedLine           maFlBy;
-    ScDoubleField       maEdBy;
-    OKButton            maBtnOk;
-    CancelButton        maBtnCancel;
-    HelpButton          maBtnHelp;
+    RadioButton*         mpRbAutoStart;
+    RadioButton*         mpRbManStart;
+    ScDoubleField*       mpEdStart;
+    RadioButton*         mpRbAutoEnd;
+    RadioButton*         mpRbManEnd;
+    ScDoubleField*       mpEdEnd;
+    ScDoubleField*       mpEdBy;
+    OKButton*            mpBtnOk;
+    CancelButton*        mpBtnCancel;
+    HelpButton*          mpBtnHelp;
     ScDPNumGroupEditHelper maStartHelper;
     ScDPNumGroupEditHelper maEndHelper;
 };
@@ -139,22 +137,17 @@ private:
     DECL_LINK( CheckHdl, SvxCheckListBox* );
 
 private:
-    FixedLine           maFlStart;
-    RadioButton         maRbAutoStart;
-    RadioButton         maRbManStart;
-    DateField           maEdStart;
-    FixedLine           maFlEnd;
-    RadioButton         maRbAutoEnd;
-    RadioButton         maRbManEnd;
-    DateField           maEdEnd;
-    FixedLine           maFlBy;
-    RadioButton         maRbNumDays;
-    RadioButton         maRbUnits;
-    NumericField        maEdNumDays;
-    SvxCheckListBox     maLbUnits;
-    OKButton            maBtnOk;
-    CancelButton        maBtnCancel;
-    HelpButton          maBtnHelp;
+    RadioButton*         mpRbAutoStart;
+    RadioButton*         mpRbManStart;
+    DateField*           mpEdStart;
+    RadioButton*         mpRbAutoEnd;
+    RadioButton*         mpRbManEnd;
+    DateField*           mpEdEnd;
+    RadioButton*         mpRbNumDays;
+    RadioButton*         mpRbUnits;
+    NumericField*        mpEdNumDays;
+    SvxCheckListBox*     mpLbUnits;
+    OKButton*            mpBtnOk;
     ScDPDateGroupEditHelper maStartHelper;
     ScDPDateGroupEditHelper maEndHelper;
 };
diff --git a/sc/uiconfig/scalc/ui/groupbydate.ui b/sc/uiconfig/scalc/ui/groupbydate.ui
new file mode 100644
index 0000000..1d111a8
--- /dev/null
+++ b/sc/uiconfig/scalc/ui/groupbydate.ui
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkDialog" id="PivotTableGroupByDate">
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Grouping</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox1">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">12</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="ok">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="has_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="cancel">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="help">
+                <property name="label">gtk-help</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="box1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
+            <child>
+              <object class="GtkFrame" id="frame1">
+                <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="alignment1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="left_padding">12</property>
+                    <property name="top_padding">6</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">6</property>
+                        <property name="column_spacing">12</property>
+                        <child>
+                          <object class="GtkRadioButton" id="auto_start">
+                            <property name="label" translatable="yes">_Automatically</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">manual_start</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="GtkRadioButton" id="manual_start">
+                            <property name="label" translatable="yes">_Manually at:</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">auto_start</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>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <object class="GtkSpinButton" id="start_date:yy:mm:dd">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="invisible_char">●</property>
+                          </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>
+                      </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">Start</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkFrame" id="frame2">
+                <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="alignment2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="left_padding">12</property>
+                    <property name="top_padding">6</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>
+                        <property name="column_spacing">12</property>
+                        <child>
+                          <object class="GtkRadioButton" id="auto_end">
+                            <property name="label" translatable="yes">A_utomatically</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">manual_end</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="GtkRadioButton" id="manual_end">
+                            <property name="label" translatable="yes">Ma_nually at:</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">auto_end</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>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <object class="GtkSpinButton" id="end_date:yy:mm:dd">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="invisible_char">●</property>
+                          </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>
+                      </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">End</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">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="left_padding">12</property>
+                    <property name="top_padding">6</property>
+                    <child>
+                      <object class="GtkGrid" id="grid3">
+                        <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>
+                        <property name="column_spacing">12</property>
+                        <child>
+                          <object class="GtkRadioButton" id="days">
+                            <property name="label" translatable="yes">Number of _days</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">intervals</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="GtkRadioButton" id="intervals">
+                            <property name="label" translatable="yes">_Intervals</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="valign">start</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">days</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="GtkSpinButton" id="days_value">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="invisible_char">●</property>
+                          </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="svxcorelo-SvxCheckListBox" id="interval_list">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="hexpand">True</property>
+                            <property name="vexpand">True</property>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection1"/>
+                            </child>
+                          </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>
+                      </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">Group by</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="0">ok</action-widget>
+      <action-widget response="0">cancel</action-widget>
+      <action-widget response="0">help</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/sc/uiconfig/scalc/ui/groupbynumber.ui b/sc/uiconfig/scalc/ui/groupbynumber.ui
new file mode 100644
index 0000000..c4203c4
--- /dev/null
+++ b/sc/uiconfig/scalc/ui/groupbynumber.ui
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.1 -->
+<interface>
+  <requires lib="gtk+" version="3.0"/>
+  <!-- interface-requires LibreOffice 1.0 -->
+  <object class="GtkDialog" id="PivotTableGroupByNumber">
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Grouping</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox1">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">12</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="ok">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="cancel">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="help">
+                <property name="label">gtk-help</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="box1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
+            <child>
+              <object class="GtkFrame" id="frame1">
+                <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="alignment1">
+                    <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="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">6</property>
+                        <property name="column_spacing">12</property>
+                        <child>
+                          <object class="GtkRadioButton" id="auto_start">
+                            <property name="label" translatable="yes">_Automatically</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">manual_start</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="GtkRadioButton" id="manual_start">
+                            <property name="label" translatable="yes">_Manually at:</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">auto_start</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="scuilo-ScDoubleField" id="edit_start">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="hexpand">True</property>
+                            <property name="invisible_char">●</property>
+                          </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>
+                          <placeholder/>
+                        </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">Start</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkFrame" id="frame2">
+                <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="alignment2">
+                    <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="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>
+                        <property name="column_spacing">12</property>
+                        <child>
+                          <object class="GtkRadioButton" id="auto_end">
+                            <property name="label" translatable="yes">A_utomatically</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">manual_end</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="GtkRadioButton" id="manual_end">
+                            <property name="label" translatable="yes">Ma_nually at:</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">auto_end</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="scuilo-ScDoubleField" id="edit_end">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="hexpand">True</property>
+                            <property name="invisible_char">●</property>
+                          </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>
+                          <placeholder/>
+                        </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">End</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">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="scuilo-ScDoubleField" id="edit_by">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">●</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">Group by</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="0">ok</action-widget>
+      <action-widget response="0">cancel</action-widget>
+      <action-widget response="0">help</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/sc/uiconfig/scalc/ui/pivottablelayout.ui b/sc/uiconfig/scalc/ui/pivottablelayout.ui
index 7564533..17b6055 100644
--- a/sc/uiconfig/scalc/ui/pivottablelayout.ui
+++ b/sc/uiconfig/scalc/ui/pivottablelayout.ui
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Generated with glade 3.16.1 -->
 <interface>
-  <!-- interface-requires LibreOffice 1.0 -->
   <requires lib="gtk+" version="3.0"/>
+  <!-- interface-requires LibreOffice 1.0 -->
   <object class="GtkDialog" id="PivotTableLayout">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
+    <property name="title" translatable="yes">Pivot table</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox1">


More information about the Libreoffice-commits mailing list