Kaydet (Commit) b5f67308 authored tarafından Caolán McNamara's avatar Caolán McNamara

weld GraphicFilterSepia

Change-Id: Id57f29f4694a8aaa395f5f166744d06e4adfb492
Reviewed-on: https://gerrit.libreoffice.org/60708Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 6f5dd32f
......@@ -505,38 +505,24 @@ Graphic GraphicFilterSolarize::GetFilteredGraphic( const Graphic& rGraphic, doub
return aRet;
}
GraphicFilterSepia::GraphicFilterSepia( vcl::Window* pParent, const Graphic& rGraphic,
sal_uInt16 nSepiaPercent )
: GraphicFilterDialog(pParent, "AgingDialog",
"cui/ui/agingdialog.ui", rGraphic)
GraphicFilterSepia::GraphicFilterSepia(weld::Window* pParent, const Graphic& rGraphic,
sal_uInt16 nSepiaPercent)
: GraphicFilterDialogController(pParent, "cui/ui/agingdialog.ui", "AgingDialog", rGraphic)
, mxMtrSepia(m_xBuilder->weld_metric_spin_button("value", FUNIT_PERCENT))
{
get(mpMtrSepia, "value");
mpMtrSepia->SetValue( nSepiaPercent );
mpMtrSepia->SetModifyHdl( LINK(this, GraphicFilterSepia, EditModifyHdl) );
mxMtrSepia->set_value(nSepiaPercent, FUNIT_PERCENT);
mxMtrSepia->connect_value_changed(LINK(this, GraphicFilterSepia, EditModifyHdl));
}
IMPL_LINK_NOARG(GraphicFilterSepia, EditModifyHdl, Edit&, void)
IMPL_LINK_NOARG(GraphicFilterSepia, EditModifyHdl, weld::MetricSpinButton&, void)
{
GetModifyHdl().Call(nullptr);
}
GraphicFilterSepia::~GraphicFilterSepia()
{
disposeOnce();
}
void GraphicFilterSepia::dispose()
{
mpMtrSepia.clear();
GraphicFilterDialog::dispose();
}
Graphic GraphicFilterSepia::GetFilteredGraphic( const Graphic& rGraphic, double, double )
{
Graphic aRet;
sal_uInt16 nSepiaPct = sal::static_int_cast< sal_uInt16 >(mpMtrSepia->GetValue());
sal_uInt16 nSepiaPct = sal::static_int_cast< sal_uInt16 >(mxMtrSepia->get_value(FUNIT_PERCENT));
if( rGraphic.IsAnimated() )
{
......
......@@ -1292,11 +1292,10 @@ VclPtr<AbstractGraphicFilterDialog> AbstractDialogFactory_Impl::CreateGraphicFil
return VclPtr<AbstractGraphicFilterDialog_Impl>::Create( pDlg );
}
VclPtr<AbstractGraphicFilterDialog> AbstractDialogFactory_Impl::CreateGraphicFilterSepia (vcl::Window* pParent,
VclPtr<AbstractGraphicFilterDialog> AbstractDialogFactory_Impl::CreateGraphicFilterSepia(weld::Window* pParent,
const Graphic& rGraphic)
{
VclPtrInstance<GraphicFilterSepia> pDlg( pParent, rGraphic, 10 );
return VclPtr<AbstractGraphicFilterDialog_Impl>::Create( pDlg );
return VclPtr<AbstractGraphicFilterDialogController_Impl>::Create(o3tl::make_unique<GraphicFilterSepia>(pParent, rGraphic, 10));
}
VclPtr<AbstractGraphicFilterDialog> AbstractDialogFactory_Impl::CreateGraphicFilterSmooth(vcl::Window* pParent,
......
......@@ -757,7 +757,7 @@ public:
const Graphic& rGraphic) override;
virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterPoster(vcl::Window* pParent,
const Graphic& rGraphic) override;
virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterSepia (vcl::Window* pParent,
virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterSepia(weld::Window* pParent,
const Graphic& rGraphic) override;
virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterSmooth (vcl::Window* pParent,
const Graphic& rGraphic, double nRadius) override;
......
......@@ -199,16 +199,14 @@ public:
bool IsInvert() const { return mxCbxInvert->get_active(); }
};
class GraphicFilterSepia : public GraphicFilterDialog
class GraphicFilterSepia : public GraphicFilterDialogController
{
private:
VclPtr<MetricField> mpMtrSepia;
DECL_LINK(EditModifyHdl, Edit&, void);
std::unique_ptr<weld::MetricSpinButton> mxMtrSepia;
DECL_LINK(EditModifyHdl, weld::MetricSpinButton&, void);
public:
GraphicFilterSepia( vcl::Window* pParent, const Graphic& rGraphic,
sal_uInt16 nSepiaPercent );
virtual ~GraphicFilterSepia() override;
virtual void dispose() override;
GraphicFilterSepia(weld::Window* pParent, const Graphic& rGraphic,
sal_uInt16 nSepiaPercent);
virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) override;
};
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<!-- Generated with glade 3.22.1 -->
<interface domain="cui">
<requires lib="gtk+" version="3.18"/>
<requires lib="LibreOffice" version="1.0"/>
......@@ -15,7 +15,13 @@
<property name="border_width">6</property>
<property name="title" translatable="yes" context="agingdialog|AgingDialog">Aging</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="default_width">0</property>
<property name="default_height">0</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>
......@@ -102,11 +108,28 @@
<property name="vexpand">True</property>
<property name="column_spacing">24</property>
<child>
<object class="cuilo-GraphicPreviewWindow" id="preview">
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="hscrollbar_policy">never</property>
<property name="vscrollbar_policy">never</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkDrawingArea" id="preview">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left_attach">1</property>
......@@ -119,7 +142,7 @@
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<child>
<object class="GtkSpinButton" id="value:%">
<object class="GtkSpinButton" id="value">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="adjustment">adjustment1</property>
......@@ -133,10 +156,10 @@
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="agingdialog|label2">Aging degree:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">value:%</property>
<property name="mnemonic_widget">value</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
......
......@@ -416,7 +416,7 @@ public:
const Graphic& rGraphic)=0;
virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterPoster(vcl::Window* pParent,
const Graphic& rGraphic)=0;
virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterSepia (vcl::Window* pParent,
virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterSepia(weld::Window* pParent,
const Graphic& rGraphic)=0;
virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterSmooth (vcl::Window* pParent,
const Graphic& rGraphic,
......
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