Kaydet (Commit) d5a64f11 authored tarafından pv2k's avatar pv2k Kaydeden (comit) Katarina Behrens

tdf#109100 margin spinboxes in draw's sidebar changed to listbox

Change-Id: Ia59f0fb64f10beab70f449d01b8a25113bea475d
Reviewed-on: https://gerrit.libreoffice.org/41741Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarKatarina Behrens <Katarina.Behrens@cib.de>
üst 49919450
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <cmath>
#define SDPAGE_NO_MARGIN 0
#define SDPAGE_NARROW_VALUE 635
#define SDPAGE_MODERATE_LR 955
#define SDPAGE_NORMAL_VALUE 1000
#define SDPAGE_WIDE_VALUE1 1270
#define SDPAGE_WIDE_VALUE2 2540
#define SDPAGE_WIDE_VALUE3 1590
#define SDPAGE_UNIT_THRESHOLD 5
namespace sd { namespace sidebar{
bool IsNone( const long nPageLeftMargin, const long nPageRightMargin,
const long nPageTopMargin, const long nPageBottomMargin )
{
return( std::abs(nPageLeftMargin - SDPAGE_NO_MARGIN) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageRightMargin - SDPAGE_NO_MARGIN ) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageTopMargin - SDPAGE_NO_MARGIN) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageBottomMargin - SDPAGE_NO_MARGIN) <= SDPAGE_UNIT_THRESHOLD );
}
void SetNone( long& nPageLeftMargin, long& nPageRightMargin,
long& nPageTopMargin, long& nPageBottomMargin )
{
nPageLeftMargin = SDPAGE_NO_MARGIN;
nPageRightMargin = SDPAGE_NO_MARGIN;
nPageTopMargin = SDPAGE_NO_MARGIN;
nPageBottomMargin = SDPAGE_NO_MARGIN;
}
bool IsNarrow( const long nPageLeftMargin, const long nPageRightMargin,
const long nPageTopMargin, const long nPageBottomMargin )
{
return( std::abs(nPageLeftMargin - SDPAGE_NARROW_VALUE) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageRightMargin - SDPAGE_NARROW_VALUE) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageTopMargin - SDPAGE_NARROW_VALUE) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageBottomMargin - SDPAGE_NARROW_VALUE) <= SDPAGE_UNIT_THRESHOLD );
}
void SetNarrow( long& nPageLeftMargin, long& nPageRightMargin,
long& nPageTopMargin, long& nPageBottomMargin )
{
nPageLeftMargin = SDPAGE_NARROW_VALUE;
nPageRightMargin = SDPAGE_NARROW_VALUE;
nPageTopMargin = SDPAGE_NARROW_VALUE;
nPageBottomMargin = SDPAGE_NARROW_VALUE;
}
bool IsModerate( const long nPageLeftMargin, const long nPageRightMargin,
const long nPageTopMargin, const long nPageBottomMargin )
{
return( std::abs(nPageLeftMargin - SDPAGE_MODERATE_LR) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageRightMargin - SDPAGE_MODERATE_LR) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageTopMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageBottomMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD );
}
void SetModerate( long& nPageLeftMargin, long& nPageRightMargin,
long& nPageTopMargin, long& nPageBottomMargin )
{
nPageLeftMargin = SDPAGE_MODERATE_LR;
nPageRightMargin = SDPAGE_MODERATE_LR;
nPageTopMargin = SDPAGE_WIDE_VALUE1;
nPageBottomMargin = SDPAGE_WIDE_VALUE1;
}
bool IsNormal075( const long nPageLeftMargin, const long nPageRightMargin,
const long nPageTopMargin, const long nPageBottomMargin )
{
return( std::abs(nPageLeftMargin - SDPAGE_NORMAL_VALUE) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageRightMargin - SDPAGE_NORMAL_VALUE) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageTopMargin - SDPAGE_NORMAL_VALUE) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageBottomMargin - SDPAGE_NORMAL_VALUE) <= SDPAGE_UNIT_THRESHOLD );
}
void SetNormal075( long& nPageLeftMargin, long& nPageRightMargin,
long& nPageTopMargin, long& nPageBottomMargin )
{
nPageLeftMargin = SDPAGE_NORMAL_VALUE;
nPageRightMargin = SDPAGE_NORMAL_VALUE;
nPageTopMargin = SDPAGE_NORMAL_VALUE;
nPageBottomMargin = SDPAGE_NORMAL_VALUE;
}
bool IsNormal100( const long nPageLeftMargin, const long nPageRightMargin,
const long nPageTopMargin, const long nPageBottomMargin )
{
return( std::abs(nPageLeftMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageRightMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageTopMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageBottomMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD );
}
void SetNormal100( long& nPageLeftMargin, long& nPageRightMargin,
long& nPageTopMargin, long& nPageBottomMargin )
{
nPageLeftMargin = SDPAGE_WIDE_VALUE1;
nPageRightMargin = SDPAGE_WIDE_VALUE1;
nPageTopMargin = SDPAGE_WIDE_VALUE1;
nPageBottomMargin = SDPAGE_WIDE_VALUE1;
}
bool IsNormal125( const long nPageLeftMargin, const long nPageRightMargin,
const long nPageTopMargin, const long nPageBottomMargin )
{
return( std::abs(nPageLeftMargin - SDPAGE_WIDE_VALUE3) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageRightMargin - SDPAGE_WIDE_VALUE3) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageTopMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageBottomMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD );
}
void SetNormal125( long& nPageLeftMargin, long& nPageRightMargin,
long& nPageTopMargin, long& nPageBottomMargin )
{
nPageLeftMargin = SDPAGE_WIDE_VALUE3;
nPageRightMargin = SDPAGE_WIDE_VALUE3;
nPageTopMargin = SDPAGE_WIDE_VALUE1;
nPageBottomMargin = SDPAGE_WIDE_VALUE1;
}
bool IsWide( const long nPageLeftMargin, const long nPageRightMargin,
const long nPageTopMargin, const long nPageBottomMargin )
{
return( std::abs(nPageLeftMargin - SDPAGE_WIDE_VALUE2) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageRightMargin - SDPAGE_WIDE_VALUE2) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageTopMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD &&
std::abs(nPageBottomMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD );
}
void SetWide( long& nPageLeftMargin, long& nPageRightMargin,
long& nPageTopMargin, long& nPageBottomMargin )
{
nPageLeftMargin = SDPAGE_WIDE_VALUE2;
nPageRightMargin = SDPAGE_WIDE_VALUE2;
nPageTopMargin = SDPAGE_WIDE_VALUE1;
nPageBottomMargin = SDPAGE_WIDE_VALUE1;
}
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -95,10 +95,7 @@ private:
VclPtr<Button> mpCloseMaster;
VclPtr<Button> mpEditMaster;
VclPtr<FixedText> mpMasterLabel;
VclPtr<MetricField> m_pLeftMarginEdit;
VclPtr<MetricField> m_pRightMarginEdit;
VclPtr<MetricField> m_pTopMarginEdit;
VclPtr<MetricField> m_pBottomMarginEdit;
VclPtr<ListBox> mpMarginSelectBox;
VclPtr<VclVBox> m_pContainer;
::sfx2::sidebar::ControllerItem maPaperSizeController;
......@@ -132,11 +129,14 @@ private:
vcl::EnumContext maImpressMasterContext;
vcl::EnumContext maImpressHandoutContext;
bool mbTitle;
std::unique_ptr<SvxLongLRSpaceItem> mpPageLRMarginItem;
std::unique_ptr<SvxLongULSpaceItem> mpPageULMarginItem;
FieldUnit meFieldUnit;
long m_nPageLeftMargin;
long m_nPageRightMargin;
long m_nPageTopMargin;
long m_nPageBottomMargin;
OUString maCustomEntry;
SfxBindings* mpBindings;
......@@ -152,11 +152,11 @@ private:
DECL_LINK(DspObjects, Button*, void);
DECL_LINK(CloseMasterHdl, Button*, void);
DECL_LINK(EventMultiplexerListener, tools::EventMultiplexerEvent&, void );
DECL_LINK( ModifyLRMarginHdl, Edit&, void );
DECL_LINK( ModifyULMarginHdl, Edit&, void );
DECL_LINK( ModifyMarginHdl, ListBox&, void );
void Initialize();
void Update();
void UpdateMarginBox();
void SetPanelTitle(const OUString& rTitle);
Color GetColorSetOrDefault();
......@@ -167,9 +167,10 @@ private:
bool IsImpress();
void addListener();
void removeListener();
void ExecuteMarginLRChange(const long mnPageLeftMargin, const long mnPageRightMargin);
void ExecuteMarginULChange(const long mnPageTopMargin, const long mnPageBottomMargin);
void populateMasterSlideDropdown();
void updateMasterSlideSelection();
void SetMetricFieldMaxValues(const Size& rPageSize);
};
}}
......
......@@ -99,7 +99,7 @@
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">9</property>
<property name="top_attach">10</property>
</packing>
</child>
<child>
......@@ -110,7 +110,7 @@
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">7</property>
<property name="top_attach">8</property>
</packing>
</child>
<child>
......@@ -122,7 +122,7 @@
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">7</property>
<property name="top_attach">8</property>
</packing>
</child>
<child>
......@@ -175,7 +175,7 @@
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">8</property>
<property name="top_attach">9</property>
</packing>
</child>
<child>
......@@ -237,111 +237,48 @@
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">10</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labeltop">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
<property name="label" translatable="yes" context="sidebarslidebackground|labeltop">Top: </property>
<property name="mnemonic_widget">top:0.00cm</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">13</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="top:0.00cm">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char"></property>
<property name="digits">2</property>
<property name="adjustment">adjustment1</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">13</property>
<property name="top_attach">11</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelbottom">
<object class="GtkComboBoxText" id="marginLB">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
<property name="label" translatable="yes" context="sidebarslidebackground|labelbottom">Bottom: </property>
<property name="mnemonic_widget">bottom:0.00cm</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">14</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="bottom:0.00cm">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char"></property>
<property name="digits">2</property>
<property name="adjustment">adjustment1</property>
<items>
<item translatable="yes" context="sidebarslidebackground|marginLB">None</item>
<item translatable="yes" context="sidebarslidebackground|marginLB">Narrow</item>
<item translatable="yes" context="sidebarslidebackground|marginLB">Moderate</item>
<item translatable="yes" context="sidebarslidebackground|marginLB">Normal 0.75"</item>
<item translatable="yes" context="sidebarslidebackground|marginLB">Normal 1"</item>
<item translatable="yes" context="sidebarslidebackground|marginLB">Normal 1.25"</item>
<item translatable="yes" context="sidebarslidebackground|marginLB">Wide</item>
</items>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">14</property>
<property name="top_attach">7</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelleft">
<object class="GtkLabel" id="labelmargin">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
<property name="label" translatable="yes" context="sidebarslidebackground|labelleft">Left: </property>
<property name="mnemonic_widget">left:0.00cm</property>
<property name="label" translatable="yes" context="sidebarslidebackground|labelmargin">Margin: </property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">11</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="left:0.00cm">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char"></property>
<property name="digits">2</property>
<property name="adjustment">adjustment1</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">11</property>
<property name="top_attach">7</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelright">
<property name="visible">True</property>
<object class="GtkLabel" id="customlabel">
<property name="can_focus">False</property>
<property name="halign">end</property>
<property name="label" translatable="yes" context="sidebarslidebackground|labelright">Right: </property>
<property name="mnemonic_widget">right:0.00cm</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">12</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="right:0.00cm">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char"></property>
<property name="digits">2</property>
<property name="adjustment">adjustment1</property>
<property name="label" translatable="yes" context="sidebarslidebackground|customlabel">Custom</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">12</property>
<property name="top_attach">16</property>
</packing>
</child>
<child>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment