[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - sc/source sc/uiconfig

2021-06-26 Thread Pedro Pinto Silva (via logerrit)
 sc/source/ui/dbgui/scuiasciiopt.cxx   |   24 +++---
 sc/source/ui/inc/scuiasciiopt.hxx |4 ---
 sc/uiconfig/scalc/ui/textimportcsv.ui |   45 +++---
 3 files changed, 16 insertions(+), 57 deletions(-)

New commits:
commit 3606632651f0b24c71f72cb7f59ad816170d08fd
Author: Pedro Pinto Silva 
AuthorDate: Thu May 27 16:01:49 2021 +0200
Commit: Pedro Silva 
CommitDate: Sat Jun 26 16:29:44 2021 +0200

Dialog: Import CSV: Improve layout

Remove extra padding from headers, they are already in bold no need
to add extra padding to emphasis hierarchy.

Do not use the first header to repeat what the dialog title already says
"Import", use instead "Character encoding" as the first header of the
first group (advantage: 1st dropdown does not need extra labeling)

The 2 radio buttons for Use/not use separators appear to be
grouping the elements underneath them. This is wrong, all those options
are actually related only to the user chooses to use separators.
 - Convert those two radio buttons in one check button labeled "Use 
separators"
   - Fixes the confusion above mentioned
 - Reduced the amount of items
 - It does force the user to do trial and error in order to 
understand
 what is what

Change-Id: Iee63a6dd336d7c5a4e6f5ce8c845b32902e49a73
Signed-off-by: Pedro Pinto Silva 
Signed-off-by: Mert Tumer 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116265
Tested-by: Jenkins CollaboraOffice 

diff --git a/sc/source/ui/dbgui/scuiasciiopt.cxx 
b/sc/source/ui/dbgui/scuiasciiopt.cxx
index 3a55f96b77b5..d665795b8224 100644
--- a/sc/source/ui/dbgui/scuiasciiopt.cxx
+++ b/sc/source/ui/dbgui/scuiasciiopt.cxx
@@ -288,14 +288,12 @@ ScImportAsciiDlg::ScImportAsciiDlg(weld::Window* pParent, 
const OUString& aDatNa
 , mcTextSep(ScAsciiOptions::cDefaultTextSep)
 , meCall(eCall)
 , mbDetectSpaceSep(eCall != SC_TEXTTOCOLUMNS)
-, mxFtCharSet(m_xBuilder->weld_label("textcharset"))
 , mxLbCharSet(new 
SvxTextEncodingBox(m_xBuilder->weld_combo_box("charset")))
 , mxFtCustomLang(m_xBuilder->weld_label("textlanguage"))
 , mxLbCustomLang(new 
SvxLanguageBox(m_xBuilder->weld_combo_box("language")))
 , mxFtRow(m_xBuilder->weld_label("textfromrow"))
 , mxNfRow(m_xBuilder->weld_spin_button("fromrow"))
-, mxRbFixed(m_xBuilder->weld_radio_button("tofixedwidth"))
-, mxRbSeparated(m_xBuilder->weld_radio_button("toseparatedby"))
+, mxRbSeparated(m_xBuilder->weld_check_button("toseparatedby"))
 , mxCkbTab(m_xBuilder->weld_check_button("tab"))
 , mxCkbSemicolon(m_xBuilder->weld_check_button("semicolon"))
 , mxCkbComma(m_xBuilder->weld_check_button("comma"))
@@ -363,7 +361,7 @@ ScImportAsciiDlg::ScImportAsciiDlg(weld::Window* pParent, 
const OUString& aDatNa
 if (bSkipEmptyCells)
 mxCkbSkipEmptyCells->set_active(true);
 if (bFixedWidth && !bIsTSV)
-mxRbFixed->set_active(true);
+mxRbSeparated->set_active(false);
 if (nFromRow != 1)
 mxNfRow->set_value(nFromRow);
 
@@ -488,10 +486,9 @@ ScImportAsciiDlg::ScImportAsciiDlg(weld::Window* pParent, 
const OUString& aDatNa
 mxTableBox->SetColTypeHdl( LINK( this, ScImportAsciiDlg, ColTypeHdl ) );
 
 mxRbSeparated->connect_clicked( LINK( this, ScImportAsciiDlg, RbSepFixHdl 
) );
-mxRbFixed->connect_clicked( LINK( this, ScImportAsciiDlg, RbSepFixHdl ) );
 
 SetupSeparatorCtrls();
-RbSepFixHdl(*mxRbFixed);
+RbSepFixHdl( *mxRbSeparated );
 
 UpdateVertical();
 
@@ -499,7 +496,6 @@ ScImportAsciiDlg::ScImportAsciiDlg(weld::Window* pParent, 
const OUString& aDatNa
 
 if (meCall == SC_TEXTTOCOLUMNS)
 {
-mxFtCharSet->set_sensitive(false);
 mxLbCharSet->set_sensitive(false);
 mxFtCustomLang->set_sensitive(false);
 mxLbCustomLang->set_active_id(LANGUAGE_SYSTEM);
@@ -539,7 +535,7 @@ bool ScImportAsciiDlg::GetLine( sal_uLong nLine, OUString 
, sal_Unicode& r
 return false;
 
 bool bRet = true;
-bool bFixed = mxRbFixed->get_active();
+bool bFixed = !mxRbSeparated->get_active();
 
 if (!mpRowPosArray)
 mpRowPosArray.reset( new sal_uLong[ASCIIDLG_MAXROWS + 2] );
@@ -602,7 +598,7 @@ void ScImportAsciiDlg::GetOptions( ScAsciiOptions& rOpt )
 rOpt.SetCharSet( meCharSet );
 rOpt.SetCharSetSystem( mbCharSetSystem );
 rOpt.SetLanguage(mxLbCustomLang->get_active_id());
-rOpt.SetFixedLen( mxRbFixed->get_active() );
+rOpt.SetFixedLen( !mxRbSeparated->get_active() );
 rOpt.SetStartRow( mxNfRow->get_value() );
 mxTableBox->FillColumnData( rOpt );
 if( mxRbSeparated->get_active() )
@@ -622,7 +618,7 @@ void ScImportAsciiDlg::SaveParameters()
 {
 lcl_SaveSeparators( maFieldSeparators, mxCbTextSep->get_active_text(), 
mxCkbAsOnce->get_active(),
  mxCkbQuotedAsText->get_active(), 
mxCkbDetectNumber->get_active(),
-

[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - sc/source sc/uiconfig

2021-01-18 Thread Julien Nabet (via logerrit)
 sc/source/ui/dbgui/pvfundlg.cxx|2 +-
 sc/uiconfig/scalc/ui/datafieldoptionsdialog.ui |4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 430454fb5d30aa2767d12b90afd8e45a19daa9a6
Author: Julien Nabet 
AuthorDate: Tue Jan 12 20:09:40 2021 +0100
Commit: Szymon Kłos 
CommitDate: Mon Jan 18 13:57:19 2021 +0100

Revert "pivot table: make options cancel button working" + fix crash again

In the dialog, you have 3 buttons "Help", "Cancel" and "OK"
Using "Cancel" will call "close" which doesn't revert back changes.
To test this:
- Launch Calc
- Create an array with 2 cols (qtX and qtY) and put 2 rows of values
- Create a pivot dialog
- Put qtX in "Filters" part
- Double click on qtX (=> "Data Field" dialog appears)
- Click "Options..." (=> "Data Field Options" dialog appears)
- Enable any checkbox (eg: Empty line after each time) + click "OK" (=> 
dialog "Data Field Options" closes)
- Click "Options..." again (the checkbox is still enabled as expected)
- Disable the checkbox + click "Cancel" (=> dialog "Data Field Options" 
closes)
- Click "Options..." again (the checkbox is still enabled as NOT expected)

So revert the below quoted commit and fix this by using "cancel" in:
- action-widget response
- id for the GtkButton
- the use of the id to initialize m_xBtnCancel with m_xBuilder->weld_button

This reverts commit c2a349bc1482482d3e5ec06232c166d77fe9b602.

Change-Id: I555a90706de635e90b0ee397dfd958df55b5c40a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109193
Tested-by: Jenkins
Reviewed-by: Szymon Kłos 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109255
Tested-by: Jenkins CollaboraOffice 

diff --git a/sc/source/ui/dbgui/pvfundlg.cxx b/sc/source/ui/dbgui/pvfundlg.cxx
index af4ecb1e0b5d..19c924e6982f 100644
--- a/sc/source/ui/dbgui/pvfundlg.cxx
+++ b/sc/source/ui/dbgui/pvfundlg.cxx
@@ -667,7 +667,7 @@ ScDPSubtotalOptDlg::ScDPSubtotalOptDlg(weld::Window* 
pParent, ScDPObject& rDPObj
 , m_xFtHierarchy(m_xBuilder->weld_label("hierarchyft"))
 , m_xLbHierarchy(m_xBuilder->weld_combo_box("hierarchy"))
 , m_xBtnOk(m_xBuilder->weld_button("ok"))
-, m_xBtnCancel(m_xBuilder->weld_button("close"))
+, m_xBtnCancel(m_xBuilder->weld_button("cancel"))
 , mrDPObj(rDPObj)
 , maLabelData(rLabelData)
 {
diff --git a/sc/uiconfig/scalc/ui/datafieldoptionsdialog.ui 
b/sc/uiconfig/scalc/ui/datafieldoptionsdialog.ui
index 51ae488105f5..67c46233e97a 100644
--- a/sc/uiconfig/scalc/ui/datafieldoptionsdialog.ui
+++ b/sc/uiconfig/scalc/ui/datafieldoptionsdialog.ui
@@ -61,7 +61,7 @@
   
 
 
-  
+  
 gtk-cancel
 True
 True
@@ -587,7 +587,7 @@
 
 
   ok
-  close
+  cancel
   help
 
   
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - sc/source sc/uiconfig

2020-11-30 Thread Szymon Kłos (via logerrit)
 sc/source/ui/cctrl/checklistmenu.cxx   |  554 ++---
 sc/source/ui/inc/checklistmenu.hxx |   66 +--
 sc/source/ui/view/gridwin.cxx  |   13 
 sc/source/ui/view/gridwin2.cxx |3 
 sc/uiconfig/scalc/ui/filterdropdown.ui |  133 ++-
 5 files changed, 436 insertions(+), 333 deletions(-)

New commits:
commit 0b95ba1c9335e247a2e2ff946d36f98338aab1b1
Author: Szymon Kłos 
AuthorDate: Tue Oct 20 10:55:44 2020 +0200
Commit: Szymon Kłos 
CommitDate: Mon Nov 30 18:21:13 2020 +0100

Autofilter popup: sync code with master

Change-Id: I37f236e9f2331b42fe86d933d64ff136e98cad90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106877
Tested-by: Szymon Kłos 
Reviewed-by: Szymon Kłos 

diff --git a/sc/source/ui/cctrl/checklistmenu.cxx 
b/sc/source/ui/cctrl/checklistmenu.cxx
index 44b7607f6340..8c9317f9d5ab 100644
--- a/sc/source/ui/cctrl/checklistmenu.cxx
+++ b/sc/source/ui/cctrl/checklistmenu.cxx
@@ -25,7 +25,7 @@
 
 #include 
 #include 
-#include 
+#include 
 #include 
 #include 
 #include 
@@ -40,7 +40,6 @@ using ::com::sun::star::uno::Reference;
 
 ScCheckListMenuControl::MenuItemData::MenuItemData()
 : mbEnabled(true)
-, mbSeparator(false)
 {
 }
 
@@ -120,13 +119,12 @@ IMPL_LINK_NOARG(ScCheckListMenuControl, SelectHdl, 
weld::TreeView&, void)
 else
 nSelectedMenu = mxMenu->get_iter_index_in_parent(*mxScratchIter);
 
-setSelectedMenuItem(nSelectedMenu, true, false);
+setSelectedMenuItem(nSelectedMenu, true);
 }
 
 void ScCheckListMenuControl::addMenuItem(const OUString& rText, Action* 
pAction)
 {
 MenuItemData aItem;
-aItem.maText = rText;
 aItem.mbEnabled = true;
 aItem.mxAction.reset(pAction);
 maMenuItems.emplace_back(std::move(aItem));
@@ -139,10 +137,9 @@ void ScCheckListMenuControl::addMenuItem(const OUString& 
rText, Action* pAction)
 void ScCheckListMenuControl::addSeparator()
 {
 MenuItemData aItem;
-aItem.mbSeparator = true;
 maMenuItems.emplace_back(std::move(aItem));
 
-//mxMenu->append_separator("seperator" + 
OUString::number(maMenuItems.size()));
+//mxMenu->append_separator("separator" + 
OUString::number(maMenuItems.size()));
 }
 
 IMPL_LINK(ScCheckListMenuControl, TreeSizeAllocHdl, const Size&, rSize, void)
@@ -168,10 +165,10 @@ ScCheckListMenuWindow* 
ScCheckListMenuControl::addSubMenuItem(const OUString& rT
 assert(mbCanHaveSubMenu);
 
 MenuItemData aItem;
-aItem.maText = rText;
 aItem.mbEnabled = bEnabled;
 vcl::Window *pContainer = mxFrame->GetWindow(GetWindowType::FirstChild);
-aItem.mxSubMenuWin.reset(VclPtr::Create(pContainer, 
mpDoc, false, -1, mxFrame->GetMenuStackLevel()+1, mxFrame.get()));
+aItem.mxSubMenuWin.reset(VclPtr::Create(pContainer, 
mpDoc, false,
+   false, -1, 
mxFrame.get()));
 maMenuItems.emplace_back(std::move(aItem));
 
 mxMenu->append_text(rText);
@@ -195,23 +192,12 @@ void ScCheckListMenuControl::executeMenuItem(size_t nPos)
 maMenuItems[nPos].mxAction->execute();
 }
 
-void ScCheckListMenuControl::setSelectedMenuItem(size_t nPos, bool 
bSubMenuTimer, bool bEnsureSubMenu)
+void ScCheckListMenuControl::setSelectedMenuItem(size_t nPos, bool 
bSubMenuTimer)
 {
 if (mnSelectedMenu == nPos)
 // nothing to do.
 return;
 
-if (bEnsureSubMenu)
-{
-// Dismiss any child popup menu windows.
-if (mnSelectedMenu < maMenuItems.size() &&
-maMenuItems[mnSelectedMenu].mxSubMenuWin &&
-maMenuItems[mnSelectedMenu].mxSubMenuWin->IsVisible())
-{
-
maMenuItems[mnSelectedMenu].mxSubMenuWin->get_widget().ensureSubMenuNotVisible();
-}
-}
-
 selectMenuItem(nPos, bSubMenuTimer);
 }
 
@@ -346,23 +332,19 @@ void ScCheckListMenuControl::selectMenuItem(size_t nPos, 
bool bSubMenuTimer)
 return;
 }
 
+ScCheckListMenuWindow* pParentMenu = mxFrame->GetParentMenu();
+if (pParentMenu)
+pParentMenu->get_widget().setSubMenuFocused(this);
 
-if (nPos != MENU_NOT_SELECTED)
+if (bSubMenuTimer)
 {
-ScCheckListMenuWindow* pParentMenu = mxFrame->GetParentMenu();
-if (pParentMenu)
-pParentMenu->get_widget().setSubMenuFocused(this);
-
-if (bSubMenuTimer)
+if (maMenuItems[nPos].mxSubMenuWin)
 {
-if (maMenuItems[nPos].mxSubMenuWin)
-{
-ScCheckListMenuWindow* pSubMenu = 
maMenuItems[nPos].mxSubMenuWin.get();
-queueLaunchSubMenu(nPos, pSubMenu);
-}
-else
-queueCloseSubMenu();
+ScCheckListMenuWindow* pSubMenu = 
maMenuItems[nPos].mxSubMenuWin.get();
+queueLaunchSubMenu(nPos, pSubMenu);
 }
+else
+queueCloseSubMenu();
 }
 }
 
@@ -401,24 +383,12 @@ void ScCheckListMenuControl::EndPopupMode()
 mxFrame->EnableDocking(false);
 }
 

[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - sc/source sc/uiconfig sc/UIConfig_scalc.mk vcl/source

2020-07-06 Thread Szymon Kłos (via logerrit)
 sc/UIConfig_scalc.mk |2 
 sc/source/ui/dbgui/validate.cxx  |   17 +-
 sc/uiconfig/scalc/ui/erroralerttabpage-mobile.ui |  151 +++
 sc/uiconfig/scalc/ui/validationhelptabpage-mobile.ui |  109 +
 vcl/source/window/builder.cxx|7 
 5 files changed, 283 insertions(+), 3 deletions(-)

New commits:
commit d9e3b08d83cfadbff12da2fbba6a37830fb6f7cf
Author: Szymon Kłos 
AuthorDate: Mon Mar 9 15:40:35 2020 +0100
Commit: Szymon Kłos 
CommitDate: Mon Jul 6 09:26:09 2020 +0200

jsdialog: Add mobile version of data validation dialog

Change-Id: I8c59892196ae015852fff6004c72e1990b35c1af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97762
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Szymon Kłos 

diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk
index bf1798cd5275..075b3173739e 100644
--- a/sc/UIConfig_scalc.mk
+++ b/sc/UIConfig_scalc.mk
@@ -125,6 +125,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\
sc/uiconfig/scalc/ui/dropmenu \
sc/uiconfig/scalc/ui/doubledialog \
sc/uiconfig/scalc/ui/erroralerttabpage \
+   sc/uiconfig/scalc/ui/erroralerttabpage-mobile \
sc/uiconfig/scalc/ui/externaldata \
sc/uiconfig/scalc/ui/exponentialsmoothingdialog \
sc/uiconfig/scalc/ui/filldlg \
@@ -244,6 +245,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\
sc/uiconfig/scalc/ui/validationdialog \
sc/uiconfig/scalc/ui/validationcriteriapage \
sc/uiconfig/scalc/ui/validationhelptabpage \
+   sc/uiconfig/scalc/ui/validationhelptabpage-mobile \
sc/uiconfig/scalc/ui/xmlsourcedialog \
sc/uiconfig/scalc/ui/ztestdialog \
 ))
diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
index 41bc913db911..e2c960d1820f 100644
--- a/sc/source/ui/dbgui/validate.cxx
+++ b/sc/source/ui/dbgui/validate.cxx
@@ -44,6 +44,11 @@
 #include 
 #include 
 #include 
+#include 
+#include 
+
+
+#define IS_MOBILE (comphelper::LibreOfficeKit::isActive() && 
SfxViewShell::Current() && SfxViewShell::Current()->isLOKMobilePhone())
 
 /*  Position indexes for "Allow" list box.
 They do not map directly to ScValidationMode and can safely be modified to
@@ -93,6 +98,12 @@ ScValidationDlg::ScValidationDlg(weld::Window* pParent, 
const SfxItemSet* pArgSe
 AddTabPage(m_sValuePageId, ScTPValidationValue::Create, nullptr);
 AddTabPage("inputhelp", ScTPValidationHelp::Create, nullptr);
 AddTabPage("erroralert", ScTPValidationError::Create, nullptr);
+
+if (IS_MOBILE)
+{
+m_xBuilder->weld_button("cancel")->hide();
+m_xBuilder->weld_button("help")->hide();
+}
 }
 
 ScValidationDlg::~ScValidationDlg()
@@ -679,7 +690,8 @@ IMPL_LINK_NOARG(ScTPValidationValue, CheckHdl, 
weld::Button&, void)
 // Input Help Page
 
 ScTPValidationHelp::ScTPValidationHelp(weld::Container* pPage, 
weld::DialogController* pController, const SfxItemSet& rArgSet)
-: SfxTabPage(pPage, pController, 
"modules/scalc/ui/validationhelptabpage.ui", "ValidationHelpTabPage", )
+: SfxTabPage(pPage, pController, IS_MOBILE ? 
OUString("modules/scalc/ui/validationhelptabpage-mobile.ui")
+: OUString("modules/scalc/ui/validationhelptabpage.ui"), 
"ValidationHelpTabPage", )
 , m_xTsbHelp(m_xBuilder->weld_check_button("tsbhelp"))
 , m_xEdtTitle(m_xBuilder->weld_entry("title"))
 , m_xEdInputHelp(m_xBuilder->weld_text_view("inputhelp"))
@@ -732,7 +744,8 @@ ScTPValidationError::ScTPValidationError(weld::Container* 
pPage, weld::DialogCon
  const SfxItemSet& rArgSet)
 
 :   SfxTabPage  ( pPage, pController,
-  "modules/scalc/ui/erroralerttabpage.ui", 
"ErrorAlertTabPage",
+  IS_MOBILE ? 
OUString("modules/scalc/ui/erroralerttabpage-mobile.ui")
+: 
OUString("modules/scalc/ui/erroralerttabpage.ui"), "ErrorAlertTabPage",
)
 , m_xTsbShow(m_xBuilder->weld_check_button("tsbshow"))
 , m_xLbAction(m_xBuilder->weld_combo_box("actionCB"))
diff --git a/sc/uiconfig/scalc/ui/erroralerttabpage-mobile.ui 
b/sc/uiconfig/scalc/ui/erroralerttabpage-mobile.ui
new file mode 100644
index ..2faa72dba83d
--- /dev/null
+++ b/sc/uiconfig/scalc/ui/erroralerttabpage-mobile.ui
@@ -0,0 +1,151 @@
+
+
+
+  
+  
+True
+False
+True
+True
+6
+vertical
+12
+
+  
+Show error _message when invalid values are 
entered
+True
+True
+False
+True
+True
+0
+True
+True
+  
+  
+False
+True
+0
+  
+
+
+  
+True
+False
+True
+True
+6
+12
+
+  
+True
+False
+_Action:
+True
+  

[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - sc/source sc/uiconfig sc/UIConfig_scalc.mk

2020-06-24 Thread Caolán McNamara (via logerrit)
 sc/UIConfig_scalc.mk |1 
 sc/source/ui/cctrl/cbnumberformat.cxx|   63 ++-
 sc/source/ui/inc/cbnumberformat.hxx  |   15 --
 sc/source/ui/sidebar/NumberFormatControl.cxx |7 +--
 sc/uiconfig/scalc/ui/numberbox.ui|   23 +
 5 files changed, 82 insertions(+), 27 deletions(-)

New commits:
commit 3d5b6e2c165e42503187ab3f80478f9bb3e90d35
Author: Caolán McNamara 
AuthorDate: Fri Feb 7 10:39:52 2020 +
Commit: Szymon Kłos 
CommitDate: Wed Jun 24 12:04:39 2020 +0200

weld ScNumberFormat ItemWindow

Change-Id: Ib019912e91be617edbbcdf2fafb92d6685487b98
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88174
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97015
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Szymon Kłos 

diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk
index 29131d219c60..bf1798cd5275 100644
--- a/sc/UIConfig_scalc.mk
+++ b/sc/UIConfig_scalc.mk
@@ -156,6 +156,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\
sc/uiconfig/scalc/ui/notebookbar_groups \
sc/uiconfig/scalc/ui/notebookbar_groupedbar_full \
sc/uiconfig/scalc/ui/notebookbar_groupedbar_compact \
+   sc/uiconfig/scalc/ui/numberbox \
sc/uiconfig/scalc/ui/managenamesdialog \
sc/uiconfig/scalc/ui/mergecellsdialog \
sc/uiconfig/scalc/ui/mergecolumnentry \
diff --git a/sc/source/ui/cctrl/cbnumberformat.cxx 
b/sc/source/ui/cctrl/cbnumberformat.cxx
index 2e08b0256378..830e24761d08 100644
--- a/sc/source/ui/cctrl/cbnumberformat.cxx
+++ b/sc/source/ui/cctrl/cbnumberformat.cxx
@@ -22,40 +22,63 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
-ScNumberFormat::ScNumberFormat(vcl::Window* pParent, WinBits nStyle) :
-ListBox(pParent, nStyle | 
WB_DROPDOWN|WB_LEFT|WB_VCENTER|WB_BORDER|WB_3DLOOK)
+ScNumberFormat::ScNumberFormat(vcl::Window* pParent)
+: InterimItemWindow(pParent, "modules/scalc/ui/numberbox.ui", "NumberBox")
+, m_xWidget(m_xBuilder->weld_combo_box("numbertype"))
 {
-SetSelectHdl(LINK(this, ScNumberFormat, NumFormatSelectHdl));
-AdaptDropDownLineCountToMaximum();
-
-InsertEntry(ScResId(STR_GENERAL));
-InsertEntry(ScResId(STR_NUMBER));
-InsertEntry(ScResId(STR_PERCENT));
-InsertEntry(ScResId(STR_CURRENCY));
-InsertEntry(ScResId(STR_DATE));
-InsertEntry(ScResId(STR_TIME));
-InsertEntry(ScResId(STR_SCIENTIFIC));
-InsertEntry(ScResId(STR_FRACTION));
-InsertEntry(ScResId(STR_BOOLEAN_VALUE));
-InsertEntry(ScResId(STR_TEXT));
+m_xWidget->append_text(ScResId(STR_GENERAL));
+m_xWidget->append_text(ScResId(STR_NUMBER));
+m_xWidget->append_text(ScResId(STR_PERCENT));
+m_xWidget->append_text(ScResId(STR_CURRENCY));
+m_xWidget->append_text(ScResId(STR_DATE));
+m_xWidget->append_text(ScResId(STR_TIME));
+m_xWidget->append_text(ScResId(STR_SCIENTIFIC));
+m_xWidget->append_text(ScResId(STR_FRACTION));
+m_xWidget->append_text(ScResId(STR_BOOLEAN_VALUE));
+m_xWidget->append_text(ScResId(STR_TEXT));
+
+m_xWidget->connect_changed(LINK(this, ScNumberFormat, NumFormatSelectHdl));
+m_xWidget->connect_key_press(LINK(this, ScNumberFormat, KeyInputHdl));
+
+SetSizePixel(m_xWidget->get_preferred_size());
+}
+
+void ScNumberFormat::dispose()
+{
+m_xWidget.reset();
+InterimItemWindow::dispose();
+}
+
+ScNumberFormat::~ScNumberFormat()
+{
+disposeOnce();
 }
 
-IMPL_STATIC_LINK(ScNumberFormat, NumFormatSelectHdl, ListBox&, rBox, void)
+IMPL_STATIC_LINK(ScNumberFormat, NumFormatSelectHdl, weld::ComboBox&, rBox, 
void)
 {
-if(SfxViewFrame::Current())
+auto* pCurSh = SfxViewFrame::Current();
+if (pCurSh)
 {
-SfxDispatcher* pDisp = 
SfxViewFrame::Current()->GetBindings().GetDispatcher();
-if(pDisp)
+SfxDispatcher* pDisp = pCurSh->GetBindings().GetDispatcher();
+if (pDisp)
 {
-const sal_Int32 nVal = rBox.GetSelectedEntryPos();
+const sal_Int32 nVal = rBox.get_active();
 SfxUInt16Item aItem(SID_NUMBER_TYPE_FORMAT, nVal);
 pDisp->ExecuteList(SID_NUMBER_TYPE_FORMAT,
 SfxCallMode::RECORD, {});
+
+pCurSh->GetWindow().GrabFocus();
 }
 }
 }
 
+IMPL_LINK(ScNumberFormat, KeyInputHdl, const KeyEvent&, rKEvt, bool)
+{
+return ChildKeyInput(rKEvt);
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/cbnumberformat.hxx 
b/sc/source/ui/inc/cbnumberformat.hxx
index 9773fd9b34cc..2cfde85cde48 100644
--- a/sc/source/ui/inc/cbnumberformat.hxx
+++ b/sc/source/ui/inc/cbnumberformat.hxx
@@ -20,15 +20,22 @@
 #ifndef INCLUDED_SC_SOURCE_UI_INC_CBNUMBERFORMAT_HXX
 #define INCLUDED_SC_SOURCE_UI_INC_CBNUMBERFORMAT_HXX
 
-#include 
+#include 
 
-class ScNumberFormat : public ListBox
+class ScNumberFormat final :