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

weld SwNewGlosNameDlg

Change-Id: Ie1c320958813bfb602da46738782b9e1e9fe5a9e
Reviewed-on: https://gerrit.libreoffice.org/54196Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 1bbc741c
...@@ -114,64 +114,54 @@ struct GroupUserData ...@@ -114,64 +114,54 @@ struct GroupUserData
}; };
// dialog for new block name // dialog for new block name
class SwNewGlosNameDlg : public ModalDialog class SwNewGlosNameDlg : public weld::GenericDialogController
{ {
VclPtr<Edit> m_pNewName;
TextFilter m_aNoSpaceFilter; TextFilter m_aNoSpaceFilter;
VclPtr<Edit> m_pNewShort; VclPtr<SwGlossaryDlg> m_pParent;
VclPtr<OKButton> m_pOk;
VclPtr<Edit> m_pOldName; std::unique_ptr<weld::Entry> m_xNewName;
VclPtr<Edit> m_pOldShort; std::unique_ptr<weld::Entry> m_xNewShort;
std::unique_ptr<weld::Button> m_xOk;
std::unique_ptr<weld::Entry> m_xOldName;
std::unique_ptr<weld::Entry> m_xOldShort;
protected: protected:
DECL_LINK( Modify, Edit&, void ); DECL_LINK(Modify, weld::Entry&, void);
DECL_LINK(Rename, Button*, void); DECL_LINK(Rename, weld::Button&, void);
DECL_LINK(TextFilterHdl, OUString&, bool);
public: public:
SwNewGlosNameDlg( vcl::Window* pParent, SwNewGlosNameDlg(SwGlossaryDlg* pParent,
const OUString& rOldName, const OUString& rOldName,
const OUString& rOldShort ); const OUString& rOldShort);
virtual ~SwNewGlosNameDlg() override;
virtual void dispose() override;
OUString GetNewName() const { return m_pNewName->GetText(); }
OUString GetNewShort() const { return m_pNewShort->GetText(); }
};
SwNewGlosNameDlg::SwNewGlosNameDlg(vcl::Window* pParent, OUString GetNewName() const { return m_xNewName->get_text(); }
const OUString& rOldName, OUString GetNewShort() const { return m_xNewShort->get_text(); }
const OUString& rOldShort ) };
: ModalDialog(pParent, "RenameAutoTextDialog",
"modules/swriter/ui/renameautotextdialog.ui")
{
get(m_pNewName, "newname");
get(m_pNewShort, "newsc");
m_pNewShort->SetTextFilter(&m_aNoSpaceFilter);
get(m_pOk, "ok");
get(m_pOldName, "oldname");
get(m_pOldShort, "oldsc");
m_pOldName->SetText( rOldName );
m_pOldShort->SetText( rOldShort );
m_pNewName->SetModifyHdl(LINK(this, SwNewGlosNameDlg, Modify ));
m_pNewShort->SetModifyHdl(LINK(this, SwNewGlosNameDlg, Modify ));
m_pOk->SetClickHdl(LINK(this, SwNewGlosNameDlg, Rename ));
m_pNewName->GrabFocus();
}
SwNewGlosNameDlg::~SwNewGlosNameDlg() IMPL_LINK(SwNewGlosNameDlg, TextFilterHdl, OUString&, rTest, bool)
{ {
disposeOnce(); rTest = m_aNoSpaceFilter.filter(rTest);
return true;
} }
void SwNewGlosNameDlg::dispose() SwNewGlosNameDlg::SwNewGlosNameDlg(SwGlossaryDlg* pParent, const OUString& rOldName, const OUString& rOldShort)
: GenericDialogController(pParent->GetFrameWeld(), "modules/swriter/ui/renameautotextdialog.ui", "RenameAutoTextDialog")
, m_pParent(pParent)
, m_xNewName(m_xBuilder->weld_entry("newname"))
, m_xNewShort(m_xBuilder->weld_entry("newsc"))
, m_xOk(m_xBuilder->weld_button("ok"))
, m_xOldName(m_xBuilder->weld_entry("oldname"))
, m_xOldShort(m_xBuilder->weld_entry("oldsc"))
{ {
m_pNewName.clear(); m_xNewShort->connect_insert_text(LINK(this, SwNewGlosNameDlg, TextFilterHdl));
m_pNewShort.clear();
m_pOk.clear(); m_xOldName->set_text(rOldName);
m_pOldName.clear(); m_xOldShort->set_text(rOldShort);
m_pOldShort.clear(); m_xNewName->connect_changed(LINK(this, SwNewGlosNameDlg, Modify ));
ModalDialog::dispose(); m_xNewShort->connect_changed(LINK(this, SwNewGlosNameDlg, Modify ));
m_xOk->connect_clicked(LINK(this, SwNewGlosNameDlg, Rename ));
m_xNewName->grab_focus();
} }
// query / set currently set group // query / set currently set group
...@@ -503,17 +493,15 @@ IMPL_LINK( SwGlossaryDlg, MenuHdl, Menu *, pMn, bool ) ...@@ -503,17 +493,15 @@ IMPL_LINK( SwGlossaryDlg, MenuHdl, Menu *, pMn, bool )
else if (sItemIdent == "rename") else if (sItemIdent == "rename")
{ {
m_pShortNameEdit->SetText(pGlossaryHdl->GetGlossaryShortName(m_pNameED->GetText())); m_pShortNameEdit->SetText(pGlossaryHdl->GetGlossaryShortName(m_pNameED->GetText()));
ScopedVclPtrInstance<SwNewGlosNameDlg> pNewNameDlg(this, m_pNameED->GetText(), SwNewGlosNameDlg aNewNameDlg(this, m_pNameED->GetText(), m_pShortNameEdit->GetText());
m_pShortNameEdit->GetText()); if (aNewNameDlg.run() == RET_OK && pGlossaryHdl->Rename(m_pShortNameEdit->GetText(),
if( RET_OK == pNewNameDlg->Execute() && aNewNameDlg.GetNewShort(),
pGlossaryHdl->Rename( m_pShortNameEdit->GetText(), aNewNameDlg.GetNewName()))
pNewNameDlg->GetNewShort(),
pNewNameDlg->GetNewName()))
{ {
SvTreeListEntry* pEntry = m_pCategoryBox->FirstSelected(); SvTreeListEntry* pEntry = m_pCategoryBox->FirstSelected();
SvTreeListEntry* pNewEntry = m_pCategoryBox->InsertEntry( SvTreeListEntry* pNewEntry = m_pCategoryBox->InsertEntry(
pNewNameDlg->GetNewName(), m_pCategoryBox->GetParent(pEntry)); aNewNameDlg.GetNewName(), m_pCategoryBox->GetParent(pEntry));
pNewEntry->SetUserData(new OUString(pNewNameDlg->GetNewShort())); pNewEntry->SetUserData(new OUString(aNewNameDlg.GetNewShort()));
delete static_cast<OUString*>(pEntry->GetUserData()); delete static_cast<OUString*>(pEntry->GetUserData());
m_pCategoryBox->GetModel()->Remove(pEntry); m_pCategoryBox->GetModel()->Remove(pEntry);
m_pCategoryBox->Select(pNewEntry); m_pCategoryBox->Select(pNewEntry);
...@@ -790,34 +778,34 @@ IMPL_LINK_NOARG(SwGlossaryDlg, EditHdl, MenuButton *, void) ...@@ -790,34 +778,34 @@ IMPL_LINK_NOARG(SwGlossaryDlg, EditHdl, MenuButton *, void)
} }
// KeyInput for ShortName - Edits without Spaces // KeyInput for ShortName - Edits without Spaces
IMPL_LINK( SwNewGlosNameDlg, Modify, Edit&, rBox, void ) IMPL_LINK( SwNewGlosNameDlg, Modify, weld::Entry&, rBox, void )
{ {
OUString aName(m_pNewName->GetText()); OUString aName(m_xNewName->get_text());
SwGlossaryDlg* pDlg = static_cast<SwGlossaryDlg*>(GetParent()); SwGlossaryDlg* pDlg = m_pParent;
if (&rBox == m_pNewName) if (&rBox == m_xNewName.get())
m_pNewShort->SetText( lcl_GetValidShortCut( aName ) ); m_xNewShort->set_text(lcl_GetValidShortCut(aName));
bool bEnable = !aName.isEmpty() && !m_pNewShort->GetText().isEmpty() && bool bEnable = !aName.isEmpty() && !m_xNewShort->get_text().isEmpty() &&
(!pDlg->DoesBlockExist(aName, m_pNewShort->GetText()) (!pDlg->DoesBlockExist(aName, m_xNewShort->get_text())
|| aName == m_pOldName->GetText()); || aName == m_xOldName->get_text());
m_pOk->Enable(bEnable); m_xOk->set_sensitive(bEnable);
} }
IMPL_LINK_NOARG(SwNewGlosNameDlg, Rename, Button*, void) IMPL_LINK_NOARG(SwNewGlosNameDlg, Rename, weld::Button&, void)
{ {
SwGlossaryDlg* pDlg = static_cast<SwGlossaryDlg*>(GetParent()); SwGlossaryDlg* pDlg = m_pParent;
OUString sNew = GetAppCharClass().uppercase(m_pNewShort->GetText()); OUString sNew = GetAppCharClass().uppercase(m_xNewShort->get_text());
if( pDlg->pGlossaryHdl->HasShortName(m_pNewShort->GetText()) if (pDlg->pGlossaryHdl->HasShortName(m_xNewShort->get_text())
&& sNew != m_pOldShort->GetText() ) && sNew != m_xOldShort->get_text())
{ {
std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(GetFrameWeld(), std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(m_xDialog.get(),
VclMessageType::Info, VclButtonsType::Ok, VclMessageType::Info, VclButtonsType::Ok,
SwResId(STR_DOUBLE_SHORTNAME))); SwResId(STR_DOUBLE_SHORTNAME)));
xBox->run(); xBox->run();
m_pNewShort->GrabFocus(); m_xNewShort->grab_focus();
} }
else else
EndDialog(RET_OK); m_xDialog->response(RET_OK);
} }
IMPL_LINK( SwGlossaryDlg, CheckBoxHdl, Button *, pBox, void ) IMPL_LINK( SwGlossaryDlg, CheckBoxHdl, Button *, pBox, void )
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface domain="sw"> <interface domain="sw">
<!-- interface-requires gtk+ 3.0 --> <requires lib="gtk+" version="3.18"/>
<!-- interface-requires LibreOffice 1.0 -->
<object class="GtkDialog" id="RenameAutoTextDialog"> <object class="GtkDialog" id="RenameAutoTextDialog">
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="border_width">6</property> <property name="border_width">6</property>
<property name="title" translatable="yes" context="renameautotextdialog|RenameAutoTextDialog">Rename AutoText</property> <property name="title" translatable="yes" context="renameautotextdialog|RenameAutoTextDialog">Rename AutoText</property>
<property name="modal">True</property>
<property name="default_width">0</property>
<property name="default_height">0</property>
<property name="type_hint">dialog</property> <property name="type_hint">dialog</property>
<child>
<placeholder/>
</child>
<child internal-child="vbox"> <child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1"> <object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property> <property name="can_focus">False</property>
...@@ -73,16 +79,14 @@ ...@@ -73,16 +79,14 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="double_buffered">False</property> <property name="double_buffered">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="renameautotextdialog|label2">Na_me</property> <property name="label" translatable="yes" context="renameautotextdialog|label2">Na_me</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="mnemonic_widget">oldname</property> <property name="mnemonic_widget">oldname</property>
<property name="xalign">0</property>
</object> </object>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
...@@ -90,16 +94,14 @@ ...@@ -90,16 +94,14 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="double_buffered">False</property> <property name="double_buffered">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="renameautotextdialog|label3">_New</property> <property name="label" translatable="yes" context="renameautotextdialog|label3">_New</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="mnemonic_widget">newname</property> <property name="mnemonic_widget">newname</property>
<property name="xalign">0</property>
</object> </object>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
...@@ -108,13 +110,12 @@ ...@@ -108,13 +110,12 @@
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="hexpand">True</property> <property name="hexpand">True</property>
<property name="editable">False</property> <property name="editable">False</property>
<property name="activates_default">True</property>
<property name="width_chars">32</property> <property name="width_chars">32</property>
</object> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
...@@ -123,21 +124,18 @@ ...@@ -123,21 +124,18 @@
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="hexpand">True</property> <property name="hexpand">True</property>
<property name="max_length">60</property> <property name="max_length">60</property>
<property name="activates_default">True</property>
<property name="width_chars">32</property> <property name="width_chars">32</property>
</object> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
</object> </object>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
...@@ -151,16 +149,14 @@ ...@@ -151,16 +149,14 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="double_buffered">False</property> <property name="double_buffered">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="renameautotextdialog|label4">Short_cut</property> <property name="label" translatable="yes" context="renameautotextdialog|label4">Short_cut</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="mnemonic_widget">oldsc</property> <property name="mnemonic_widget">oldsc</property>
<property name="xalign">0</property>
</object> </object>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
...@@ -168,16 +164,14 @@ ...@@ -168,16 +164,14 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="double_buffered">False</property> <property name="double_buffered">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="renameautotextdialog|label5">_Shortcut</property> <property name="label" translatable="yes" context="renameautotextdialog|label5">_Shortcut</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="mnemonic_widget">newsc</property> <property name="mnemonic_widget">newsc</property>
<property name="xalign">0</property>
</object> </object>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
...@@ -185,34 +179,30 @@ ...@@ -185,34 +179,30 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="editable">False</property> <property name="editable">False</property>
<property name="activates_default">True</property>
<property name="width_chars">6</property> <property name="width_chars">6</property>
</object> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkEntry" id="newsc"> <object class="GtkEntry" id="newsc">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="activates_default">True</property>
<property name="width_chars">6</property> <property name="width_chars">6</property>
</object> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
</object> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
</object> </object>
......
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