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

weld CuiAboutConfigValueDialog

Change-Id: I91f5fb2bcd7eb365214278d9683d71c78ad45617
Reviewed-on: https://gerrit.libreoffice.org/68547
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 62ddc7ca
......@@ -77,13 +77,11 @@ struct UserData
{}
};
VCL_BUILDER_FACTORY_ARGS(CuiCustomMultilineEdit,WB_LEFT|WB_VCENTER|WB_BORDER|WB_3DLOOK)
void CuiCustomMultilineEdit::KeyInput( const KeyEvent& rKeyEvent )
IMPL_LINK(CuiAboutConfigValueDialog, KeyInputHdl, const KeyEvent&, rKeyEvent, bool)
{
bool bValid = false;
bool bNonSpace = rKeyEvent.GetKeyCode().GetCode() != KEY_SPACE;
if( bNumericOnly && bNonSpace )
if (m_bNumericOnly && bNonSpace )
{
const vcl::KeyCode& rKeyCode = rKeyEvent.GetKeyCode();
sal_uInt16 nGroup = rKeyCode.GetGroup();
......@@ -132,13 +130,9 @@ void CuiCustomMultilineEdit::KeyInput( const KeyEvent& rKeyEvent )
}
else
bValid = true;
if( bValid )
Edit::KeyInput( rKeyEvent );
}
Size CuiCustomMultilineEdit::GetOptimalSize() const
{
return LogicToPixel(Size(150, GetTextHeight()), MapMode(MapUnit::MapAppFont));
//if value return true to claim that it has been handled
return !bValid;
}
CuiAboutConfigTabPage::CuiAboutConfigTabPage( vcl::Window* pParent/*, const SfxItemSet& rItemSet*/ ) :
......@@ -540,27 +534,21 @@ std::vector< OUString > CuiAboutConfigTabPage::commaStringToSequence( const OUSt
return tempVector;
}
CuiAboutConfigValueDialog::CuiAboutConfigValueDialog( vcl::Window* pWindow,
const OUString& rValue,
int limit ) :
ModalDialog( pWindow, "AboutConfigValueDialog", "cui/ui/aboutconfigvaluedialog.ui" ),
m_pEDValue( get<CuiCustomMultilineEdit>("valuebox") )
CuiAboutConfigValueDialog::CuiAboutConfigValueDialog(weld::Window* pWindow,
const OUString& rValue,
int limit)
: GenericDialogController(pWindow, "cui/ui/aboutconfigvaluedialog.ui", "AboutConfigValueDialog")
, m_bNumericOnly(limit != 0)
, m_xEDValue(m_xBuilder->weld_entry("valuebox"))
{
m_pEDValue->bNumericOnly = ( limit !=0 );
m_pEDValue->SetMaxTextLen( limit == 0 ? EDIT_NOLIMIT : limit);
m_pEDValue->SetText( rValue );
if (limit)
m_xEDValue->set_max_length(limit);
m_xEDValue->set_text(rValue);
m_xEDValue->connect_key_press(LINK(this, CuiAboutConfigValueDialog, KeyInputHdl));
}
CuiAboutConfigValueDialog::~CuiAboutConfigValueDialog()
{
disposeOnce();
}
void CuiAboutConfigValueDialog::dispose()
{
m_pEDValue.clear();
ModalDialog::dispose();
}
IMPL_LINK_NOARG( CuiAboutConfigTabPage, ResetBtnHdl_Impl, Button*, void )
......@@ -636,11 +624,11 @@ IMPL_LINK_NOARG( CuiAboutConfigTabPage, StandardHdl_Impl, Button*, void )
else if( sPropertyType == "hyper" )
limit = HYPER_LEN_LIMIT;
VclPtrInstance<CuiAboutConfigValueDialog> pValueDialog(nullptr, sDialogValue, limit);
CuiAboutConfigValueDialog aValueDialog(GetFrameWeld(), sDialogValue, limit);
if( pValueDialog->Execute() == RET_OK )
if (aValueDialog.run() == RET_OK )
{
sNewValue = pValueDialog->getValue();
sNewValue = aValueDialog.getValue();
bSaveChanges = true;
if ( sPropertyType == "short")
{
......
......@@ -26,19 +26,6 @@ class CuiAboutConfigValueDialog;
struct Prop_Impl;
struct UserData;
class CuiCustomMultilineEdit : public Edit
{
public:
bool bNumericOnly;
CuiCustomMultilineEdit( vcl::Window* pParent, WinBits nStyle )
: Edit( pParent, nStyle )
, bNumericOnly(false)
{}
virtual void KeyInput( const KeyEvent& rKeyEvent ) override;
virtual Size GetOptimalSize() const override;
};
class CuiAboutConfigTabPage : public ModalDialog
{
private:
......@@ -80,19 +67,21 @@ public:
void FillItemSet();
};
class CuiAboutConfigValueDialog : public ModalDialog
class CuiAboutConfigValueDialog : public weld::GenericDialogController
{
private:
VclPtr<CuiCustomMultilineEdit> m_pEDValue;
bool m_bNumericOnly;
std::unique_ptr<weld::Entry> m_xEDValue;
DECL_LINK(KeyInputHdl, const KeyEvent&, bool);
public:
CuiAboutConfigValueDialog( vcl::Window* pWindow, const OUString& rValue , int limit);
CuiAboutConfigValueDialog(weld::Window* pWindow, const OUString& rValue , int limit);
virtual ~CuiAboutConfigValueDialog() override;
virtual void dispose() override;
OUString getValue()
{
return m_pEDValue->GetText();
return m_xEDValue->get_text();
}
};
......
<?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"/>
<object class="GtkDialog" id="AboutConfigValueDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="aboutconfigvaluedialog|AboutConfigValueDialog">Name</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>
......@@ -83,8 +87,10 @@
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="aboutconfigvaluedialog|label1">Value:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">valuebox</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
......@@ -93,11 +99,11 @@
</packing>
</child>
<child>
<object class="cuilo-CuiCustomMultilineEdit" id="valuebox">
<object class="GtkEntry" id="valuebox">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="wrap_mode">char</property>
<property name="width_chars">50</property>
</object>
<packing>
<property name="expand">False</property>
......
......@@ -166,9 +166,6 @@
<glade-widget-class title="Address MultiLine Edit" name="swuilo-AddressMultiLineEdit"
generic-name="AddressMultiLineEdit" parent="GtkTextView"
icon-name="widget-gtk-textview"/>
<glade-widget-class title="Cui Custom MultiLine Edit" name="cuilo-CuiCustomMultilineEdit"
generic-name="CuiCustomMultiLineEdit" parent="GtkTextView"
icon-name="widget-gtk-textview"/>
<glade-widget-class title="SvtValueSet" name="svtlo-ValueSet"
generic-name="Set of Value Options" parent="GtkDrawingArea"
icon-name="widget-gtk-drawingarea"/>
......
......@@ -434,7 +434,6 @@ custom_widgets = [
'ConditionEdit',
'ContentListBox',
'ContextVBox',
'CuiCustomMultilineEdit',
'CustomAnimationList',
'CustomPropertiesControl',
'DataTreeListBox',
......
......@@ -16,8 +16,6 @@ cui/uiconfig/ui/aboutconfigdialog.ui://GtkLabel[@id='property'] orphan-label
cui/uiconfig/ui/aboutconfigdialog.ui://GtkLabel[@id='type'] orphan-label
cui/uiconfig/ui/aboutconfigdialog.ui://GtkLabel[@id='value'] orphan-label
cui/uiconfig/ui/aboutconfigdialog.ui://svtlo-SvSimpleTableContainer[@id='preferences'] no-labelled-by
cui/uiconfig/ui/aboutconfigvaluedialog.ui://GtkLabel[@id='label1'] orphan-label
cui/uiconfig/ui/aboutconfigvaluedialog.ui://cuilo-CuiCustomMultilineEdit[@id='valuebox'] no-labelled-by
cui/uiconfig/ui/acorexceptpage.ui://GtkEntry[@id='abbrev'] no-labelled-by
cui/uiconfig/ui/acorexceptpage.ui://GtkEntry[@id='double'] no-labelled-by
cui/uiconfig/ui/applyautofmtpage.ui://GtkLabel[@id='label1'] 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