Kaydet (Commit) 766e0a09 authored tarafından Caolán McNamara's avatar Caolán McNamara Kaydeden (comit) Andras Timar

Resolves: tdf#95352 resize the columns when the edits reposition

instead of assuming they are in their final position when the
top level dialog resizes. Cause there's a timer/idle involved
so the final position isn't known yet

(cherry picked from commit d4d4e00a)

Change-Id: I713e938b0e275f181514315cb4ce4531f36191ca

loplugin:vclwidgets

(cherry picked from commit 4882664e)

Change-Id: I3e5d88bdc2ecae6164c75da8ddf1b8cfe0ed325f
Reviewed-on: https://gerrit.libreoffice.org/19796Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
Tested-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
(cherry picked from commit 6213ce4a)
üst a50165a9
......@@ -183,21 +183,39 @@ public:
class AutoCorrEdit : public Edit
{
Link<> aActionLink;
VclPtr<SvTabListBox> m_xReplaceTLB;
sal_Int32 m_nCol;
bool bSpaces;
public:
AutoCorrEdit(vcl::Window* pParent, const ResId& rResId) :
Edit(pParent, rResId), bSpaces(false){}
AutoCorrEdit(vcl::Window* pParent) :
Edit(pParent), bSpaces(false){}
void dispose() override;
public:
AutoCorrEdit(vcl::Window* pParent, const ResId& rResId)
: Edit(pParent, rResId)
, m_nCol(0)
, bSpaces(false)
{
}
AutoCorrEdit(vcl::Window* pParent)
: Edit(pParent)
, m_nCol(0)
, bSpaces(false)
{
}
virtual ~AutoCorrEdit();
void SetActionHdl( const Link<>& rLink )
{ aActionLink = rLink;}
void ConnectColumn(const VclPtr<SvTabListBox>& rTable, sal_Int32 nCol);
void SetSpaces(bool bSet)
{bSpaces = bSet;}
virtual void KeyInput( const KeyEvent& rKEvent ) SAL_OVERRIDE;
virtual void Resize() SAL_OVERRIDE;
};
// class OfaAutocorrReplacePage ------------------------------------------
......@@ -259,7 +277,6 @@ private:
LanguageType eOldLanguage,
LanguageType eNewLanguage);
void setTabs();
public:
OfaAutocorrReplacePage( vcl::Window* pParent, const SfxItemSet& rSet );
virtual ~OfaAutocorrReplacePage();
......@@ -271,8 +288,6 @@ public:
virtual void Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;
virtual void ActivatePage( const SfxItemSet& ) SAL_OVERRIDE;
virtual sfxpg DeactivatePage( SfxItemSet* pSet = 0 ) SAL_OVERRIDE;
virtual void Resize() SAL_OVERRIDE;
virtual void StateChanged(StateChangedType nStateChange) SAL_OVERRIDE;
void SetLanguage(LanguageType eSet);
void DeleteEntry(const OUString& sShort, const OUString& sLong);
......
......@@ -906,28 +906,9 @@ OfaAutocorrReplacePage::OfaAutocorrReplacePage( vcl::Window* pParent,
m_pReplaceED->SetSpaces(true);
m_pShortED->SetSpaces(true);
}
void OfaAutocorrReplacePage::setTabs()
{
m_pReplaceTLB->SetTab(0, m_pShortED->GetPosPixel().X(), MAP_PIXEL);
m_pReplaceTLB->SetTab(1, m_pReplaceED->GetPosPixel().X(), MAP_PIXEL);
}
void OfaAutocorrReplacePage::StateChanged(StateChangedType nStateChange)
{
SfxTabPage::StateChanged(nStateChange);
if (nStateChange == StateChangedType::InitShow)
{
setTabs();
}
}
void OfaAutocorrReplacePage::Resize()
{
SfxTabPage::Resize();
setTabs();
m_pShortED->ConnectColumn(m_pReplaceTLB, 0);
m_pReplaceED->ConnectColumn(m_pReplaceTLB, 1);
}
OfaAutocorrReplacePage::~OfaAutocorrReplacePage()
......@@ -1752,6 +1733,22 @@ IMPL_LINK(OfaAutocorrExceptPage, ModifyHdl, Edit*, pEdt)
VCL_BUILDER_FACTORY(AutoCorrEdit)
void AutoCorrEdit::dispose()
{
m_xReplaceTLB.disposeAndClear();
Edit::dispose();
}
AutoCorrEdit::~AutoCorrEdit() {
disposeOnce();
}
void AutoCorrEdit::ConnectColumn(const VclPtr<SvTabListBox>& rTable, sal_Int32 nCol)
{
m_xReplaceTLB = rTable;
m_nCol = nCol;
}
void AutoCorrEdit::KeyInput( const KeyEvent& rKEvt )
{
const vcl::KeyCode aKeyCode = rKEvt.GetKeyCode();
......@@ -1767,6 +1764,14 @@ void AutoCorrEdit::KeyInput( const KeyEvent& rKEvt )
Edit::KeyInput(rKEvt);
}
void AutoCorrEdit::Resize()
{
Edit::Resize();
if (!m_xReplaceTLB)
return;
m_xReplaceTLB->SetTab(m_nCol, GetPosPixel().X(), MAP_PIXEL);
}
enum OfaQuoteOptions
{
ADD_NONBRK_SPACE,
......
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