comphelper/source/misc/lok.cxx | 12 desktop/source/lib/init.cxx | 12 include/comphelper/lok.hxx | 6 sc/UIConfig_scalc.mk | 2 sc/source/ui/condformat/condformatdlg.cxx | 3 sc/source/ui/condformat/condformatdlgentry.cxx | 3 sc/uiconfig/scalc/ui/conditionalentrymobile.ui | 455 ++++++++++++++++++ sc/uiconfig/scalc/ui/conditionalformatdialogmobile.ui | 300 +++++++++++ solenv/sanitizers/ui/modules/scalc.suppr | 20 9 files changed, 811 insertions(+), 2 deletions(-)
New commits: commit 6d2e25ce53b561f0b5a250f0a1b7e96811b00e17 Author: merttumer <mert.tu...@collabora.com> AuthorDate: Tue Jul 30 15:30:06 2019 +0300 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Tue Sep 3 21:42:42 2019 +0200 Added mobile friendly ui design for ConditionalFormattingDialog [ Miklos: added solenv/ bits to silence the same warnings as the non-mobile layout. ] (cherry picked from commit d2b4b608696e7a6ba7ed15c97972aa8ed3707bb2) Conflicts: sc/source/ui/condformat/condformatdlg.cxx sc/source/ui/condformat/condformatdlgentry.cxx solenv/sanitizers/ui/modules/scalc.suppr Change-Id: If2d91da45cf5eecf099f246320ffaf84f55708f1 Reviewed-on: https://gerrit.libreoffice.org/78307 Reviewed-by: Andras Timar <andras.ti...@collabora.com> Tested-by: Andras Timar <andras.ti...@collabora.com> diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk index 8b36d066b932..e91e9c35959b 100644 --- a/sc/UIConfig_scalc.mk +++ b/sc/UIConfig_scalc.mk @@ -98,7 +98,9 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\ sc/uiconfig/scalc/ui/colwidthdialog \ sc/uiconfig/scalc/ui/condformatmanager \ sc/uiconfig/scalc/ui/conditionalformatdialog \ + sc/uiconfig/scalc/ui/conditionalformatdialogmobile \ sc/uiconfig/scalc/ui/conditionalentry \ + sc/uiconfig/scalc/ui/conditionalentrymobile \ sc/uiconfig/scalc/ui/conditionaliconset \ sc/uiconfig/scalc/ui/conflictsdialog \ sc/uiconfig/scalc/ui/consolidatedialog \ diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx index 79e0e3f233d6..91ea772d8065 100644 --- a/sc/source/ui/condformat/condformatdlg.cxx +++ b/sc/source/ui/condformat/condformatdlg.cxx @@ -7,6 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include <comphelper/lok.hxx> #include <condformatdlg.hxx> #include <vcl/vclevent.hxx> @@ -515,7 +516,7 @@ ScCondFormatDlg::ScCondFormatDlg(SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent, ScViewData* pViewData, const ScCondFormatDlgItem* pItem) : ScAnyRefDlg(pB, pCW, pParent, "ConditionalFormatDialog", - "modules/scalc/ui/conditionalformatdialog.ui") + (comphelper::LibreOfficeKit::isMobile()?OUString("modules/scalc/ui/conditionalformatdialogmobile.ui"):OUString("modules/scalc/ui/conditionalformatdialog.ui"))) , mpViewData(pViewData) , mpLastEdit(nullptr) , mpDlgItem(static_cast<ScCondFormatDlgItem*>(pItem->Clone())) diff --git a/sc/source/ui/condformat/condformatdlgentry.cxx b/sc/source/ui/condformat/condformatdlgentry.cxx index 2483ebe29d7f..4c6682253fa0 100644 --- a/sc/source/ui/condformat/condformatdlgentry.cxx +++ b/sc/source/ui/condformat/condformatdlgentry.cxx @@ -33,6 +33,7 @@ #include <tabvwsh.hxx> #include <simpleformulacalc.hxx> #include <unotools/charclass.hxx> +#include <comphelper/lok.hxx> #include <colorformat.hxx> #include <scresid.hxx> @@ -48,7 +49,7 @@ ScCondFrmtEntry::ScCondFrmtEntry(vcl::Window* pParent, ScDocument* pDoc, const S , mpDoc(pDoc) , maPos(rPos) { - m_pUIBuilder.reset(new VclBuilder(this, getUIRootDir(), "modules/scalc/ui/conditionalentry.ui")); + m_pUIBuilder.reset(new VclBuilder(this, getUIRootDir(), (comphelper::LibreOfficeKit::isMobile()?OUString("modules/scalc/ui/conditionalentrymobile.ui"):OUString("modules/scalc/ui/conditionalentry.ui")))); get(maGrid, "grid"); get(maFtCondNr, "number"); diff --git a/sc/uiconfig/scalc/ui/conditionalentrymobile.ui b/sc/uiconfig/scalc/ui/conditionalentrymobile.ui new file mode 100644 index 000000000000..a4f1b39185bd --- /dev/null +++ b/sc/uiconfig/scalc/ui/conditionalentrymobile.ui @@ -0,0 +1,455 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.22.1 --> +<interface domain="sc"> + <requires lib="gtk+" version="3.0"/> + <requires lib="LibreOffice" version="1.0"/> + <object class="GtkGrid" id="grid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="border_width">6</property> + <property name="orientation">vertical</property> + <property name="row_spacing">7</property> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="column_spacing">2</property> + <child> + <object class="GtkLabel" id="number"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="condition"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="resize_mode">immediate</property> + <property name="row_spacing">12</property> + <property name="column_homogeneous">True</property> + <child> + <object class="GtkComboBoxText" id="type"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">False</property> + <items> + <item translatable="yes" context="conditionalentrymobile|type">All Cells</item> + <item translatable="yes" context="conditionalentrymobile|type">Cell value is</item> + <item translatable="yes" context="conditionalentrymobile|type">Formula is</item> + <item translatable="yes" context="conditionalentrymobile|type">Date is</item> + </items> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="height">2</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="style"> + <property name="can_focus">False</property> + <items> + <item translatable="yes" context="conditionalentrymobile|style">New Style...</item> + </items> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">6</property> + </packing> + </child> + <child> + <object class="GtkButton" id="options"> + <property name="label" translatable="yes" context="conditionalentrymobile|options">More Options...</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">12</property> + </packing> + </child> + <child> + <object class="svxlo-SvxFontPrevWindow" id="preview:border"> + <property name="can_focus">False</property> + <property name="tooltip_text" translatable="yes" context="conditionalentrymobile|preview|tooltip_text">Example</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">7</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="column_homogeneous">True</property> + <child> + <object class="GtkComboBoxText" id="typeis"> + <property name="can_focus">False</property> + <items> + <item translatable="yes" context="conditionalentrymobile|typeis">equal to</item> + <item translatable="yes" context="conditionalentrymobile|typeis">less than</item> + <item translatable="yes" context="conditionalentrymobile|typeis">greater than</item> + <item translatable="yes" context="conditionalentrymobile|typeis">less than or equal to</item> + <item translatable="yes" context="conditionalentrymobile|typeis">greater than or equal to</item> + <item translatable="yes" context="conditionalentrymobile|typeis">not equal to</item> + <item translatable="yes" context="conditionalentrymobile|typeis">between</item> + <item translatable="yes" context="conditionalentrymobile|typeis">not between</item> + <item translatable="yes" context="conditionalentrymobile|typeis">duplicate</item> + <item translatable="yes" context="conditionalentrymobile|typeis">not duplicate</item> + <item translatable="yes" context="conditionalentrymobile|typeis">top 10 elements</item> + <item translatable="yes" context="conditionalentrymobile|typeis">bottom 10 elements</item> + <item translatable="yes" context="conditionalentrymobile|typeis">top 10 percent</item> + <item translatable="yes" context="conditionalentrymobile|typeis">bottom 10 percent</item> + <item translatable="yes" context="conditionalentrymobile|typeis">above average</item> + <item translatable="yes" context="conditionalentrymobile|typeis">below average</item> + <item translatable="yes" context="conditionalentrymobile|typeis">above or equal average</item> + <item translatable="yes" context="conditionalentrymobile|typeis">below or equal average</item> + <item translatable="yes" context="conditionalentrymobile|typeis">Error</item> + <item translatable="yes" context="conditionalentrymobile|typeis">No Error</item> + <item translatable="yes" context="conditionalentrymobile|typeis">Begins with</item> + <item translatable="yes" context="conditionalentrymobile|typeis">Ends with</item> + <item translatable="yes" context="conditionalentrymobile|typeis">Contains</item> + <item translatable="yes" context="conditionalentrymobile|typeis">Not Contains</item> + </items> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="datetype"> + <property name="can_focus">False</property> + <items> + <item translatable="yes" context="conditionalentrymobile|datetype">Today</item> + <item translatable="yes" context="conditionalentrymobile|datetype">Yesterday</item> + <item translatable="yes" context="conditionalentrymobile|datetype">Tomorrow</item> + <item translatable="yes" context="conditionalentrymobile|datetype">Last 7 days</item> + <item translatable="yes" context="conditionalentrymobile|datetype">This week</item> + <item translatable="yes" context="conditionalentrymobile|datetype">Last week</item> + <item translatable="yes" context="conditionalentrymobile|datetype">Next week</item> + <item translatable="yes" context="conditionalentrymobile|datetype">This month</item> + <item translatable="yes" context="conditionalentrymobile|datetype">Last month</item> + <item translatable="yes" context="conditionalentrymobile|datetype">Next month</item> + <item translatable="yes" context="conditionalentrymobile|datetype">This year</item> + <item translatable="yes" context="conditionalentrymobile|datetype">Last year</item> + <item translatable="yes" context="conditionalentrymobile|datetype">Next year</item> + </items> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="colorformat"> + <property name="can_focus">False</property> + <items> + <item translatable="yes" context="conditionalentrymobile|colorformat">Color Scale (2 Entries)</item> + <item translatable="yes" context="conditionalentrymobile|colorformat">Color Scale (3 Entries)</item> + <item translatable="yes" context="conditionalentrymobile|colorformat">Data Bar</item> + <item translatable="yes" context="conditionalentrymobile|colorformat">Icon Set</item> + </items> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="foruilo-RefEdit" id="formula"> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="column_spacing">12</property> + <property name="column_homogeneous">True</property> + <child> + <object class="foruilo-RefEdit" id="val1"> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="foruilo-RefEdit" id="val2"> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="iconsettype"> + <property name="can_focus">False</property> + <items> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Arrows</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Gray Arrows</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Flags</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Traffic Lights 1</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Traffic Lights 2</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Signs</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Symbols 1</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Symbols 2</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Smileys</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Stars</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Triangles</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">3 Colored Smileys</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">4 Arrows</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">4 Gray Arrows</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">4 Circles Red to Black</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">4 Ratings</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">4 Traffic Lights</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">5 Arrows</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">5 Gray Arrows</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">5 Ratings</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">5 Quarters</item> + <item translatable="yes" context="conditionalentrymobile|iconsettype">5 Boxes</item> + </items> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="styleft"> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes" context="conditionalentrymobile|styleft">Apply Style:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">style</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">5</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="column_homogeneous">True</property> + <child> + <object class="GtkComboBoxText" id="colscalemax"> + <property name="can_focus">False</property> + <items> + <item translatable="yes" context="conditionalentrymobile|colscalemax">Automatic</item> + <item translatable="yes" context="conditionalentrymobile|colscalemax">Min</item> + <item translatable="yes" context="conditionalentrymobile|colscalemax">Max</item> + <item translatable="yes" context="conditionalentrymobile|colscalemax">Percentile</item> + <item translatable="yes" context="conditionalentrymobile|colscalemax">Value</item> + <item translatable="yes" context="conditionalentrymobile|colscalemax">Percent</item> + <item translatable="yes" context="conditionalentrymobile|colscalemax">Formula</item> + </items> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="edcolscalemax"> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="svxcorelo-SvxColorListBox" id="lbcolmax"> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">11</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="column_homogeneous">True</property> + <child> + <object class="GtkComboBoxText" id="colscalemiddle"> + <property name="can_focus">False</property> + <items> + <item translatable="yes" context="conditionalentrymobile|colscalemiddle">Automatic</item> + <item translatable="yes" context="conditionalentrymobile|colscalemiddle">Min</item> + <item translatable="yes" context="conditionalentrymobile|colscalemiddle">Max</item> + <item translatable="yes" context="conditionalentrymobile|colscalemiddle">Percentile</item> + <item translatable="yes" context="conditionalentrymobile|colscalemiddle">Value</item> + <item translatable="yes" context="conditionalentrymobile|colscalemiddle">Percent</item> + <item translatable="yes" context="conditionalentrymobile|colscalemiddle">Formula</item> + </items> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="height">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="edcolscalemiddle"> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="svxcorelo-SvxColorListBox" id="lbcolmiddle"> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">10</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="valueft"> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="conditionalentrymobile|valueft">Enter a value:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">8</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="column_homogeneous">True</property> + <child> + <object class="GtkComboBoxText" id="colscalemin"> + <property name="can_focus">False</property> + <items> + <item translatable="yes" context="conditionalentrymobile|colscalemin">Automatic</item> + <item translatable="yes" context="conditionalentrymobile|colscalemin">Min</item> + <item translatable="yes" context="conditionalentrymobile|colscalemin">Max</item> + <item translatable="yes" context="conditionalentrymobile|colscalemin">Percentile</item> + <item translatable="yes" context="conditionalentrymobile|colscalemin">Value</item> + <item translatable="yes" context="conditionalentrymobile|colscalemin">Percent</item> + <item translatable="yes" context="conditionalentrymobile|colscalemin">Formula</item> + </items> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="edcolscalemin"> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="svxcorelo-SvxColorListBox" id="lbcolmin"> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">9</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="iconparent"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">12</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + </object> +</interface> diff --git a/sc/uiconfig/scalc/ui/conditionalformatdialogmobile.ui b/sc/uiconfig/scalc/ui/conditionalformatdialogmobile.ui new file mode 100644 index 000000000000..ec4c49ca3a4e --- /dev/null +++ b/sc/uiconfig/scalc/ui/conditionalformatdialogmobile.ui @@ -0,0 +1,300 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.22.1 --> +<interface domain="sc"> + <requires lib="gtk+" version="3.0"/> + <requires lib="LibreOffice" version="1.0"/> + <object class="GtkDialog" id="ConditionalFormatDialog"> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="border_width">6</property> + <property name="title" translatable="yes" context="conditionalformatdialogmobile|ConditionalFormatDialog">Conditional Formatting for</property> + <property name="resizable">False</property> + <property name="type_hint">dialog</property> + <child> + <placeholder/> + </child> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox1"> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="vexpand">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="can_default">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="can_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">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> + <property name="secondary">True</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="GtkFrame" id="framecondition"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</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="vexpand">True</property> + <property name="top_padding">6</property> + <property name="bottom_padding">6</property> + <property name="left_padding">12</property> + <property name="right_padding">12</property> + <child> + <object class="GtkBox" id="box1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="sclo-ScCondFormatList" id="list:border"> + <property name="width_request">1</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_bottom">10</property> + <property name="hexpand">False</property> + <property name="vexpand">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButtonBox" id="buttonbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="spacing">3</property> + <property name="layout_style">start</property> + <child> + <object class="GtkButton" id="add"> + <property name="label">gtk-add</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">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="delete"> + <property name="label">gtk-delete</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="up"> + <property name="label">gtk-go-up</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> + <child> + <object class="GtkButton" id="down"> + <property name="label">gtk-go-down</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">3</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">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" context="conditionalformatdialogmobile|label1">Conditions</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="framerange"> + <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="bottom_padding">6</property> + <property name="left_padding">12</property> + <property name="right_padding">12</property> + <child> + <object class="GtkBox" id="box2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">12</property> + <child> + <object class="GtkLabel" id="ftassign"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="valign">center</property> + <property name="label" translatable="yes" context="conditionalformatdialogmobile|ftassign">Range:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">edassign</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="foruilo-RefEdit" id="edassign"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="valign">center</property> + <property name="hexpand">True</property> + <property name="invisible_char">●</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="foruilo-RefButton" id="rbassign"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="valign">center</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</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" context="conditionalformatdialogmobile|label2">Cell Range</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">3</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/solenv/sanitizers/ui/modules/scalc.suppr b/solenv/sanitizers/ui/modules/scalc.suppr index 3ce7f2635669..9bdb93a34d58 100644 --- a/solenv/sanitizers/ui/modules/scalc.suppr +++ b/solenv/sanitizers/ui/modules/scalc.suppr @@ -23,6 +23,26 @@ sc/uiconfig/scalc/ui/conditionalentry.ui://foruilo-RefEdit[@id='val1'] no-labell sc/uiconfig/scalc/ui/conditionalentry.ui://foruilo-RefEdit[@id='val2'] no-labelled-by sc/uiconfig/scalc/ui/conditionalentry.ui://GtkComboBoxText[@id='iconsettype'] no-labelled-by sc/uiconfig/scalc/ui/conditionalentry.ui://foruilo-RefEdit[@id='formula'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkLabel[@id='number'] orphan-label +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkLabel[@id='condition'] orphan-label +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkComboBoxText[@id='type'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkLabel[@id='valueft'] orphan-label +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkEntry[@id='edcolscalemin'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkEntry[@id='edcolscalemiddle'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkEntry[@id='edcolscalemax'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://svxcorelo-SvxColorListBox[@id='lbcolmin'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://svxcorelo-SvxColorListBox[@id='lbcolmiddle'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://svxcorelo-SvxColorListBox[@id='lbcolmax'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkComboBoxText[@id='colscalemin'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkComboBoxText[@id='colscalemiddle'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkComboBoxText[@id='colscalemax'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkComboBoxText[@id='typeis'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkComboBoxText[@id='datetype'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkComboBoxText[@id='colorformat'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://foruilo-RefEdit[@id='val1'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://foruilo-RefEdit[@id='val2'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://GtkComboBoxText[@id='iconsettype'] no-labelled-by +sc/uiconfig/scalc/ui/conditionalentrymobile.ui://foruilo-RefEdit[@id='formula'] no-labelled-by sc/uiconfig/scalc/ui/conditionaliconset.ui://GtkLabel[@id='label'] orphan-label sc/uiconfig/scalc/ui/conditionaliconset.ui://GtkEntry[@id='entry'] no-labelled-by sc/uiconfig/scalc/ui/conditionaliconset.ui://GtkComboBoxText[@id='listbox'] no-labelled-by commit 3da2462be2eabb8a030cff297345fdbbd494ee5b Author: Muhammet Kara <muhammet.k...@collabora.com> AuthorDate: Mon Jul 29 20:27:24 2019 +0300 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Tue Sep 3 21:42:32 2019 +0200 lok: Add isMobile() method [ Miklos: this allows core to e.g. serve tunelled dialogs with more or less compact layouts, depending on if the client is mobile or not. ] (cherry picked from commit 4e144c1ab2ae7ef0a7928f7d4685aabe8e6b9c18) Change-Id: I3559bee84e6ef6f757809617e303aa090698ce5d Reviewed-on: https://gerrit.libreoffice.org/78306 Reviewed-by: Andras Timar <andras.ti...@collabora.com> Tested-by: Andras Timar <andras.ti...@collabora.com> diff --git a/comphelper/source/misc/lok.cxx b/comphelper/source/misc/lok.cxx index 4e8f7af1f672..a5d9689137d0 100644 --- a/comphelper/source/misc/lok.cxx +++ b/comphelper/source/misc/lok.cxx @@ -22,6 +22,8 @@ namespace LibreOfficeKit static bool g_bActive(false); +static bool g_bMobile(false); + static bool g_bPartInInvalidation(false); static bool g_bTiledPainting(false); @@ -53,6 +55,16 @@ bool isActive() return g_bActive; } +void setMobile(bool bIsMobile) +{ + g_bMobile = bIsMobile; +} + +bool isMobile() +{ + return g_bMobile; +} + void setPartInInvalidation(bool bPartInInvalidation) { g_bPartInInvalidation = bPartInInvalidation; diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index e0e8aca13776..81bb6af9f9a0 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -3195,6 +3195,18 @@ static void doc_postUnoCommand(LibreOfficeKitDocument* pThis, const char* pComma if (nView < 0) return; + // Set/unset mobile view for LOK + if (gImpl && aCommand == ".uno:LOKSetMobile") + { + comphelper::LibreOfficeKit::setMobile(); + return; + } + else if (gImpl && aCommand == ".uno:LOKUnSetMobile") + { + comphelper::LibreOfficeKit::setMobile(false); + return; + } + // handle potential interaction if (gImpl && aCommand == ".uno:Save") { diff --git a/include/comphelper/lok.hxx b/include/comphelper/lok.hxx index 34b4259e60dc..4d5748c8f78f 100644 --- a/include/comphelper/lok.hxx +++ b/include/comphelper/lok.hxx @@ -29,6 +29,9 @@ namespace LibreOfficeKit COMPHELPER_DLLPUBLIC void setActive(bool bActive = true); +// Set LOK view to mobile +COMPHELPER_DLLPUBLIC void setMobile(bool bIsMobile = true); + enum class statusIndicatorCallbackType { Start, SetValue, Finish }; COMPHELPER_DLLPUBLIC void setStatusIndicatorCallback(void (*callback)(void *data, statusIndicatorCallbackType type, int percent), void *data); @@ -39,6 +42,9 @@ COMPHELPER_DLLPUBLIC void setStatusIndicatorCallback(void (*callback)(void *data // Check whether the code is running as invoked through LibreOfficeKit. COMPHELPER_DLLPUBLIC bool isActive(); +// Check whether we are serving to a mobile view/device +COMPHELPER_DLLPUBLIC bool isMobile(); + /// Shift the coordinates before rendering each bitmap. /// Used by Calc to render each tile separately. /// This should be unnecessary (and removed) once Calc _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits