[Libreoffice-commits] .: tools/inc vcl/inc vcl/source

Tor Lillqvist tml at kemper.freedesktop.org
Thu Mar 1 10:40:36 PST 2012


 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 <dezsiszabi at 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 )


More information about the Libreoffice-commits mailing list