Kaydet (Commit) 994b41a6 authored tarafından Tomaž Vajngerl's avatar Tomaž Vajngerl Kaydeden (comit) Tomaž Vajngerl

tdf#124155 change "gradient tab page" - increment & angle slider

Remove slider for increments as the increments should better be
left to "auto" and rarely modified (setting a value means it will
use a limitied amount of increments, but auto effectively means
as much as it is needed and can use the native backend for
drawing).

OTOH use a slider for setting the "angle" as it is already present
in hatch tab page. Angle needs a slider as it is usually one of
the main properties of a gradient (especially linear).

Increase the tab pages a bit (10px on every side) to have a bit of
breating space for all the widgets.

Change-Id: I66167fe2c97b53bc3627237279332bdd59fb03d7
Reviewed-on: https://gerrit.libreoffice.org/70175
Tested-by: Jenkins
Reviewed-by: 's avatarTomaž Vajngerl <quikee@gmail.com>
üst b81ea329
...@@ -378,6 +378,7 @@ private: ...@@ -378,6 +378,7 @@ private:
std::unique_ptr<weld::MetricSpinButton> m_xMtrCenterY; std::unique_ptr<weld::MetricSpinButton> m_xMtrCenterY;
std::unique_ptr<weld::Label> m_xFtAngle; std::unique_ptr<weld::Label> m_xFtAngle;
std::unique_ptr<weld::MetricSpinButton> m_xMtrAngle; std::unique_ptr<weld::MetricSpinButton> m_xMtrAngle;
std::unique_ptr<weld::Scale> m_xSliderAngle;
std::unique_ptr<weld::MetricSpinButton> m_xMtrBorder; std::unique_ptr<weld::MetricSpinButton> m_xMtrBorder;
std::unique_ptr<weld::Scale> m_xSliderBorder; std::unique_ptr<weld::Scale> m_xSliderBorder;
std::unique_ptr<ColorListBox> m_xLbColorFrom; std::unique_ptr<ColorListBox> m_xLbColorFrom;
...@@ -387,7 +388,6 @@ private: ...@@ -387,7 +388,6 @@ private:
std::unique_ptr<SvxPresetListBox> m_xGradientLB; std::unique_ptr<SvxPresetListBox> m_xGradientLB;
std::unique_ptr<weld::SpinButton> m_xMtrIncrement; std::unique_ptr<weld::SpinButton> m_xMtrIncrement;
std::unique_ptr<weld::CheckButton> m_xCbIncrement; std::unique_ptr<weld::CheckButton> m_xCbIncrement;
std::unique_ptr<weld::Scale> m_xSliderIncrement;
std::unique_ptr<weld::Button> m_xBtnAdd; std::unique_ptr<weld::Button> m_xBtnAdd;
std::unique_ptr<weld::Button> m_xBtnModify; std::unique_ptr<weld::Button> m_xBtnModify;
std::unique_ptr<weld::CustomWeld> m_xCtlPreview; std::unique_ptr<weld::CustomWeld> m_xCtlPreview;
......
...@@ -158,6 +158,8 @@ void SvxAreaTabPage::SetOptimalSize(weld::DialogController* pController) ...@@ -158,6 +158,8 @@ void SvxAreaTabPage::SetOptimalSize(weld::DialogController* pController)
} }
m_pFillTabPage.disposeAndClear(); m_pFillTabPage.disposeAndClear();
aSize.extendBy(10, 10); // apply a bit of margin
m_xFillTab->set_size_request(aSize.Width(), aSize.Height()); m_xFillTab->set_size_request(aSize.Width(), aSize.Height());
} }
......
...@@ -60,6 +60,7 @@ SvxGradientTabPage::SvxGradientTabPage(TabPageParent pParent, const SfxItemSet& ...@@ -60,6 +60,7 @@ SvxGradientTabPage::SvxGradientTabPage(TabPageParent pParent, const SfxItemSet&
, m_xMtrCenterY(m_xBuilder->weld_metric_spin_button("centerymtr", FieldUnit::PERCENT)) , m_xMtrCenterY(m_xBuilder->weld_metric_spin_button("centerymtr", FieldUnit::PERCENT))
, m_xFtAngle(m_xBuilder->weld_label("angleft")) , m_xFtAngle(m_xBuilder->weld_label("angleft"))
, m_xMtrAngle(m_xBuilder->weld_metric_spin_button("anglemtr", FieldUnit::DEGREE)) , m_xMtrAngle(m_xBuilder->weld_metric_spin_button("anglemtr", FieldUnit::DEGREE))
, m_xSliderAngle(m_xBuilder->weld_scale("angleslider"))
, m_xMtrBorder(m_xBuilder->weld_metric_spin_button("bordermtr", FieldUnit::PERCENT)) , m_xMtrBorder(m_xBuilder->weld_metric_spin_button("bordermtr", FieldUnit::PERCENT))
, m_xSliderBorder(m_xBuilder->weld_scale("borderslider")) , m_xSliderBorder(m_xBuilder->weld_scale("borderslider"))
, m_xLbColorFrom(new ColorListBox(m_xBuilder->weld_menu_button("colorfromlb"), pParent.GetFrameWeld())) , m_xLbColorFrom(new ColorListBox(m_xBuilder->weld_menu_button("colorfromlb"), pParent.GetFrameWeld()))
...@@ -69,7 +70,6 @@ SvxGradientTabPage::SvxGradientTabPage(TabPageParent pParent, const SfxItemSet& ...@@ -69,7 +70,6 @@ SvxGradientTabPage::SvxGradientTabPage(TabPageParent pParent, const SfxItemSet&
, m_xGradientLB(new SvxPresetListBox(m_xBuilder->weld_scrolled_window("gradientpresetlistwin"))) , m_xGradientLB(new SvxPresetListBox(m_xBuilder->weld_scrolled_window("gradientpresetlistwin")))
, m_xMtrIncrement(m_xBuilder->weld_spin_button("incrementmtr")) , m_xMtrIncrement(m_xBuilder->weld_spin_button("incrementmtr"))
, m_xCbIncrement(m_xBuilder->weld_check_button("autoincrement")) , m_xCbIncrement(m_xBuilder->weld_check_button("autoincrement"))
, m_xSliderIncrement(m_xBuilder->weld_scale("incrementslider"))
, m_xBtnAdd(m_xBuilder->weld_button("add")) , m_xBtnAdd(m_xBuilder->weld_button("add"))
, m_xBtnModify(m_xBuilder->weld_button("modify")) , m_xBtnModify(m_xBuilder->weld_button("modify"))
, m_xCtlPreview(new weld::CustomWeld(*m_xBuilder, "previewctl", m_aCtlPreview)) , m_xCtlPreview(new weld::CustomWeld(*m_xBuilder, "previewctl", m_aCtlPreview))
...@@ -103,10 +103,10 @@ SvxGradientTabPage::SvxGradientTabPage(TabPageParent pParent, const SfxItemSet& ...@@ -103,10 +103,10 @@ SvxGradientTabPage::SvxGradientTabPage(TabPageParent pParent, const SfxItemSet&
m_xLbGradientType->connect_changed( aLink2 ); m_xLbGradientType->connect_changed( aLink2 );
m_xCbIncrement->connect_toggled(LINK(this, SvxGradientTabPage, ChangeAutoStepHdl_Impl)); m_xCbIncrement->connect_toggled(LINK(this, SvxGradientTabPage, ChangeAutoStepHdl_Impl));
m_xMtrIncrement->connect_value_changed(LINK(this, SvxGradientTabPage, ModifiedEditHdl_Impl)); m_xMtrIncrement->connect_value_changed(LINK(this, SvxGradientTabPage, ModifiedEditHdl_Impl));
m_xSliderIncrement->connect_value_changed(LINK(this, SvxGradientTabPage, ModifiedSliderHdl_Impl));
m_xMtrCenterX->connect_value_changed( aLink ); m_xMtrCenterX->connect_value_changed( aLink );
m_xMtrCenterY->connect_value_changed( aLink ); m_xMtrCenterY->connect_value_changed( aLink );
m_xMtrAngle->connect_value_changed( aLink ); m_xMtrAngle->connect_value_changed( aLink );
m_xSliderAngle->connect_value_changed(LINK(this, SvxGradientTabPage, ModifiedSliderHdl_Impl));
m_xMtrBorder->connect_value_changed( aLink ); m_xMtrBorder->connect_value_changed( aLink );
m_xSliderBorder->connect_value_changed(LINK(this, SvxGradientTabPage, ModifiedSliderHdl_Impl)); m_xSliderBorder->connect_value_changed(LINK(this, SvxGradientTabPage, ModifiedSliderHdl_Impl));
m_xMtrColorFrom->connect_value_changed( aLink ); m_xMtrColorFrom->connect_value_changed( aLink );
...@@ -231,7 +231,6 @@ bool SvxGradientTabPage::FillItemSet( SfxItemSet* rSet ) ...@@ -231,7 +231,6 @@ bool SvxGradientTabPage::FillItemSet( SfxItemSet* rSet )
void SvxGradientTabPage::Reset( const SfxItemSet* ) void SvxGradientTabPage::Reset( const SfxItemSet* )
{ {
m_xMtrIncrement->set_value(DEFAULT_GRADIENTSTEP); m_xMtrIncrement->set_value(DEFAULT_GRADIENTSTEP);
m_xSliderIncrement->set_value(DEFAULT_GRADIENTSTEP);
ChangeGradientHdl_Impl(); ChangeGradientHdl_Impl();
// determine state of the buttons // determine state of the buttons
...@@ -282,12 +281,10 @@ IMPL_LINK_NOARG( SvxGradientTabPage, ChangeAutoStepHdl_Impl, weld::ToggleButton& ...@@ -282,12 +281,10 @@ IMPL_LINK_NOARG( SvxGradientTabPage, ChangeAutoStepHdl_Impl, weld::ToggleButton&
{ {
if (m_xCbIncrement->get_active()) if (m_xCbIncrement->get_active())
{ {
m_xSliderIncrement->set_sensitive(false);
m_xMtrIncrement->set_sensitive(false); m_xMtrIncrement->set_sensitive(false);
} }
else else
{ {
m_xSliderIncrement->set_sensitive(true);
m_xMtrIncrement->set_sensitive(true); m_xMtrIncrement->set_sensitive(true);
} }
ModifiedHdl_Impl(m_xMtrIncrement.get()); ModifiedHdl_Impl(m_xMtrIncrement.get());
...@@ -299,10 +296,10 @@ void SvxGradientTabPage::ModifiedHdl_Impl( void const * pControl ) ...@@ -299,10 +296,10 @@ void SvxGradientTabPage::ModifiedHdl_Impl( void const * pControl )
m_xSliderBorder->set_value(m_xMtrBorder->get_value(FieldUnit::NONE)); m_xSliderBorder->set_value(m_xMtrBorder->get_value(FieldUnit::NONE));
if (pControl == m_xSliderBorder.get()) if (pControl == m_xSliderBorder.get())
m_xMtrBorder->set_value(m_xSliderBorder->get_value(), FieldUnit::NONE); m_xMtrBorder->set_value(m_xSliderBorder->get_value(), FieldUnit::NONE);
if (pControl == m_xMtrIncrement.get()) if (pControl == m_xMtrAngle.get())
m_xSliderIncrement->set_value(m_xMtrIncrement->get_value()); m_xSliderAngle->set_value(m_xMtrAngle->get_value(FieldUnit::NONE));
if (pControl == m_xSliderIncrement.get()) if (pControl == m_xSliderAngle.get())
m_xMtrIncrement->set_value(m_xSliderIncrement->get_value()); m_xMtrAngle->set_value(m_xSliderAngle->get_value(), FieldUnit::NONE);
css::awt::GradientStyle eXGS = static_cast<css::awt::GradientStyle>(m_xLbGradientType->get_active()); css::awt::GradientStyle eXGS = static_cast<css::awt::GradientStyle>(m_xLbGradientType->get_active());
...@@ -543,15 +540,12 @@ void SvxGradientTabPage::ChangeGradientHdl_Impl() ...@@ -543,15 +540,12 @@ void SvxGradientTabPage::ChangeGradientHdl_Impl()
{ {
m_xCbIncrement->set_state(TRISTATE_TRUE); m_xCbIncrement->set_state(TRISTATE_TRUE);
m_xMtrIncrement->set_sensitive(false); m_xMtrIncrement->set_sensitive(false);
m_xSliderIncrement->set_sensitive(false);
} }
else else
{ {
m_xCbIncrement->set_state(TRISTATE_FALSE); m_xCbIncrement->set_state(TRISTATE_FALSE);
m_xMtrIncrement->set_sensitive(true); m_xMtrIncrement->set_sensitive(true);
m_xMtrIncrement->set_value( nValue ); m_xMtrIncrement->set_value( nValue );
m_xSliderIncrement->set_sensitive(true);
m_xSliderIncrement->set_value(nValue);
} }
m_xLbGradientType->set_active( m_xLbGradientType->set_active(
sal::static_int_cast< sal_Int32 >( eXGS ) ); sal::static_int_cast< sal_Int32 >( eXGS ) );
...@@ -564,6 +558,7 @@ void SvxGradientTabPage::ChangeGradientHdl_Impl() ...@@ -564,6 +558,7 @@ void SvxGradientTabPage::ChangeGradientHdl_Impl()
m_xLbColorTo->SelectEntry( pGradient->GetEndColor() ); m_xLbColorTo->SelectEntry( pGradient->GetEndColor() );
m_xMtrAngle->set_value(pGradient->GetAngle() / 10, FieldUnit::NONE); // should be changed in resource m_xMtrAngle->set_value(pGradient->GetAngle() / 10, FieldUnit::NONE); // should be changed in resource
m_xSliderAngle->set_value(pGradient->GetAngle() / 10);
m_xMtrBorder->set_value(pGradient->GetBorder(), FieldUnit::NONE); m_xMtrBorder->set_value(pGradient->GetBorder(), FieldUnit::NONE);
m_xSliderBorder->set_value(pGradient->GetBorder()); m_xSliderBorder->set_value(pGradient->GetBorder());
m_xMtrCenterX->set_value(pGradient->GetXOffset(), FieldUnit::NONE); m_xMtrCenterX->set_value(pGradient->GetXOffset(), FieldUnit::NONE);
......
This diff is collapsed.
...@@ -197,6 +197,12 @@ public: ...@@ -197,6 +197,12 @@ public:
void setWidth(long nWidth) { nA = nWidth; } void setWidth(long nWidth) { nA = nWidth; }
void setHeight(long nHeight) { nB = nHeight; } void setHeight(long nHeight) { nB = nHeight; }
void extendBy(long x, long y)
{
nA += x;
nB += y;
}
Pair const & toPair() const { return *this; } Pair const & toPair() const { return *this; }
Pair & toPair() { return *this; } Pair & toPair() { return *this; }
......
...@@ -202,6 +202,7 @@ cui/uiconfig/ui/fmsearchdialog.ui://GtkLabel[@id='ftRecord'] orphan-label ...@@ -202,6 +202,7 @@ cui/uiconfig/ui/fmsearchdialog.ui://GtkLabel[@id='ftRecord'] orphan-label
cui/uiconfig/ui/fmsearchdialog.ui://GtkLabel[@id='ftHint'] orphan-label cui/uiconfig/ui/fmsearchdialog.ui://GtkLabel[@id='ftHint'] orphan-label
cui/uiconfig/ui/gradientpage.ui://GtkScale[@id='incrementslider'] no-labelled-by cui/uiconfig/ui/gradientpage.ui://GtkScale[@id='incrementslider'] no-labelled-by
cui/uiconfig/ui/gradientpage.ui://GtkLabel[@id='centerft'] orphan-label cui/uiconfig/ui/gradientpage.ui://GtkLabel[@id='centerft'] orphan-label
cui/uiconfig/ui/gradientpage.ui://GtkScale[@id='angleslider'] no-labelled-by
cui/uiconfig/ui/gradientpage.ui://GtkScale[@id='borderslider'] no-labelled-by cui/uiconfig/ui/gradientpage.ui://GtkScale[@id='borderslider'] no-labelled-by
cui/uiconfig/ui/effectspage.ui://GtkLabel[@id='label1'] orphan-label cui/uiconfig/ui/effectspage.ui://GtkLabel[@id='label1'] orphan-label
cui/uiconfig/ui/effectspage.ui://GtkLabel[@id='label2'] orphan-label cui/uiconfig/ui/effectspage.ui://GtkLabel[@id='label2'] orphan-label
......
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