Hi,

I'm attaching two patches, one for vcl, one for sw. Of course I could
introduce the define in sw, but that would cause problems when someone
would introduce a new define in vcl, so I did it this way.

Also, I can change the indentation in sw/source/ui/app/docst.cxx, I
didn't do it yet for easier review.

What's your opinion, OK to push?

Thanks.
From c63be26e98290cb024078ba260b6bead796e6eca Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmik...@frugalware.org>
Date: Thu, 24 Mar 2011 11:54:09 +0100
Subject: [PATCH] fdo#32413: Add an apply button to style edit dialog in Writer

---
 vcl/inc/vcl/msgbox.hxx |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/vcl/inc/vcl/msgbox.hxx b/vcl/inc/vcl/msgbox.hxx
index b834843..315e412 100644
--- a/vcl/inc/vcl/msgbox.hxx
+++ b/vcl/inc/vcl/msgbox.hxx
@@ -51,6 +51,7 @@ class CheckBox;
 #define RET_NO                          3
 #define RET_RETRY                       4
 #define RET_IGNORE           5
+#define RET_APPLY            6
 
 #define BUTTONID_OK             RET_OK
 #define BUTTONID_CANCEL         RET_CANCEL
-- 
1.7.4.1

From 9bee07e4a4abe1cb18a841c03fcb8e5606b1c8a6 Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmik...@frugalware.org>
Date: Thu, 24 Mar 2011 11:54:59 +0100
Subject: [PATCH] fdo#32413: Add an apply button to style edit dialog in Writer

---
 sw/source/ui/app/docst.cxx    |   11 +++++++++--
 sw/source/ui/fmtui/tmpdlg.cxx |   13 +++++++++++++
 sw/source/ui/inc/tmpdlg.hxx   |    1 +
 3 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/sw/source/ui/app/docst.cxx b/sw/source/ui/app/docst.cxx
index 6705e59..7525d37 100644
--- a/sw/source/ui/app/docst.cxx
+++ b/sw/source/ui/app/docst.cxx
@@ -663,7 +663,10 @@ sal_uInt16 SwDocShell::Edit( const String &rName, const 
String &rParent, sal_uIn
                                                     0, *(xTmp.get()), nFamily, 
bColumn,
                                                     pActShell ? pActShell : 
pWrtShell, bNew);
         OSL_ENSURE(pDlg, "Dialogdiet fail!");
-        if(RET_OK == pDlg->Execute())
+        while (1)
+        {
+            short nButton = pDlg->Execute();
+            if(RET_OK == nButton || RET_APPLY == nButton)
         {
             GetWrtShell()->StartAllAction();
 
@@ -726,7 +729,8 @@ sal_uInt16 SwDocShell::Edit( const String &rName, const 
String &rParent, sal_uIn
             // Destroy dialog before EndAction - with page-templates the
             // ItemSet must be destroyed, so that the cursors get removed
             // from Headers/Footers. Otherwise "GPF" happen!!!
-            delete pDlg;
+            if(RET_OK == nButton)
+                delete pDlg;
 
             pDoc->SetModified();
             if( !bModified )   // Bug 57028
@@ -748,6 +752,9 @@ sal_uInt16 SwDocShell::Edit( const String &rName, const 
String &rParent, sal_uIn
                 pDoc->ResetModified();
             delete pDlg;
         }
+            if(RET_APPLY != nButton)
+                break;
+        }
     }
     else
     {
diff --git a/sw/source/ui/fmtui/tmpdlg.cxx b/sw/source/ui/fmtui/tmpdlg.cxx
index 223def1..37a72e7 100644
--- a/sw/source/ui/fmtui/tmpdlg.cxx
+++ b/sw/source/ui/fmtui/tmpdlg.cxx
@@ -314,12 +314,25 @@ SwTemplateDlg::SwTemplateDlg(Window*                      
pParent,
             OSL_ENSURE(!this, "wrong family");
 
     }
+    EnableApplyButton( true );
+    SetApplyHandler( LINK(this, SwTemplateDlg, ApplyHdl ) );
 }
 
 SwTemplateDlg::~SwTemplateDlg()
 {
 }
 
+IMPL_LINK( SwTemplateDlg, ApplyHdl, void*, pVoid )
+{
+    (void)pVoid; //unused
+    if ( OK_Impl() )
+    {
+        Ok();
+        EndDialog( RET_APPLY );
+    }
+    return 0;
+}
+
 short SwTemplateDlg::Ok()
 {
     short nRet = SfxTabDialog::Ok();
diff --git a/sw/source/ui/inc/tmpdlg.hxx b/sw/source/ui/inc/tmpdlg.hxx
index 6a8e7de..eca821e 100644
--- a/sw/source/ui/inc/tmpdlg.hxx
+++ b/sw/source/ui/inc/tmpdlg.hxx
@@ -45,6 +45,7 @@ class SwTemplateDlg: public SfxStyleDialog
     sal_Bool           bNewStyle;
 
     DECL_LINK( NumOptionsHdl, PushButton* );
+    DECL_LINK( ApplyHdl, void* );
 
 public:
     SwTemplateDlg(  Window*             pParent,
-- 
1.7.4.1

Attachment: pgpDXTXK7G8yB.pgp
Description: PGP signature

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to