tools/inc/tools/wintypes.hxx | 1 + vcl/inc/svids.hrc | 1 + vcl/inc/vcl/msgbox.hxx | 4 ++++ vcl/source/src/btntext.src | 5 +++++ vcl/source/window/msgbox.cxx | 14 ++++++++++++++ 5 files changed, 25 insertions(+)
New commits: commit dfc9c72d7797862a9292bdda16ad8c107124a6df Author: Szabolcs Dezsi <dezsisz...@hotmail.com> Date: Thu Mar 1 20:13:21 2012 +0100 Added 'Copy to Clipboard' button to error dialogs diff --git a/tools/inc/tools/wintypes.hxx b/tools/inc/tools/wintypes.hxx index e4f0a0d..7820669 100644 --- a/tools/inc/tools/wintypes.hxx +++ b/tools/inc/tools/wintypes.hxx @@ -336,6 +336,7 @@ typedef sal_uInt16 StandardButtonType; #define BUTTON_ABORT ((StandardButtonType)9) #define BUTTON_LESS ((StandardButtonType)10) #define BUTTON_COUNT 11 +#define BUTTON_COPY 12 // -------------------------------------------- // - prominent place for ListBox window types - diff --git a/vcl/inc/svids.hrc b/vcl/inc/svids.hrc index 5eba318..e337bc7 100644 --- a/vcl/inc/svids.hrc +++ b/vcl/inc/svids.hrc @@ -183,6 +183,7 @@ #define SV_BUTTONTEXT_IGNORE 10108 #define SV_BUTTONTEXT_ABORT 10109 #define SV_BUTTONTEXT_LESS 10110 +#define SV_BUTTONTEXT_COPY 10111 #define SV_STDTEXT_FIRST SV_STDTEXT_SERVICENOTAVAILABLE #define SV_STDTEXT_SERVICENOTAVAILABLE 10200 diff --git a/vcl/inc/vcl/msgbox.hxx b/vcl/inc/vcl/msgbox.hxx index fb960b8..1c1dcee 100644 --- a/vcl/inc/vcl/msgbox.hxx +++ b/vcl/inc/vcl/msgbox.hxx @@ -34,6 +34,8 @@ #include <vcl/btndlg.hxx> #include <vcl/image.hxx> #include <vcl/bitmap.hxx> +#include <vcl/button.hxx> + class FixedText; class FixedImage; class CheckBox; @@ -104,6 +106,8 @@ public: sal_Bool GetCheckBoxState() const; virtual Size GetOptimalSize(WindowSizeType eType) const; + + DECL_LINK( ClickHdl, Button* ); }; // ----------- diff --git a/vcl/source/src/btntext.src b/vcl/source/src/btntext.src index c0303aa..6762f08 100644 --- a/vcl/source/src/btntext.src +++ b/vcl/source/src/btntext.src @@ -69,6 +69,11 @@ String SV_BUTTONTEXT_LESS Text [ en-US ] = "~Less"; }; +String SV_BUTTONTEXT_COPY +{ + Text [ en-US ] = "Copy to Clipboard"; +}; + String SV_BUTTONTEXT_IGNORE { Text [ en-US ] = "~Ignore"; diff --git a/vcl/source/window/msgbox.cxx b/vcl/source/window/msgbox.cxx index 4e5e796..3293929 100644 --- a/vcl/source/window/msgbox.cxx +++ b/vcl/source/window/msgbox.cxx @@ -34,6 +34,7 @@ #include <brdwin.hxx> #include <window.h> +#include <vcl/edit.hxx> #include <vcl/metric.hxx> #include <vcl/svapp.hxx> #include <vcl/wrkwin.hxx> @@ -399,6 +400,10 @@ void MessBox::ImplPosControls() mpCheckBox->Show(); } + AddButton( String( ResId( SV_BUTTONTEXT_COPY, *ImplGetResMgr() ) ), BUTTON_COPY, 0 ); + Button* pCopyBtn = GetPushButton( BUTTON_COPY ); + pCopyBtn->SetClickHdl( LINK( this, MessBox, ClickHdl ) ); + mpFixedText = new FixedText( this, nWinStyle ); if( mpFixedText->GetStyle() & WB_EXTRAOFFSET ) // TODO: use CalcMinimumSize() instead aFixedSize.Width() += 2; @@ -408,6 +413,15 @@ void MessBox::ImplPosControls() SetPageSizePixel( aPageSize ); } +IMPL_LINK( MessBox, ClickHdl, Button*, pBtn ) +{ + Edit aCopyHelper( this ); + aCopyHelper.SetText( maMessText, Selection( 0, maMessText.Len() ) ); + aCopyHelper.Copy(); + + return 0; +} + // ----------------------------------------------------------------------- void MessBox::StateChanged( StateChangedType nType ) _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits