summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-06-04 16:13:06 +0100
committerDavid Tardon <dtardon@redhat.com>2013-06-24 13:12:38 +0000
commitbf69b76ee8e16069ca6d6a1782e7610ef784aa4b (patch)
tree1a48de29722ef532bccb92708c5a525887fa7595
parent6fd7c667db057571ce1fa9c2fbc4a78161227f5a (diff)
Related: fdo#66105 clip message box dialogs to some reasonable widths
(cherry picked from commit 19a2685ec04bd6ce882d4dd08d24c7248cf99a84) Change-Id: I7fc179865306ba5b593b090b1fdb8971ba6bd508 Reviewed-on: https://gerrit.libreoffice.org/4480 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
-rw-r--r--include/vcl/vclmedit.hxx2
-rw-r--r--vcl/source/edit/vclmedit.cxx12
-rw-r--r--vcl/source/window/layout.cxx2
3 files changed, 16 insertions, 0 deletions
diff --git a/include/vcl/vclmedit.hxx b/include/vcl/vclmedit.hxx
index 63caa3b4c352..e3fdfc54b522 100644
--- a/include/vcl/vclmedit.hxx
+++ b/include/vcl/vclmedit.hxx
@@ -81,6 +81,8 @@ public:
virtual void SetMaxTextLen( xub_StrLen nMaxLen = 0 );
virtual xub_StrLen GetMaxTextLen() const;
+ void SetMaxTextWidth( sal_uLong nMaxWidth );
+
virtual void SetSelection( const Selection& rSelection );
virtual const Selection& GetSelection() const;
diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx
index b83be1d5d652..79d839933267 100644
--- a/vcl/source/edit/vclmedit.cxx
+++ b/vcl/source/edit/vclmedit.cxx
@@ -115,6 +115,8 @@ public:
void SetMaxTextLen( xub_StrLen nLen );
xub_StrLen GetMaxTextLen() const;
+ void SetMaxTextWidth( sal_uLong nMaxWidth );
+
sal_Bool IsInsertMode() const;
void InsertText( const String& rStr );
@@ -400,6 +402,11 @@ String ImpVclMEdit::GetSelected( LineEnd aSeparator ) const
return mpTextWindow->GetTextView()->GetSelected( aSeparator );
}
+void ImpVclMEdit::SetMaxTextWidth( sal_uLong nMaxWidth )
+{
+ mpTextWindow->GetTextEngine()->SetMaxTextWidth( nMaxWidth );
+}
+
void ImpVclMEdit::Resize()
{
size_t nIteration = 1;
@@ -1113,6 +1120,11 @@ void VclMultiLineEdit::SetMaxTextLen( xub_StrLen nMaxLen )
pImpVclMEdit->SetMaxTextLen( nMaxLen );
}
+void VclMultiLineEdit::SetMaxTextWidth( sal_uLong nMaxWidth )
+{
+ pImpVclMEdit->SetMaxTextWidth(nMaxWidth );
+}
+
xub_StrLen VclMultiLineEdit::GetMaxTextLen() const
{
return pImpVclMEdit->GetMaxTextLen();
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index 4714f1ede104..33977c2c0158 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -1783,6 +1783,7 @@ short MessageDialog::Execute()
m_pPrimaryMessage->set_hexpand(true);
m_pPrimaryMessage->SetText(m_sPrimaryString);
m_pPrimaryMessage->Show(!m_sPrimaryString.isEmpty());
+ m_pPrimaryMessage->SetMaxTextWidth(m_pPrimaryMessage->approximate_char_width() * 60);
m_pSecondaryMessage = new VclMultiLineEdit(m_pGrid, nWinStyle);
m_pSecondaryMessage->SetPaintTransparent(true);
@@ -1792,6 +1793,7 @@ short MessageDialog::Execute()
m_pSecondaryMessage->set_hexpand(true);
m_pSecondaryMessage->SetText(m_sSecondaryString);
m_pSecondaryMessage->Show(!m_sSecondaryString.isEmpty());
+ m_pSecondaryMessage->SetMaxTextWidth(m_pPrimaryMessage->approximate_char_width() * 80);
m_pGrid->Show();