[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - sc/source sc/uiconfig
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
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
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
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
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 :