From 5fb5090883a7265a6b8939781c9cfee9100b3276 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 11 Jan 2021 19:59:44 +0000 Subject: replace stock button images MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I9be83856c0dd15552a042f009464c279bf239848 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109199 Tested-by: Jenkins Reviewed-by: Caolán McNamara --- .git-hooks/pre-commit | 8 + bin/ui-converter-skeleton.py | 196 ++++++++++++++++++ chart2/uiconfig/ui/columnfragment.ui | 2 +- chart2/uiconfig/ui/dlg_InsertErrorBars.ui | 12 +- chart2/uiconfig/ui/imagefragment.ui | 2 +- chart2/uiconfig/ui/tp_DataSource.ui | 4 +- chart2/uiconfig/ui/tp_ErrorBars.ui | 6 +- chart2/uiconfig/ui/tp_Trendline.ui | 12 +- cui/uiconfig/ui/aboutdialog.ui | 4 +- cui/uiconfig/ui/comment.ui | 4 +- cui/uiconfig/ui/hyphenate.ui | 4 +- cui/uiconfig/ui/menuassignpage.ui | 8 +- cui/uiconfig/ui/movemenu.ui | 4 +- cui/uiconfig/ui/spellingdialog.ui | 2 +- cui/uiconfig/ui/textanimtabpage.ui | 8 +- cui/uiconfig/ui/thesaurus.ui | 2 +- cui/uiconfig/ui/toolbarmodedialog.ui | 4 +- fpicker/uiconfig/ui/explorerfiledialog.ui | 4 +- include/vcl/builder.hxx | 16 +- reportdesign/uiconfig/dbreport/ui/conditionwin.ui | 4 +- sc/uiconfig/scalc/ui/conditionaliconset.ui | 2 +- sc/uiconfig/scalc/ui/sheetprintpage.ui | 2 +- .../simpress/ui/customanimationeffecttab.ui | 2 +- sd/uiconfig/simpress/ui/dockinganimation.ui | 10 +- sfx2/uiconfig/ui/decktitlebar.ui | 2 +- sfx2/uiconfig/ui/documentinfopage.ui | 2 +- sfx2/uiconfig/ui/infobar.ui | 2 +- svtools/uiconfig/ui/fixedimagecontrol.ui | 2 +- svtools/uiconfig/ui/placeedit.ui | 2 +- svtools/uiconfig/ui/tabbuttons.ui | 139 +++++++++++++ svtools/uiconfig/ui/tabbuttonsmirrored.ui | 139 +++++++++++++ svx/uiconfig/ui/grafctrlbox.ui | 2 +- svx/uiconfig/ui/navigationbar.ui | 10 +- sw/uiconfig/swriter/ui/addressblockdialog.ui | 12 +- sw/uiconfig/swriter/ui/cardmediumpage.ui | 2 +- sw/uiconfig/swriter/ui/columnpage.ui | 4 +- sw/uiconfig/swriter/ui/customizeaddrlistdialog.ui | 4 +- sw/uiconfig/swriter/ui/editfielddialog.ui | 4 +- sw/uiconfig/swriter/ui/envaddresspage.ui | 2 +- sw/uiconfig/swriter/ui/indexentry.ui | 12 +- sw/uiconfig/swriter/ui/insertfootnote.ui | 4 +- sw/uiconfig/swriter/ui/insertscript.ui | 4 +- sw/uiconfig/swriter/ui/mmaddressblockpage.ui | 4 +- sw/uiconfig/swriter/ui/mmsalutationpage.ui | 4 +- sw/uiconfig/swriter/ui/outlinebutton.ui | 59 ++++++ sw/uiconfig/swriter/ui/tablecolumnpage.ui | 4 +- sw/uiconfig/swriter/ui/testmailsettings.ui | 8 +- sw/uiconfig/swriter/ui/tokenwidget.ui | 4 +- vcl/inc/bitmaps.hlst | 2 - vcl/source/window/builder.cxx | 230 ++++++++------------- vcl/uiconfig/ui/aboutbox.ui | 2 +- vcl/uiconfig/ui/printdialog.ui | 10 +- vcl/unx/gtk3/gtk3gtkinst.cxx | 10 +- 53 files changed, 746 insertions(+), 261 deletions(-) create mode 100755 bin/ui-converter-skeleton.py create mode 100644 svtools/uiconfig/ui/tabbuttons.ui create mode 100644 svtools/uiconfig/ui/tabbuttonsmirrored.ui create mode 100644 sw/uiconfig/swriter/ui/outlinebutton.ui diff --git a/.git-hooks/pre-commit b/.git-hooks/pre-commit index fd0cfeea2e62..bc9b723d039d 100755 --- a/.git-hooks/pre-commit +++ b/.git-hooks/pre-commit @@ -101,6 +101,14 @@ sub check_whitespaces($) { bad_line("use tooltip_text instead of tooltip_markup", $_, "ui"); } + if (/ stays like that + # and doesn't change to + for status_elem in tree.xpath("//property[@name='label' and string() = '']"): + status_elem.text = "" + root = tree.getroot() + +# do some targeted conversion here +# tdf#138848 Copy-and-Paste in input box should not append an ENTER character +if not sys.argv[1].endswith('/multiline.ui'): # let this one alone not truncate multiline pastes + add_truncate_multiline(root) +replace_button_use_stock(root) +replace_image_stock(root) + +with open(sys.argv[1], 'wb') as o: + # without encoding='unicode' (and the matching encode("utf8")) we get &#XXXX replacements for non-ascii characters + # which we don't want to see changed in the output + o.write(etree.tostring(root, pretty_print=True, method='xml', encoding='unicode', doctype=header[0:-1]).encode("utf8")) + +# vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/chart2/uiconfig/ui/columnfragment.ui b/chart2/uiconfig/ui/columnfragment.ui index f020427d2924..4f6be9d81def 100644 --- a/chart2/uiconfig/ui/columnfragment.ui +++ b/chart2/uiconfig/ui/columnfragment.ui @@ -9,7 +9,7 @@ True False - gtk-missing-image + missing-image False diff --git a/chart2/uiconfig/ui/dlg_InsertErrorBars.ui b/chart2/uiconfig/ui/dlg_InsertErrorBars.ui index d7e1abbaea67..da680c43cf87 100644 --- a/chart2/uiconfig/ui/dlg_InsertErrorBars.ui +++ b/chart2/uiconfig/ui/dlg_InsertErrorBars.ui @@ -47,7 +47,7 @@ True True True - True + True False @@ -61,7 +61,7 @@ True True True - True + True False @@ -75,7 +75,7 @@ True True True - True + True False @@ -371,7 +371,7 @@ True False - gtk-missing-image + missing-image 0 @@ -382,7 +382,7 @@ True False - gtk-missing-image + missing-image 0 @@ -393,7 +393,7 @@ True False - gtk-missing-image + missing-image 0 diff --git a/chart2/uiconfig/ui/imagefragment.ui b/chart2/uiconfig/ui/imagefragment.ui index 97cd5985eb86..ab83099fdcf4 100644 --- a/chart2/uiconfig/ui/imagefragment.ui +++ b/chart2/uiconfig/ui/imagefragment.ui @@ -10,7 +10,7 @@ True False - gtk-missing-image + missing-image True diff --git a/chart2/uiconfig/ui/tp_DataSource.ui b/chart2/uiconfig/ui/tp_DataSource.ui index 1e2843127df4..635314c07e95 100644 --- a/chart2/uiconfig/ui/tp_DataSource.ui +++ b/chart2/uiconfig/ui/tp_DataSource.ui @@ -5,12 +5,12 @@ True False - gtk-go-up + go-up True False - gtk-go-down + go-down True diff --git a/chart2/uiconfig/ui/tp_ErrorBars.ui b/chart2/uiconfig/ui/tp_ErrorBars.ui index 8ec2f4cc4da1..b4015eb3659c 100644 --- a/chart2/uiconfig/ui/tp_ErrorBars.ui +++ b/chart2/uiconfig/ui/tp_ErrorBars.ui @@ -311,7 +311,7 @@ True False - gtk-missing-image + missing-image 0 @@ -322,7 +322,7 @@ True False - gtk-missing-image + missing-image 0 @@ -333,7 +333,7 @@ True False - gtk-missing-image + missing-image 0 diff --git a/chart2/uiconfig/ui/tp_Trendline.ui b/chart2/uiconfig/ui/tp_Trendline.ui index 9f1ac16775b2..7e5b97d8f457 100644 --- a/chart2/uiconfig/ui/tp_Trendline.ui +++ b/chart2/uiconfig/ui/tp_Trendline.ui @@ -292,7 +292,7 @@ True False - gtk-missing-image + missing-image 0 @@ -303,7 +303,7 @@ True False - gtk-missing-image + missing-image 0 @@ -314,7 +314,7 @@ True False - gtk-missing-image + missing-image 0 @@ -325,7 +325,7 @@ True False - gtk-missing-image + missing-image 0 @@ -336,7 +336,7 @@ True False - gtk-missing-image + missing-image 2 @@ -347,7 +347,7 @@ True False - gtk-missing-image + missing-image 2 diff --git a/cui/uiconfig/ui/aboutdialog.ui b/cui/uiconfig/ui/aboutdialog.ui index 219ad8020ab9..3a5a1836352c 100644 --- a/cui/uiconfig/ui/aboutdialog.ui +++ b/cui/uiconfig/ui/aboutdialog.ui @@ -4,8 +4,8 @@ True - False - gtk-copy + False + edit-copy False diff --git a/cui/uiconfig/ui/comment.ui b/cui/uiconfig/ui/comment.ui index c507ff68f919..a661db58071d 100644 --- a/cui/uiconfig/ui/comment.ui +++ b/cui/uiconfig/ui/comment.ui @@ -5,12 +5,12 @@ True False - gtk-go-back + go-previous True False - gtk-go-forward + go-next False diff --git a/cui/uiconfig/ui/hyphenate.ui b/cui/uiconfig/ui/hyphenate.ui index fea574f9472e..538a0b6f5e04 100644 --- a/cui/uiconfig/ui/hyphenate.ui +++ b/cui/uiconfig/ui/hyphenate.ui @@ -5,12 +5,12 @@ True False - gtk-go-back + go-previous True False - gtk-go-forward + go-next False diff --git a/cui/uiconfig/ui/menuassignpage.ui b/cui/uiconfig/ui/menuassignpage.ui index 4d24ca2e5899..fed6b6225d75 100644 --- a/cui/uiconfig/ui/menuassignpage.ui +++ b/cui/uiconfig/ui/menuassignpage.ui @@ -5,23 +5,23 @@ True False - gtk-go-up + go-up True False - gtk-go-down + go-down True False - gtk-go-forward + go-next 3 True False - gtk-go-back + go-previous 3 diff --git a/cui/uiconfig/ui/movemenu.ui b/cui/uiconfig/ui/movemenu.ui index c01b114436aa..9316a1bb2e5c 100644 --- a/cui/uiconfig/ui/movemenu.ui +++ b/cui/uiconfig/ui/movemenu.ui @@ -5,12 +5,12 @@ True False - gtk-go-up + go-up True False - gtk-go-down + go-down diff --git a/cui/uiconfig/ui/spellingdialog.ui b/cui/uiconfig/ui/spellingdialog.ui index 83a838eb0d6e..72fcc80a35ff 100644 --- a/cui/uiconfig/ui/spellingdialog.ui +++ b/cui/uiconfig/ui/spellingdialog.ui @@ -296,7 +296,7 @@ False Paste True - gtk-paste + edit-paste False diff --git a/cui/uiconfig/ui/textanimtabpage.ui b/cui/uiconfig/ui/textanimtabpage.ui index 37a4c30150ab..2dd4b524e696 100644 --- a/cui/uiconfig/ui/textanimtabpage.ui +++ b/cui/uiconfig/ui/textanimtabpage.ui @@ -20,22 +20,22 @@ True False - gtk-go-down + go-down True False - gtk-go-back + go-previous True False - gtk-go-forward + go-next True False - gtk-go-up + go-up True diff --git a/cui/uiconfig/ui/thesaurus.ui b/cui/uiconfig/ui/thesaurus.ui index 611a16b35ea3..91603c38485b 100644 --- a/cui/uiconfig/ui/thesaurus.ui +++ b/cui/uiconfig/ui/thesaurus.ui @@ -5,7 +5,7 @@ True False - gtk-go-back + go-previous diff --git a/cui/uiconfig/ui/toolbarmodedialog.ui b/cui/uiconfig/ui/toolbarmodedialog.ui index 43496294fde9..84f0d84aa071 100644 --- a/cui/uiconfig/ui/toolbarmodedialog.ui +++ b/cui/uiconfig/ui/toolbarmodedialog.ui @@ -5,7 +5,7 @@ True False - gtk-apply + sw/res/sc20558.png False @@ -317,7 +317,7 @@ center start True - gtk-missing-image + missing-image False diff --git a/fpicker/uiconfig/ui/explorerfiledialog.ui b/fpicker/uiconfig/ui/explorerfiledialog.ui index dc8e7ea08f97..c9effe4e636d 100644 --- a/fpicker/uiconfig/ui/explorerfiledialog.ui +++ b/fpicker/uiconfig/ui/explorerfiledialog.ui @@ -5,12 +5,12 @@ True False - gtk-add + list-add True False - gtk-remove + list-remove True diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx index 6e9c9505fde9..2054ef5c3105 100644 --- a/include/vcl/builder.hxx +++ b/include/vcl/builder.hxx @@ -109,6 +109,8 @@ public: /// Pre-loads all modules containing UI information static void preload(); + static SymbolType mapStockToSymbol(std::u16string_view icon_name); + private: VclBuilder(const VclBuilder&) = delete; VclBuilder& operator=(const VclBuilder&) = delete; @@ -237,14 +239,7 @@ private: static void mungeAdjustment(ScrollBar &rTarget, const Adjustment &rAdjustment); static void mungeAdjustment(Slider &rTarget, const Adjustment &rAdjustment); - struct stockinfo - { - OUString m_sStock; - int m_nSize; - stockinfo() : m_nSize(4) {} - }; - - typedef std::map StockMap; + typedef std::map ImageSizeMap; struct SizeGroup { @@ -274,7 +269,7 @@ private: std::map m_aAdjustments; std::vector m_aButtonImageWidgetMaps; - StockMap m_aStockMap; + ImageSizeMap m_aImageSizeMap; std::vector m_aButtonMenuMaps; @@ -338,12 +333,13 @@ private: void connectNumericFormatterAdjustment(const OString &id, const OUString &rAdjustment); void connectFormattedFormatterAdjustment(const OString &id, const OUString &rAdjustment); + static int getImageSize(const stringmap &rMap); + void extractGroup(const OString &id, stringmap &rVec); void extractModel(const OString &id, stringmap &rVec); void extractBuffer(const OString &id, stringmap &rVec); static bool extractAdjustmentToMap(const OString &id, stringmap &rVec, std::vector& rAdjustmentMap); void extractButtonImage(const OString &id, stringmap &rMap, bool bRadio); - void extractStock(const OString &id, stringmap &rMap); void extractMnemonicWidget(const OString &id, stringmap &rMap); // either pParent or pAtkProps must be set, pParent for a child of a widget, pAtkProps for diff --git a/reportdesign/uiconfig/dbreport/ui/conditionwin.ui b/reportdesign/uiconfig/dbreport/ui/conditionwin.ui index 33490b108ca9..6ad60616f028 100644 --- a/reportdesign/uiconfig/dbreport/ui/conditionwin.ui +++ b/reportdesign/uiconfig/dbreport/ui/conditionwin.ui @@ -5,12 +5,12 @@ True False - gtk-go-up + go-up True False - gtk-go-down + go-down True diff --git a/sc/uiconfig/scalc/ui/conditionaliconset.ui b/sc/uiconfig/scalc/ui/conditionaliconset.ui index 861ddb3304c9..bf129a2c914c 100644 --- a/sc/uiconfig/scalc/ui/conditionaliconset.ui +++ b/sc/uiconfig/scalc/ui/conditionaliconset.ui @@ -60,7 +60,7 @@ False center center - gtk-missing-image + missing-image 0 diff --git a/sc/uiconfig/scalc/ui/sheetprintpage.ui b/sc/uiconfig/scalc/ui/sheetprintpage.ui index 22086ed9d804..ae3aa741a510 100644 --- a/sc/uiconfig/scalc/ui/sheetprintpage.ui +++ b/sc/uiconfig/scalc/ui/sheetprintpage.ui @@ -184,7 +184,7 @@ center 6 6 - gtk-missing-image + missing-image False diff --git a/sd/uiconfig/simpress/ui/customanimationeffecttab.ui b/sd/uiconfig/simpress/ui/customanimationeffecttab.ui index 180d67aab353..892e33033758 100644 --- a/sd/uiconfig/simpress/ui/customanimationeffecttab.ui +++ b/sd/uiconfig/simpress/ui/customanimationeffecttab.ui @@ -10,7 +10,7 @@ True False - gtk-media-play + media-playback-start True diff --git a/sd/uiconfig/simpress/ui/dockinganimation.ui b/sd/uiconfig/simpress/ui/dockinganimation.ui index 8ddc69cf0ec9..4a747931dd1a 100644 --- a/sd/uiconfig/simpress/ui/dockinganimation.ui +++ b/sd/uiconfig/simpress/ui/dockinganimation.ui @@ -37,27 +37,27 @@ True False - gtk-goto-first + go-first True False - gtk-media-previous + media-skip-backward True False - gtk-media-stop + media-playback-stop True False - gtk-media-next + media-skip-forward True False - gtk-goto-last + go-last True diff --git a/sfx2/uiconfig/ui/decktitlebar.ui b/sfx2/uiconfig/ui/decktitlebar.ui index 9349956950b7..f7a706aae306 100644 --- a/sfx2/uiconfig/ui/decktitlebar.ui +++ b/sfx2/uiconfig/ui/decktitlebar.ui @@ -25,7 +25,7 @@ True False center - gtk-missing-image + missing-image False diff --git a/sfx2/uiconfig/ui/documentinfopage.ui b/sfx2/uiconfig/ui/documentinfopage.ui index 8ff9e4967be3..860b6e1c3348 100644 --- a/sfx2/uiconfig/ui/documentinfopage.ui +++ b/sfx2/uiconfig/ui/documentinfopage.ui @@ -387,7 +387,7 @@ True False center - gtk-missing-image + missing-image 0 diff --git a/sfx2/uiconfig/ui/infobar.ui b/sfx2/uiconfig/ui/infobar.ui index 50b1a7cc1d1d..3a9cc49a7f23 100644 --- a/sfx2/uiconfig/ui/infobar.ui +++ b/sfx2/uiconfig/ui/infobar.ui @@ -98,7 +98,7 @@ True False center - gtk-missing-image + missing-image False diff --git a/svtools/uiconfig/ui/fixedimagecontrol.ui b/svtools/uiconfig/ui/fixedimagecontrol.ui index 162ba17f63e3..1b462fa23d64 100644 --- a/svtools/uiconfig/ui/fixedimagecontrol.ui +++ b/svtools/uiconfig/ui/fixedimagecontrol.ui @@ -12,7 +12,7 @@ True False True - gtk-missing-image + missing-image True diff --git a/svtools/uiconfig/ui/placeedit.ui b/svtools/uiconfig/ui/placeedit.ui index 00940fadd111..0865f7273de3 100644 --- a/svtools/uiconfig/ui/placeedit.ui +++ b/svtools/uiconfig/ui/placeedit.ui @@ -10,7 +10,7 @@ True False - gtk-refresh + view-refresh False diff --git a/svtools/uiconfig/ui/tabbuttons.ui b/svtools/uiconfig/ui/tabbuttons.ui new file mode 100644 index 000000000000..82c5727c285a --- /dev/null +++ b/svtools/uiconfig/ui/tabbuttons.ui @@ -0,0 +1,139 @@ + + + + + + True + False + document-new + 1 + + + True + False + media-skip-backward + 1 + + + True + False + media-skip-forward + 1 + + + True + False + go-first + 1 + + + True + False + go-last + 1 + + + True + False + 6 + 6 + True + True + + + True + False + True + True + image4 + none + True + + + + False + True + 0 + + + + + True + False + True + True + image2 + none + True + + + + False + True + 1 + + + + + True + False + True + True + image3 + none + True + + + + False + True + 2 + + + + + True + False + True + True + image5 + none + True + + + + False + True + 3 + + + + + True + False + True + True + 6 + image1 + none + True + + + + False + True + 4 + + + + diff --git a/svtools/uiconfig/ui/tabbuttonsmirrored.ui b/svtools/uiconfig/ui/tabbuttonsmirrored.ui new file mode 100644 index 000000000000..926887af1c15 --- /dev/null +++ b/svtools/uiconfig/ui/tabbuttonsmirrored.ui @@ -0,0 +1,139 @@ + + + + + + True + False + document-new + 1 + + + True + False + media-skip-backward + 1 + + + True + False + media-skip-forward + 1 + + + True + False + go-first + 1 + + + True + False + go-last + 1 + + + True + False + 6 + 6 + True + True + + + True + False + True + True + 6 + image1 + none + True + + + + False + True + 0 + + + + + True + False + True + True + image4 + none + True + + + + False + True + 1 + + + + + True + False + True + True + image2 + none + True + + + + False + True + 2 + + + + + True + False + True + True + image3 + none + True + + + + False + True + 3 + + + + + True + False + True + True + image5 + none + True + + + + False + True + 4 + + + + diff --git a/svx/uiconfig/ui/grafctrlbox.ui b/svx/uiconfig/ui/grafctrlbox.ui index eec2fbbab284..c33e83cb2b9c 100644 --- a/svx/uiconfig/ui/grafctrlbox.ui +++ b/svx/uiconfig/ui/grafctrlbox.ui @@ -18,7 +18,7 @@ False center center - gtk-missing-image + missing-image False diff --git a/svx/uiconfig/ui/navigationbar.ui b/svx/uiconfig/ui/navigationbar.ui index e5b773246b74..e729327e874c 100644 --- a/svx/uiconfig/ui/navigationbar.ui +++ b/svx/uiconfig/ui/navigationbar.ui @@ -5,31 +5,31 @@ True False - gtk-goto-first + go-first 1 True False - gtk-media-previous + media-skip-backward 1 True False - gtk-media-next + media-skip-forward 1 True False - gtk-goto-last + go-last 1 True False - gtk-new + document-new 1 diff --git a/sw/uiconfig/swriter/ui/addressblockdialog.ui b/sw/uiconfig/swriter/ui/addressblockdialog.ui index d6748dceeb0f..0d9daa26d621 100644 --- a/sw/uiconfig/swriter/ui/addressblockdialog.ui +++ b/sw/uiconfig/swriter/ui/addressblockdialog.ui @@ -5,33 +5,33 @@ True False - gtk-go-forward + go-next True False - gtk-go-back + go-previous True False - gtk-go-up + go-up True False - gtk-go-down + go-down True False Add to address - gtk-go-forward + go-next True False - gtk-go-back + go-previous diff --git a/sw/uiconfig/swriter/ui/cardmediumpage.ui b/sw/uiconfig/swriter/ui/cardmediumpage.ui index 14f79fdf7978..0806e6000e7e 100644 --- a/sw/uiconfig/swriter/ui/cardmediumpage.ui +++ b/sw/uiconfig/swriter/ui/cardmediumpage.ui @@ -12,7 +12,7 @@ True False - gtk-go-back + go-previous True diff --git a/sw/uiconfig/swriter/ui/columnpage.ui b/sw/uiconfig/swriter/ui/columnpage.ui index 6c4a7a19c095..9e7eeb842492 100644 --- a/sw/uiconfig/swriter/ui/columnpage.ui +++ b/sw/uiconfig/swriter/ui/columnpage.ui @@ -54,13 +54,13 @@ True False - gtk-go-back + go-previous 1 True False - gtk-go-forward + go-next 1 diff --git a/sw/uiconfig/swriter/ui/customizeaddrlistdialog.ui b/sw/uiconfig/swriter/ui/customizeaddrlistdialog.ui index 0e124c5f88e0..2f88ca4aeeb6 100644 --- a/sw/uiconfig/swriter/ui/customizeaddrlistdialog.ui +++ b/sw/uiconfig/swriter/ui/customizeaddrlistdialog.ui @@ -5,12 +5,12 @@ True False - gtk-go-up + go-up True False - gtk-go-down + go-down diff --git a/sw/uiconfig/swriter/ui/editfielddialog.ui b/sw/uiconfig/swriter/ui/editfielddialog.ui index d83f3d8ac313..6f8e6173c854 100644 --- a/sw/uiconfig/swriter/ui/editfielddialog.ui +++ b/sw/uiconfig/swriter/ui/editfielddialog.ui @@ -5,12 +5,12 @@ True False - gtk-media-previous + media-skip-backward True False - gtk-media-next + media-skip-forward False diff --git a/sw/uiconfig/swriter/ui/envaddresspage.ui b/sw/uiconfig/swriter/ui/envaddresspage.ui index da21f38f904a..2eeb573896fc 100644 --- a/sw/uiconfig/swriter/ui/envaddresspage.ui +++ b/sw/uiconfig/swriter/ui/envaddresspage.ui @@ -5,7 +5,7 @@ True False - gtk-go-back + go-previous True diff --git a/sw/uiconfig/swriter/ui/indexentry.ui b/sw/uiconfig/swriter/ui/indexentry.ui index 4f74da2bfab7..6d9d40ec24fa 100644 --- a/sw/uiconfig/swriter/ui/indexentry.ui +++ b/sw/uiconfig/swriter/ui/indexentry.ui @@ -13,32 +13,32 @@ True False start - gtk-index + vcl/res/index.png True False - gtk-go-back + go-previous True False - gtk-go-forward + go-next True False - gtk-goto-first + go-first True False - gtk-goto-last + go-last True False - gtk-refresh + view-refresh False diff --git a/sw/uiconfig/swriter/ui/insertfootnote.ui b/sw/uiconfig/swriter/ui/insertfootnote.ui index 657c846e264c..4d7990bed1ad 100644 --- a/sw/uiconfig/swriter/ui/insertfootnote.ui +++ b/sw/uiconfig/swriter/ui/insertfootnote.ui @@ -5,12 +5,12 @@ True False - gtk-go-back + go-previous True False - gtk-go-forward + go-next False diff --git a/sw/uiconfig/swriter/ui/insertscript.ui b/sw/uiconfig/swriter/ui/insertscript.ui index 433687ccee55..41be6617a689 100644 --- a/sw/uiconfig/swriter/ui/insertscript.ui +++ b/sw/uiconfig/swriter/ui/insertscript.ui @@ -5,12 +5,12 @@ True False - gtk-go-back + go-previous True False - gtk-go-forward + go-next False diff --git a/sw/uiconfig/swriter/ui/mmaddressblockpage.ui b/sw/uiconfig/swriter/ui/mmaddressblockpage.ui index 2ab4c9bcf9af..9349651fec1f 100644 --- a/sw/uiconfig/swriter/ui/mmaddressblockpage.ui +++ b/sw/uiconfig/swriter/ui/mmaddressblockpage.ui @@ -5,13 +5,13 @@ True False - gtk-go-back + go-previous 1 True False - gtk-go-forward + go-next 1 diff --git a/sw/uiconfig/swriter/ui/mmsalutationpage.ui b/sw/uiconfig/swriter/ui/mmsalutationpage.ui index 5fc42f51b385..97249e5b4dc7 100644 --- a/sw/uiconfig/swriter/ui/mmsalutationpage.ui +++ b/sw/uiconfig/swriter/ui/mmsalutationpage.ui @@ -5,13 +5,13 @@ True False - gtk-go-back + go-previous 1 True False - gtk-go-forward + go-next 1 diff --git a/sw/uiconfig/swriter/ui/outlinebutton.ui b/sw/uiconfig/swriter/ui/outlinebutton.ui new file mode 100644 index 000000000000..a0c2b9e5db82 --- /dev/null +++ b/sw/uiconfig/swriter/ui/outlinebutton.ui @@ -0,0 +1,59 @@ + + + + + + True + False + go-next + 1 + + + True + False + go-down + 1 + + + True + False + True + True + + + True + False + True + True + image3 + True + + + + False + True + 2 + + + + + True + True + False + True + image5 + True + + + + False + True + 3 + + + + diff --git a/sw/uiconfig/swriter/ui/tablecolumnpage.ui b/sw/uiconfig/swriter/ui/tablecolumnpage.ui index d69e9faaf188..9b54d63b01bd 100644 --- a/sw/uiconfig/swriter/ui/tablecolumnpage.ui +++ b/sw/uiconfig/swriter/ui/tablecolumnpage.ui @@ -46,13 +46,13 @@ True False - gtk-go-back + go-previous 1 True False - gtk-go-forward + go-next 1 diff --git a/sw/uiconfig/swriter/ui/testmailsettings.ui b/sw/uiconfig/swriter/ui/testmailsettings.ui index f8ab0e14c8f9..a10206d87745 100644 --- a/sw/uiconfig/swriter/ui/testmailsettings.ui +++ b/sw/uiconfig/swriter/ui/testmailsettings.ui @@ -156,7 +156,7 @@ True False - gtk-dialog-error + dialog-error False @@ -168,7 +168,7 @@ True False - gtk-apply + sw/res/sc20558.png False @@ -190,7 +190,7 @@ True False - gtk-dialog-error + dialog-error False @@ -202,7 +202,7 @@ True False - gtk-apply + sw/res/sc20558.png False diff --git a/sw/uiconfig/swriter/ui/tokenwidget.ui b/sw/uiconfig/swriter/ui/tokenwidget.ui index ed5f5a40ce67..df1cc5cf1ff5 100644 --- a/sw/uiconfig/swriter/ui/tokenwidget.ui +++ b/sw/uiconfig/swriter/ui/tokenwidget.ui @@ -5,12 +5,12 @@ True False - gtk-go-back + go-previous True False - gtk-go-forward + go-next True diff --git a/vcl/inc/bitmaps.hlst b/vcl/inc/bitmaps.hlst index 68f23533eae0..73e05c724ca2 100644 --- a/vcl/inc/bitmaps.hlst +++ b/vcl/inc/bitmaps.hlst @@ -54,7 +54,6 @@ #define SV_RESID_BITMAP_SCROLLV "vcl/res/scrollv.png" #define SV_RESID_BITMAP_SCROLLH "vcl/res/scrollh.png" #define SV_RESID_BITMAP_CLOSEDOC "vcl/res/closedoc.png" -#define SV_RESID_BITMAP_INDEX "vcl/res/index.png" #define SV_RESID_BITMAP_REFRESH "res/reload.png" #define SV_RESID_BITMAP_NOTEBOOKBAR "res/notebookbar.png" @@ -132,7 +131,6 @@ #define SPINNER_64_12 "vcl/res/spinner-64-12.png" //end, Throbber::getDefaultImageURLs -#define IMG_APPLY "sw/res/sc20558.png" #define IMG_WARN "dbaccess/res/exwarning.png" #define IMG_ERROR "dbaccess/res/exerror.png" #define IMG_INFO "dbaccess/res/exinfo.png" diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index de4bd29e997c..93724a6e6023 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -87,67 +87,68 @@ namespace { OUString mapStockToImageResource(const OUString& sType) { - if (sType == "gtk-index") - return SV_RESID_BITMAP_INDEX; - else if (sType == "gtk-refresh") + if (sType == u"view-refresh") return SV_RESID_BITMAP_REFRESH; - else if (sType == "gtk-apply") - return IMG_APPLY; - else if (sType == "gtk-dialog-error") + else if (sType == u"dialog-error") return IMG_ERROR; - else if (sType == "gtk-add") + else if (sType == u"list-add") return IMG_ADD; - else if (sType == "gtk-remove") + else if (sType == u"list-remove") return IMG_REMOVE; - else if (sType == "gtk-copy") + else if (sType == u"edit-copy") return IMG_COPY; - else if (sType == "gtk-paste") + else if (sType == u"edit-paste") return IMG_PASTE; return OUString(); } - SymbolType mapStockToSymbol(const OUString& sType) - { - SymbolType eRet = SymbolType::DONTKNOW; - if (sType == "gtk-media-next") - eRet = SymbolType::NEXT; - else if (sType == "gtk-media-previous") - eRet = SymbolType::PREV; - else if (sType == "gtk-media-play") - eRet = SymbolType::PLAY; - else if (sType == "gtk-media-stop") - eRet = SymbolType::STOP; - else if (sType == "gtk-goto-first") - eRet = SymbolType::FIRST; - else if (sType == "gtk-goto-last") - eRet = SymbolType::LAST; - else if (sType == "gtk-go-back") - eRet = SymbolType::ARROW_LEFT; - else if (sType == "gtk-go-forward") - eRet = SymbolType::ARROW_RIGHT; - else if (sType == "gtk-go-up") - eRet = SymbolType::ARROW_UP; - else if (sType == "gtk-go-down") - eRet = SymbolType::ARROW_DOWN; - else if (sType == "gtk-missing-image") - eRet = SymbolType::IMAGE; - else if (sType == "gtk-help") - eRet = SymbolType::HELP; - else if (sType == "gtk-close") - eRet = SymbolType::CLOSE; - else if (sType == "gtk-new") - eRet = SymbolType::PLUS; - else if (!mapStockToImageResource(sType).isEmpty()) - eRet = SymbolType::IMAGE; - return eRet; - } +} - void setupFromActionName(Button *pButton, VclBuilder::stringmap &rMap, const css::uno::Reference& rFrame); +SymbolType VclBuilder::mapStockToSymbol(std::u16string_view sType) +{ + SymbolType eRet = SymbolType::DONTKNOW; + if (sType == u"media-skip-forward") + eRet = SymbolType::NEXT; + else if (sType == u"media-skip-backward") + eRet = SymbolType::PREV; + else if (sType == u"media-playback-start") + eRet = SymbolType::PLAY; + else if (sType == u"media-playback-stop") + eRet = SymbolType::STOP; + else if (sType == u"go-first") + eRet = SymbolType::FIRST; + else if (sType == u"go-last") + eRet = SymbolType::LAST; + else if (sType == u"go-previous") + eRet = SymbolType::ARROW_LEFT; + else if (sType == u"go-next") + eRet = SymbolType::ARROW_RIGHT; + else if (sType == u"go-up") + eRet = SymbolType::ARROW_UP; + else if (sType == u"go-down") + eRet = SymbolType::ARROW_DOWN; + else if (sType == u"missing-image") + eRet = SymbolType::IMAGE; + else if (sType == u"help-browser") + eRet = SymbolType::HELP; + else if (sType == u"window-close") + eRet = SymbolType::CLOSE; + else if (sType == u"document-new") + eRet = SymbolType::PLUS; + else if (sType == u"pan-down-symbolic") + eRet = SymbolType::SPIN_DOWN; + else if (sType == u"pan-up-symbolic") + eRet = SymbolType::SPIN_UP; + else if (!mapStockToImageResource(sType).isEmpty()) + eRet = SymbolType::IMAGE; + return eRet; } -#if defined SAL_LOG_WARN namespace { + void setupFromActionName(Button *pButton, VclBuilder::stringmap &rMap, const css::uno::Reference& rFrame); + +#if defined SAL_LOG_WARN bool isButtonType(WindowType nType) { return nType == WindowType::PUSHBUTTON || @@ -159,9 +160,10 @@ namespace nType == WindowType::MOREBUTTON || nType == WindowType::SPINBUTTON; } -} #endif +} + weld::Builder* Application::CreateBuilder(weld::Widget* pParent, const OUString &rUIFile, bool bMobile) { bool bUseJSBuilder = false; @@ -646,22 +648,25 @@ VclBuilder::VclBuilder(vcl::Window* pParent, const OUString& sUIDir, const OUStr continue; aImagesToBeRemoved.insert(elem.m_sValue); - VclBuilder::StockMap::iterator aFind = m_pParserState->m_aStockMap.find(elem.m_sValue.toUtf8()); - if (aFind == m_pParserState->m_aStockMap.end()) + if (!elem.m_bRadio) { - if (!elem.m_bRadio) + const Image& rImage = pImage->GetImage(); + SymbolType eSymbol = mapStockToSymbol(rImage.GetStock()); + if (eSymbol != SymbolType::IMAGE && eSymbol != SymbolType::DONTKNOW) { - const Image& rImage = pImage->GetImage(); - if (rImage.GetStock() == "pan-down-symbolic") - pTargetButton->SetSymbol(SymbolType::SPIN_DOWN); - else if (rImage.GetStock() == "pan-up-symbolic") - pTargetButton->SetSymbol(SymbolType::SPIN_UP); - else - pTargetButton->SetModeImage(rImage); + pTargetButton->SetSymbol(eSymbol); + //fdo#76457 keep symbol images small e.g. tools->customize->menu + //but images the right size. Really the PushButton::CalcMinimumSize + //and PushButton::ImplDrawPushButton are the better place to handle + //this, but its such a train-wreck + pTargetButton->SetStyle(pTargetButton->GetStyle() | WB_SMALLSTYLE); + } + else + { + pTargetButton->SetModeImage(rImage); if (pImage->GetStyle() & WB_SMALLSTYLE) { - pTargetButton->SetStyle(pTargetButton->GetStyle() | WB_SMALLSTYLE); - Size aSz(pTargetButton->GetModeImage().GetSizePixel()); + Size aSz(rImage.GetSizePixel()); aSz.AdjustWidth(6); aSz.AdjustHeight(6); if (pTargetButton->get_width_request() == -1) @@ -670,43 +675,24 @@ VclBuilder::VclBuilder(vcl::Window* pParent, const OUString& sUIDir, const OUStr pTargetButton->set_height_request(aSz.Height()); } } - else - pTargetRadio->SetModeRadioImage(pImage->GetImage()); } else + pTargetRadio->SetModeRadioImage(pImage->GetImage()); + + auto aFind = m_pParserState->m_aImageSizeMap.find(elem.m_sValue.toUtf8()); + if (aFind != m_pParserState->m_aImageSizeMap.end()) { - const stockinfo &rImageInfo = aFind->second; - SymbolType eType = mapStockToSymbol(rImageInfo.m_sStock); - SAL_WARN_IF(eType == SymbolType::DONTKNOW, "vcl", "missing stock image element for button"); - if (eType == SymbolType::DONTKNOW) - continue; - if (!elem.m_bRadio) - { - pTargetButton->SetSymbol(eType); - //fdo#76457 keep symbol images small e.g. tools->customize->menu - //but images the right size. Really the PushButton::CalcMinimumSize - //and PushButton::ImplDrawPushButton are the better place to handle - //this, but its such a train-wreck - if (eType != SymbolType::IMAGE) - pTargetButton->SetStyle(pTargetButton->GetStyle() | WB_SMALLSTYLE); - } - else - SAL_WARN_IF(eType != SymbolType::IMAGE, "vcl.builder", "unimplemented symbol type for radiobuttons"); - if (eType == SymbolType::IMAGE) - { - Image const aImage(StockImage::Yes, - mapStockToImageResource(rImageInfo.m_sStock)); - if (!elem.m_bRadio) - pTargetButton->SetModeImage(aImage); - else - pTargetRadio->SetModeRadioImage(aImage); - } - switch (rImageInfo.m_nSize) + switch (aFind->second) { case 1: pTarget->SetSmallSymbol(); break; + case 2: + assert(pImage->GetStyle() & WB_SMALLSTYLE); + pTarget->SetStyle(pTarget->GetStyle() | WB_SMALLSTYLE); + break; case 3: + pTarget->SetStyle(pTarget->GetStyle() | WB_SMALLSTYLE); // large toolbar, make bigger than normal (4) pTarget->set_width_request(pTarget->GetOptimalSize().Width() * 1.5); pTarget->set_height_request(pTarget->GetOptimalSize().Height() * 1.5); @@ -714,9 +700,10 @@ VclBuilder::VclBuilder(vcl::Window* pParent, const OUString& sUIDir, const OUStr case 4: break; default: - SAL_WARN("vcl.builder", "unsupported image size " << rImageInfo.m_nSize); + SAL_WARN("vcl.builder", "unsupported image size " << aFind->second); break; } + m_pParserState->m_aImageSizeMap.erase(aFind); } } @@ -727,28 +714,6 @@ VclBuilder::VclBuilder(vcl::Window* pParent, const OUString& sUIDir, const OUStr delete_by_name(elem.toUtf8()); } - //fill in any stock icons in surviving images - for (auto const& elem : m_pParserState->m_aStockMap) - { - FixedImage *pImage = get(elem.first); - SAL_WARN_IF(!pImage, "vcl", "missing elements of image/stock: " << elem.first); - if (!pImage) - continue; - - const stockinfo &rImageInfo = elem.second; - if (rImageInfo.m_sStock == "gtk-missing-image") - continue; - - SymbolType eType = mapStockToSymbol(rImageInfo.m_sStock); - SAL_WARN_IF(eType != SymbolType::IMAGE, "vcl", "unimplemented symbol type for images"); - if (eType != SymbolType::IMAGE) - continue; - - Image const aImage(StockImage::Yes, - mapStockToImageResource(rImageInfo.m_sStock)); - pImage->SetImage(aImage); - } - //Set button menus when everything has been imported for (auto const& elem : m_pParserState->m_aButtonMenuMaps) { @@ -1039,19 +1004,10 @@ namespace rMap.erase(aFind); } } - return sIconName; - } - - OUString extractStockId(VclBuilder::stringmap &rMap) - { - OUString sIconName; - VclBuilder::stringmap::iterator aFind = rMap.find(OString("stock-id")); - if (aFind != rMap.end()) - { - sIconName = aFind->second; - rMap.erase(aFind); - } - return sIconName; + if (sIconName == "missing-image") + return OUString(); + OUString sReplace = mapStockToImageResource(sIconName); + return !sReplace.isEmpty() ? sReplace : sIconName; } OUString getStockText(const OUString &rType) @@ -1494,22 +1450,13 @@ void VclBuilder::extractBuffer(const OString &id, stringmap &rMap) } } -void VclBuilder::extractStock(const OString &id, stringmap &rMap) +int VclBuilder::getImageSize(const stringmap &rMap) { - VclBuilder::stringmap::iterator aFind = rMap.find(OString("stock")); - if (aFind == rMap.end()) - return; - - stockinfo aInfo; - aInfo.m_sStock = aFind->second; - rMap.erase(aFind); - aFind = rMap.find(OString("icon-size")); + int nSize = 4; + auto aFind = rMap.find(OString("icon-size")); if (aFind != rMap.end()) - { - aInfo.m_nSize = aFind->second.toInt32(); - rMap.erase(aFind); - } - m_pParserState->m_aStockMap[id] = aInfo; + nSize = aFind->second.toInt32(); + return nSize; } void VclBuilder::extractButtonImage(const OString &id, stringmap &rMap, bool bRadio) @@ -2090,8 +2037,7 @@ VclPtr VclBuilder::makeObject(vcl::Window *pParent, const OString & OUString sIconName = extractIconName(rMap); if (!sIconName.isEmpty()) xFixedImage->SetImage(FixedImage::loadThemeImage(sIconName)); - else - extractStock(id, rMap); + m_pParserState->m_aImageSizeMap[id] = getImageSize(rMap); xWindow = xFixedImage; //such parentless GtkImages are temps used to set icons on buttons //default them to hidden to stop e.g. insert->index entry flicking temp @@ -2227,8 +2173,6 @@ VclPtr VclBuilder::makeObject(vcl::Window *pParent, const OString & pToolBox->SetQuickHelpText(nItemId, sTooltip); OUString sIconName(extractIconName(rMap)); - if (sIconName.isEmpty()) - sIconName = mapStockToImageResource(extractStockId(rMap)); if (!sIconName.isEmpty()) pToolBox->SetItemImage(nItemId, FixedImage::loadThemeImage(sIconName)); diff --git a/vcl/uiconfig/ui/aboutbox.ui b/vcl/uiconfig/ui/aboutbox.ui index 560c84d89dc1..84d73f3e6111 100644 --- a/vcl/uiconfig/ui/aboutbox.ui +++ b/vcl/uiconfig/ui/aboutbox.ui @@ -13,7 +13,7 @@ False diff --git a/vcl/uiconfig/ui/printdialog.ui b/vcl/uiconfig/ui/printdialog.ui index 011a8563bca0..837b571324ac 100644 --- a/vcl/uiconfig/ui/printdialog.ui +++ b/vcl/uiconfig/ui/printdialog.ui @@ -41,22 +41,22 @@ True False - gtk-go-back + go-previous True False - gtk-goto-first + go-first True False - gtk-go-forward + go-next True False - gtk-goto-last + go-last False @@ -809,7 +809,7 @@ True False - gtk-missing-image + missing-image False diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 7afe6a7b1587..a3c2fb498dfd 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -16652,6 +16652,12 @@ void ensure_disable_ctrl_page_up_down_bindings() } } +bool IsAllowedBuiltInIcon(std::u16string_view iconName) +{ + // limit the named icons to those known by VclBuilder + return VclBuilder::mapStockToSymbol(iconName) != SymbolType::DONTKNOW; +} + class GtkInstanceBuilder : public weld::Builder { private: @@ -16689,7 +16695,7 @@ private: if (icon_name) { OUString aIconName(icon_name, strlen(icon_name), RTL_TEXTENCODING_UTF8); - if (aIconName != "pan-up-symbolic" && aIconName != "pan-down-symbolic") + if (!IsAllowedBuiltInIcon(aIconName)) { if (GdkPixbuf* pixbuf = load_icon_by_name_theme_lang(aIconName, m_aIconTheme, m_aUILang)) { @@ -16705,7 +16711,7 @@ private: if (const gchar* icon_name = gtk_tool_button_get_icon_name(pToolButton)) { OUString aIconName(icon_name, strlen(icon_name), RTL_TEXTENCODING_UTF8); - if (aIconName != "pan-up-symbolic" && aIconName != "pan-down-symbolic") + if (!IsAllowedBuiltInIcon(aIconName)) { if (GdkPixbuf* pixbuf = load_icon_by_name_theme_lang(aIconName, m_aIconTheme, m_aUILang)) { -- cgit