[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.3' - sc/source

Henry Castro hcastro at collabora.com
Wed Mar 14 16:33:22 UTC 2018


 sc/source/ui/view/tabvwshf.cxx |   28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

New commits:
commit 952a3a62090a8bd2a28798d2f1b4e26d37ac7399
Author: Henry Castro <hcastro at collabora.com>
Date:   Sun Mar 11 18:44:58 2018 -0400

    lokdialog: convert the show sheet dialog to async exec
    
    To trigger this dialog: Sheet -> Show Sheet...
    
    Change-Id: I501d9444ef9798a26b4db06ab51e4fb691144b17
    Reviewed-on: https://gerrit.libreoffice.org/51094
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Henry Castro <hcastro at collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/51095
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>
    Tested-by: Jan Holesovsky <kendy at collabora.com>

diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx
index 35d89eb15acb..ff3c764c89f4 100644
--- a/sc/source/ui/view/tabvwshf.cxx
+++ b/sc/source/ui/view/tabvwshf.cxx
@@ -131,7 +131,7 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
                     ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
                     OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
 
-                    ScopedVclPtr<AbstractScShowTabDlg> pDlg(pFact->CreateScShowTabDlg(GetDialogParent()));
+                    VclPtr<AbstractScShowTabDlg> pDlg(pFact->CreateScShowTabDlg(GetDialogParent()));
                     OSL_ENSURE(pDlg, "Dialog create fail!");
 
                     OUString aTabName;
@@ -146,18 +146,24 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
                         }
                     }
 
-                    if ( pDlg->Execute() == RET_OK )
-                    {
-                        const sal_Int32 nCount = pDlg->GetSelectEntryCount();
-                        for (sal_Int32 nPos=0; nPos<nCount; ++nPos)
+                    std::shared_ptr<SfxRequest> pReq = std::make_shared<SfxRequest>(rReq);
+                    pDlg->StartExecuteAsync([this, pDlg, pReq](sal_Int32 nResult){
+                        OUString sTable;
+                        std::vector<OUString> sTables;
+                        if (RET_OK == nResult)
                         {
-                            aName = pDlg->GetSelectEntry(nPos);
-                            rReq.AppendItem( SfxStringItem( FID_TABLE_SHOW, aName ) );
-                            rNames.push_back(aName);
+                            const sal_Int32 nCount = pDlg->GetSelectEntryCount();
+                            for (sal_Int32 nPos=0; nPos<nCount; ++nPos)
+                            {
+                                sTable = pDlg->GetSelectEntry(nPos);
+                                pReq->AppendItem( SfxStringItem( FID_TABLE_SHOW, sTable ) );
+                                sTables.push_back(sTable);
+                            }
+                            ShowTable( sTables );
+                            pReq->Done();
                         }
-                        ShowTable( rNames );
-                        rReq.Done();
-                    }
+                    });
+                    rReq.Ignore();
                 }
             }
             break;


More information about the Libreoffice-commits mailing list