weld AdvancedSettingsDialog

make run virtual and fold executes into it, so GenericUnoDialog
can call run on tabdialogs to do the right thing, and allows
Start_Impl to be private again

Change-Id: Ic457edfbdc7457f4c49d4e8ad679903f38ad9b42
Reviewed-on: https://gerrit.libreoffice.org/62227
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/basctl/source/basicide/bastypes.cxx b/basctl/source/basicide/bastypes.cxx
index 916b72e..cfea56a 100644
--- a/basctl/source/basicide/bastypes.cxx
+++ b/basctl/source/basicide/bastypes.cxx
@@ -764,7 +764,7 @@ bool QueryPassword( const Reference< script::XLibraryContainer >& xLibContainer,
        }

        // execute dialog
        nRet = aDlg.execute();
        nRet = aDlg.run();

        // verify password
        if ( nRet == RET_OK )
diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx
index fcba8c6..198b937 100644
--- a/chart2/source/controller/main/ChartController_Insert.cxx
+++ b/chart2/source/controller/main/ChartController_Insert.cxx
@@ -398,7 +398,7 @@ void ChartController::executeDispatch_InsertTrendline()

    // note: when a user pressed "OK" but didn't change any settings in the
    // dialog, the SfxTabDialog returns "Cancel"
    if( aDialog.execute() == RET_OK || aDialog.DialogWasClosedWithOK())
    if( aDialog.run() == RET_OK || aDialog.DialogWasClosedWithOK())
    {
        const SfxItemSet* pOutItemSet = aDialog.GetOutputItemSet();
        if( pOutItemSet )
@@ -459,7 +459,7 @@ void ChartController::executeDispatch_InsertErrorBars( bool bYError )

        // note: when a user pressed "OK" but didn't change any settings in the
        // dialog, the SfxTabDialog returns "Cancel"
        if (aDlg.execute() == RET_OK || aDlg.DialogWasClosedWithOK())
        if (aDlg.run() == RET_OK || aDlg.DialogWasClosedWithOK())
        {
            const SfxItemSet* pOutItemSet = aDlg.GetOutputItemSet();
            if( pOutItemSet )
diff --git a/chart2/source/controller/main/ChartController_Properties.cxx b/chart2/source/controller/main/ChartController_Properties.cxx
index 717c678..a990719 100644
--- a/chart2/source/controller/main/ChartController_Properties.cxx
+++ b/chart2/source/controller/main/ChartController_Properties.cxx
@@ -792,7 +792,7 @@ bool ChartController::executeDlg_ObjectProperties_withoutUndoGuard(
        }

        //open the dialog
        if (aDlg.execute() == RET_OK || (bSuccessOnUnchanged && aDlg.DialogWasClosedWithOK()))
        if (aDlg.run() == RET_OK || (bSuccessOnUnchanged && aDlg.DialogWasClosedWithOK()))
        {
            const SfxItemSet* pOutItemSet = aDlg.GetOutputItemSet();
            if(pOutItemSet)
diff --git a/chart2/source/controller/main/ShapeController.cxx b/chart2/source/controller/main/ShapeController.cxx
index 69d7d4b..0e090c7 100644
--- a/chart2/source/controller/main/ShapeController.cxx
+++ b/chart2/source/controller/main/ShapeController.cxx
@@ -513,7 +513,7 @@ void ShapeController::executeDispatch_FontDialog()
            pDrawViewWrapper->GetAttributes( aAttr );
            ViewElementListProvider aViewElementListProvider( pDrawModelWrapper );
            ShapeFontDialog aDlg(pChartWindow->GetFrameWeld(), &aAttr, &aViewElementListProvider);
            if (aDlg.execute() == RET_OK)
            if (aDlg.run() == RET_OK)
            {
                const SfxItemSet* pOutAttr = aDlg.GetOutputItemSet();
                pDrawViewWrapper->SetAttributes( *pOutAttr );
@@ -548,7 +548,7 @@ void ShapeController::executeDispatch_ParagraphDialog()
            aNewAttr.Put( SvxOrphansItem( 0, SID_ATTR_PARA_ORPHANS) );

            ShapeParagraphDialog aDlg(pChartWindow->GetFrameWeld(), &aNewAttr);
            if (aDlg.execute() == RET_OK)
            if (aDlg.run() == RET_OK)
            {
                const SfxItemSet* pOutAttr = aDlg.GetOutputItemSet();
                pDrawViewWrapper->SetAttributes( *pOutAttr );
diff --git a/cui/source/dialogs/FontFeaturesDialog.cxx b/cui/source/dialogs/FontFeaturesDialog.cxx
index fd3d560..00b2843465 100644
--- a/cui/source/dialogs/FontFeaturesDialog.cxx
+++ b/cui/source/dialogs/FontFeaturesDialog.cxx
@@ -197,9 +197,9 @@ OUString FontFeaturesDialog::createFontNameWithFeatures()
    return sResultFontName;
}

short FontFeaturesDialog::execute()
short FontFeaturesDialog::run()
{
    short nResult = m_xDialog->run();
    short nResult = GenericDialogController::run();
    if (nResult == RET_OK)
    {
        m_sResultFontName = createFontNameWithFeatures();
diff --git a/cui/source/dialogs/SignatureLineDialogBase.cxx b/cui/source/dialogs/SignatureLineDialogBase.cxx
index a4806bd..c0e7871 100644
--- a/cui/source/dialogs/SignatureLineDialogBase.cxx
+++ b/cui/source/dialogs/SignatureLineDialogBase.cxx
@@ -23,9 +23,9 @@ SignatureLineDialogBase::SignatureLineDialogBase(weld::Widget* pParent, Referenc
{
}

short SignatureLineDialogBase::execute()
short SignatureLineDialogBase::run()
{
    short nRet = run();
    short nRet = GenericDialogController::run();
    if (nRet == RET_OK)
        Apply();
    return nRet;
diff --git a/cui/source/dialogs/cuicharmap.cxx b/cui/source/dialogs/cuicharmap.cxx
index 4639d6a..e83fdbe 100644
--- a/cui/source/dialogs/cuicharmap.cxx
+++ b/cui/source/dialogs/cuicharmap.cxx
@@ -184,7 +184,7 @@ SvxCharacterMap::SvxCharacterMap(weld::Window* pParent, const SfxItemSet* pSet, 
    m_xSearchSet->Hide();
}

short SvxCharacterMap::execute()
short SvxCharacterMap::run()
{
    if( SvxShowCharSet::getSelectedChar() == ' ')
    {
@@ -202,7 +202,7 @@ short SvxCharacterMap::execute()
        m_xOKBtn->set_sensitive(true);
    }

    return run();
    return SfxDialogController::run();
}

void SvxCharacterMap::SetChar( sal_UCS4 c )
diff --git a/cui/source/dialogs/insdlg.cxx b/cui/source/dialogs/insdlg.cxx
index b954f29..84b395e 100644
--- a/cui/source/dialogs/insdlg.cxx
+++ b/cui/source/dialogs/insdlg.cxx
@@ -156,7 +156,7 @@ SvInsertOleDlg::SvInsertOleDlg(weld::Window* pParent, const Reference<embed::XSt
    m_xRbNewObject->set_active(true);
}

short SvInsertOleDlg::execute()
short SvInsertOleDlg::run()
{
    short nRet = RET_OK;
    SvObjectServerList  aObjS;
@@ -176,7 +176,7 @@ short SvInsertOleDlg::execute()
    OUString aName;

    DBG_ASSERT( m_xStorage.is(), "No storage!");
    if ( m_xStorage.is() && ( nRet = run() ) == RET_OK )
    if ( m_xStorage.is() && ( nRet = InsertObjectDialog_Impl::run() ) == RET_OK )
    {
        OUString aFileName;
        bool bCreateNew = IsCreateNew();
@@ -383,7 +383,7 @@ void SfxInsertFloatingFrameDialog::Init()
    m_xBTOpen->connect_clicked(LINK(this, SfxInsertFloatingFrameDialog, OpenHdl));
}

short SfxInsertFloatingFrameDialog::execute()
short SfxInsertFloatingFrameDialog::run()
{
    short nRet = RET_OK;
    bool bOK = false;
@@ -475,7 +475,7 @@ short SfxInsertFloatingFrameDialog::execute()
        bOK = m_xStorage.is();
    }

    if ( bOK && ( nRet = run() ) == RET_OK )
    if ( bOK && ( nRet = InsertObjectDialog_Impl::run() ) == RET_OK )
    {
        OUString aURL;
        if (!m_xEDURL->get_text().isEmpty())
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index be648af..138d542 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -153,7 +153,7 @@ short AbstractSvxSearchSimilarityDialog_Impl::Execute()

short AbstractSvxTransformTabDialog_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

bool AbstractSvxTransformTabDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)
@@ -163,7 +163,7 @@ bool AbstractSvxTransformTabDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)

short AbstractSvxCaptionDialog_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

bool AbstractSvxCaptionDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)
@@ -219,7 +219,7 @@ short AbstractGraphicFilterDialog_Impl::Execute()

short AbstractSvxAreaTabDialog_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

bool AbstractSvxAreaTabDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)
@@ -234,7 +234,7 @@ short AbstractPasteDialog_Impl::Execute()

short AbstractInsertObjectDialog_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

IMPL_ABSTDLG_BASE(AbstractLinksDialog_Impl);
@@ -267,12 +267,12 @@ void AbstractSvxCharacterMapDialog_Impl::SetText(const OUString& rStr)

short AbstractSignatureLineDialog_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractSignSignatureLineDialog_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

IMPL_ABSTDLG_BASE(AbstractScreenshotAnnotationDlg_Impl);
@@ -345,7 +345,7 @@ void CuiAbstractTabDialog_Impl::SetText( const OUString& rStr )

short CuiAbstractTabController_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

bool CuiAbstractTabController_Impl::StartExecuteAsync(AsyncContext &rCtx)
diff --git a/cui/source/factory/init.cxx b/cui/source/factory/init.cxx
index d2bf5ed..4ca3ed0 100644
--- a/cui/source/factory/init.cxx
+++ b/cui/source/factory/init.cxx
@@ -29,7 +29,7 @@ SAL_DLLPUBLIC_EXPORT bool GetSpecialCharsForEdit(vcl::Window const * i_pParent, 
    SvxCharacterMap aDlg(i_pParent ? i_pParent->GetFrameWeld() : nullptr, nullptr, false);
    aDlg.DisableFontSelection();
    aDlg.SetCharFont(i_rFont);
    if (aDlg.execute() == RET_OK)
    if (aDlg.run() == RET_OK)
    {
        sal_UCS4 cChar = aDlg.GetChar();
        // using the new UCS4 constructor
diff --git a/cui/source/inc/FontFeaturesDialog.hxx b/cui/source/inc/FontFeaturesDialog.hxx
index 4fe46ca..ccecb1f 100644
--- a/cui/source/inc/FontFeaturesDialog.hxx
+++ b/cui/source/inc/FontFeaturesDialog.hxx
@@ -63,7 +63,7 @@ private:
public:
    FontFeaturesDialog(weld::Window* pParent, OUString const& rFontName);
    ~FontFeaturesDialog() override;
    short execute();
    virtual short run() override;

    OUString const& getResultFontName() { return m_sResultFontName; }

diff --git a/cui/source/inc/SignatureLineDialogBase.hxx b/cui/source/inc/SignatureLineDialogBase.hxx
index 8954ecd..2701be2 100644
--- a/cui/source/inc/SignatureLineDialogBase.hxx
+++ b/cui/source/inc/SignatureLineDialogBase.hxx
@@ -20,7 +20,7 @@ public:
    SignatureLineDialogBase(weld::Widget* pParent, css::uno::Reference<css::frame::XModel> xModel,
                            const OUString& rUIFile, const OString& rDialogId);

    short execute();
    virtual short run() override;

protected:
    css::uno::Reference<css::frame::XModel> m_xModel;
diff --git a/cui/source/inc/cuicharmap.hxx b/cui/source/inc/cuicharmap.hxx
index bcf952a..1928fe3 100644
--- a/cui/source/inc/cuicharmap.hxx
+++ b/cui/source/inc/cuicharmap.hxx
@@ -141,7 +141,7 @@ private:

public:
    SvxCharacterMap(weld::Window* pParent, const SfxItemSet* pSet, const bool bInsert=true);
    short execute();
    virtual short run() override;

    void set_title(const OUString& rTitle) { m_xDialog->set_title(rTitle); }

diff --git a/cui/source/inc/insdlg.hxx b/cui/source/inc/insdlg.hxx
index 892386c..a63d858 100644
--- a/cui/source/inc/insdlg.hxx
+++ b/cui/source/inc/insdlg.hxx
@@ -44,7 +44,6 @@ public:
    virtual css::uno::Reference<css::io::XInputStream> GetIconIfIconified(OUString* pGraphicMediaType);
    void SetHelpId(const OString& rHelpId) { m_xDialog->set_help_id(rHelpId); }
    virtual bool IsCreateNew() const;
    virtual short execute() = 0;
};

class SvInsertOleDlg : public InsertObjectDialog_Impl
@@ -73,7 +72,7 @@ public:
    SvInsertOleDlg(weld::Window* pParent,
        const css::uno::Reference < css::embed::XStorage >& xStorage,
        const SvObjectServerList* pServers );
    virtual short execute() override;
    virtual short run() override;

    /// get replacement for the iconified embedded object and the mediatype of the replacement
    css::uno::Reference< css::io::XInputStream > GetIconIfIconified( OUString* pGraphicMediaType ) override;
@@ -110,7 +109,7 @@ public:
        const css::uno::Reference<css::embed::XStorage>& xStorage);
    SfxInsertFloatingFrameDialog(weld::Window* pParent,
        const css::uno::Reference<css::embed::XEmbeddedObject>& xObj);
    virtual short execute() override;
    virtual short run() override;
};

#endif // INCLUDED_CUI_SOURCE_INC_INSDLG_HXX
diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx
index 9b3660d..47f6625 100644
--- a/cui/source/options/optjava.cxx
+++ b/cui/source/options/optjava.cxx
@@ -278,7 +278,7 @@ IMPL_LINK_NOARG(SvxJavaOptionsPage, ParameterHdl_Impl, Button*, void)
        m_xParamDlg->DisableButtons();   //disable add, edit and remove button when dialog is reopened
    }

    if (m_xParamDlg->execute() == RET_OK)
    if (m_xParamDlg->run() == RET_OK)
    {
        if ( aParameterList != m_xParamDlg->GetParameters() )
        {
@@ -810,11 +810,11 @@ void SvxJavaParameterDlg::EditParameter()
    }
}

short SvxJavaParameterDlg::execute()
short SvxJavaParameterDlg::run()
{
    m_xParameterEdit->grab_focus();
    m_xAssignedList->select(-1);
    return m_xDialog->run();
    return GenericDialogController::run();
}

std::vector< OUString > SvxJavaParameterDlg::GetParameters() const
diff --git a/cui/source/options/optjava.hxx b/cui/source/options/optjava.hxx
index f6e7159..396cf63 100644
--- a/cui/source/options/optjava.hxx
+++ b/cui/source/options/optjava.hxx
@@ -167,7 +167,7 @@ public:
    explicit SvxJavaParameterDlg(weld::Window* pParent);
    virtual ~SvxJavaParameterDlg() override;

    short execute();
    virtual short run() override;

    std::vector< OUString > GetParameters() const;
    void SetParameters( std::vector< OUString > const & rParams );
diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index b754fd3..2a08fa6 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -729,7 +729,7 @@ IMPL_LINK_NOARG(OfaSwAutoFmtOptionsPage, EditHdl, Button*, void)
        ImpUserData* pUserData = static_cast<ImpUserData*>(m_pCheckLB->FirstSelected()->GetUserData());
        aMapDlg.SetCharFont(*pUserData->pFont);
        aMapDlg.SetChar( (*pUserData->pString)[0] );
        if (RET_OK == aMapDlg.execute())
        if (RET_OK == aMapDlg.run())
        {
            const vcl::Font& aFont(aMapDlg.GetCharFont());
            *pUserData->pFont = aFont;
@@ -2077,7 +2077,7 @@ IMPL_LINK( OfaQuoteTabPage, QuoteHdl, Button*, pBtn, void )
    }
    aMap.SetChar(  cDlg );
    aMap.DisableFontSelection();
    if (aMap.execute() == RET_OK)
    if (aMap.run() == RET_OK)
    {
        sal_UCS4 cNewChar = aMap.GetChar();
        switch( nMode )
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index cb4562e..acb3bfb 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -1167,7 +1167,7 @@ IMPL_LINK(SvxCharNamePage, FontFeatureButtonClicked, weld::Button&, rButton, voi
    if (!sFontName.isEmpty() && pNameBox)
    {
        cui::FontFeaturesDialog aDialog(GetDialogFrameWeld(), sFontName);
        if (aDialog.execute() == RET_OK)
        if (aDialog.run() == RET_OK)
        {
            pNameBox->set_active_text(aDialog.getResultFontName());
            UpdatePreview_Impl();
@@ -3093,7 +3093,7 @@ void SvxCharTwoLinesPage::SelectCharacter(weld::TreeView* pBox)
    SvxCharacterMap aDlg(GetFrameWeld(), nullptr, false);
    aDlg.DisableFontSelection();

    if (aDlg.execute() == RET_OK)
    if (aDlg.run() == RET_OK)
    {
        sal_Unicode cChar = static_cast<sal_Unicode>(aDlg.GetChar());
        SetBracket( cChar, bStart );
diff --git a/cui/source/tabpages/numpages.cxx b/cui/source/tabpages/numpages.cxx
index 59e5862..fc58657 100644
--- a/cui/source/tabpages/numpages.cxx
+++ b/cui/source/tabpages/numpages.cxx
@@ -1983,7 +1983,7 @@ IMPL_LINK_NOARG(SvxNumOptionsTabPage, BulletHdl_Impl, weld::Button&, void)
        aMap.SetCharFont(aActBulletFont);
    if (bSameBullet)
        aMap.SetChar(cBullet);
    if (aMap.execute() == RET_OK)
    if (aMap.run() == RET_OK)
    {
        // change Font Numrules
        aActBulletFont = aMap.GetCharFont();
diff --git a/cui/uiconfig/ui/calloutdialog.ui b/cui/uiconfig/ui/calloutdialog.ui
index 8956c6c..6cc6794 100644
--- a/cui/uiconfig/ui/calloutdialog.ui
+++ b/cui/uiconfig/ui/calloutdialog.ui
@@ -90,7 +90,7 @@
        <child>
          <object class="GtkNotebook" id="tabcontrol">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can_focus">True</property>
            <property name="hexpand">True</property>
            <property name="vexpand">True</property>
            <property name="scrollable">True</property>
diff --git a/dbaccess/source/ui/browser/genericcontroller.cxx b/dbaccess/source/ui/browser/genericcontroller.cxx
index 8baf8a5..2e660cc 100644
--- a/dbaccess/source/ui/browser/genericcontroller.cxx
+++ b/dbaccess/source/ui/browser/genericcontroller.cxx
@@ -931,7 +931,7 @@ void OGenericUnoController::clearView()

void OGenericUnoController::showError(const SQLExceptionInfo& _rInfo)
{
    ::dbaui::showError(_rInfo,getView(),getORB());
    ::dbtools::showError(_rInfo,VCLUnoHelper::GetInterface(getView()),getORB());
}

Reference< XLayoutManager > OGenericUnoController::getLayoutManager(const Reference< XFrame >& _xFrame)
diff --git a/dbaccess/source/ui/browser/sbagrid.cxx b/dbaccess/source/ui/browser/sbagrid.cxx
index 4726dd8c5..01603fa 100644
--- a/dbaccess/source/ui/browser/sbagrid.cxx
+++ b/dbaccess/source/ui/browser/sbagrid.cxx
@@ -1445,7 +1445,7 @@ IMPL_LINK_NOARG(SbaGridControl, AsynchDropEvent, void*, void)
            if (m_pMasterListener)
                m_pMasterListener->AfterDrop();
            Show();
            ::dbaui::showError( ::dbtools::SQLExceptionInfo(e), this, getContext() );
            ::dbtools::showError( ::dbtools::SQLExceptionInfo(e), VCLUnoHelper::GetInterface(this), getContext() );
        }
        catch(const Exception& )
        {
diff --git a/dbaccess/source/ui/control/TableGrantCtrl.cxx b/dbaccess/source/ui/control/TableGrantCtrl.cxx
index 44b575c..b8e8892 100644
--- a/dbaccess/source/ui/control/TableGrantCtrl.cxx
+++ b/dbaccess/source/ui/control/TableGrantCtrl.cxx
@@ -242,7 +242,7 @@ bool OTableGrantControl::SaveModified()
    catch(SQLException& e)
    {
        bErg = false;
        ::dbaui::showError(::dbtools::SQLExceptionInfo(e),GetParent(),m_xContext);
        ::dbtools::showError(::dbtools::SQLExceptionInfo(e),VCLUnoHelper::GetInterface(GetParent()),m_xContext);
    }
    if(bErg && Controller().is())
        Controller()->ClearModified();
@@ -302,7 +302,7 @@ void OTableGrantControl::fillPrivilege(sal_Int32 _nRow) const
        }
        catch(SQLException& e)
        {
            ::dbaui::showError(::dbtools::SQLExceptionInfo(e),GetParent(),m_xContext);
            ::dbtools::showError(::dbtools::SQLExceptionInfo(e),VCLUnoHelper::GetInterface(GetParent()),m_xContext);
        }
        catch(Exception& )
        {
diff --git a/dbaccess/source/ui/dlg/CollectionView.cxx b/dbaccess/source/ui/dlg/CollectionView.cxx
index 6c75204..81fda93 100644
--- a/dbaccess/source/ui/dlg/CollectionView.cxx
+++ b/dbaccess/source/ui/dlg/CollectionView.cxx
@@ -201,7 +201,7 @@ IMPL_LINK_NOARG(OCollectionView, NewFolder_Click, Button*, void)
    }
    catch( const SQLException& )
    {
        showError( ::dbtools::SQLExceptionInfo( ::cppu::getCaughtException() ), this, m_xContext );
        showError( ::dbtools::SQLExceptionInfo( ::cppu::getCaughtException() ), VCLUnoHelper::GetInterface(this), m_xContext );
    }
    catch( const Exception& )
    {
diff --git a/dbaccess/source/ui/dlg/DbAdminImpl.cxx b/dbaccess/source/ui/dlg/DbAdminImpl.cxx
index c8d99ff..20f8143 100644
--- a/dbaccess/source/ui/dlg/DbAdminImpl.cxx
+++ b/dbaccess/source/ui/dlg/DbAdminImpl.cxx
@@ -133,9 +133,9 @@ namespace
}

    // ODbDataSourceAdministrationHelper
ODbDataSourceAdministrationHelper::ODbDataSourceAdministrationHelper(const Reference< XComponentContext >& _xORB, vcl::Window* _pParent,IItemSetHelper* _pItemSetHelper)
ODbDataSourceAdministrationHelper::ODbDataSourceAdministrationHelper(const Reference< XComponentContext >& _xORB, weld::Window* pParent, weld::Window* pTopParent, IItemSetHelper* _pItemSetHelper)
        : m_xContext(_xORB)
        , m_pParent(_pParent)
        , m_pParent(pParent)
        , m_pItemSetHelper(_pItemSetHelper)
{
    /// initialize the property translation map
@@ -200,8 +200,7 @@ ODbDataSourceAdministrationHelper::ODbDataSourceAdministrationHelper(const Refer
    }
    catch(const Exception&)
    {
        vcl::Window* pTopParent = _pParent->GetParent();
        ShowServiceNotAvailableError(pTopParent ? pTopParent->GetFrameWeld() : nullptr, "com.sun.star.sdb.DatabaseContext", true);
        ShowServiceNotAvailableError(pTopParent, "com.sun.star.sdb.DatabaseContext", true);
    }
}

@@ -352,7 +351,7 @@ std::pair< Reference<XConnection>,bool> ODbDataSourceAdministrationHelper::creat
        SQLExceptionInfo aErrorInfo;
        try
        {
            WaitObject aWaitCursor(m_pParent);
            weld::WaitObject aWaitCursor(m_pParent);
            aRet.first = getDriver()->connect(getConnectionURL(), aConnectionParams);
            aRet.second = true;
        }
@@ -360,7 +359,7 @@ std::pair< Reference<XConnection>,bool> ODbDataSourceAdministrationHelper::creat
        catch (const SQLWarning& e) { aErrorInfo = SQLExceptionInfo(e); }
        catch (const SQLException& e) { aErrorInfo = SQLExceptionInfo(e); }

        showError(aErrorInfo,m_pParent,getORB());
        showError(aErrorInfo,m_pParent->GetXWindow(),getORB());
    }
    if ( aRet.first.is() )
        successfullyConnected();// notify the admindlg to save the password
diff --git a/dbaccess/source/ui/dlg/DbAdminImpl.hxx b/dbaccess/source/ui/dlg/DbAdminImpl.hxx
index 2912619..559db0e 100644
--- a/dbaccess/source/ui/dlg/DbAdminImpl.hxx
+++ b/dbaccess/source/ui/dlg/DbAdminImpl.hxx
@@ -35,9 +35,8 @@
#include <svl/itemset.hxx>
#include <com/sun/star/frame/XModel.hpp>
#include <svl/poolitem.hxx>
#include <vcl/vclptr.hxx>
#include <vcl/weld.hxx>

namespace vcl { class Window; }
namespace dbaui
{
    namespace DataSourceInfoConverter
@@ -67,13 +66,13 @@ namespace dbaui

        MapInt2String           m_aDirectPropTranslator;    /// translating property id's into names (direct properties of a data source)
        MapInt2String           m_aIndirectPropTranslator;  /// translating property id's into names (indirect properties of a data source)
        VclPtr<vcl::Window>     m_pParent;
        weld::Window*           m_pParent;
        IItemSetHelper*         m_pItemSetHelper;
    public:

        ODbDataSourceAdministrationHelper(const css::uno::Reference< css::uno::XComponentContext >& _xORB
                                        ,vcl::Window* _pParent
                                        ,IItemSetHelper* _pItemSetHelper);
        ODbDataSourceAdministrationHelper(const css::uno::Reference< css::uno::XComponentContext >& _xORB,
                                          weld::Window* pParent, weld::Window* pTopParent,
                                          IItemSetHelper* _pItemSetHelper);

        /** translate the current dialog SfxItems into driver relevant PropertyValues
            @see successfullyConnected
diff --git a/dbaccess/source/ui/dlg/RelationDlg.cxx b/dbaccess/source/ui/dlg/RelationDlg.cxx
index a724f3e..873028b 100644
--- a/dbaccess/source/ui/dlg/RelationDlg.cxx
+++ b/dbaccess/source/ui/dlg/RelationDlg.cxx
@@ -199,8 +199,8 @@ IMPL_LINK_NOARG( ORelationDialog, OKClickHdl, Button*, void )
    }
    catch( const SQLException& )
    {
        ::dbaui::showError( SQLExceptionInfo( ::cppu::getCaughtException() ),
                            this,
        ::dbtools::showError( SQLExceptionInfo( ::cppu::getCaughtException() ),
                            VCLUnoHelper::GetInterface(this),
                            static_cast<OJoinTableView*>(GetParent())->getDesignView()->getController().getORB());
    }
    catch( const Exception& )
diff --git a/dbaccess/source/ui/dlg/TablesSingleDlg.cxx b/dbaccess/source/ui/dlg/TablesSingleDlg.cxx
index 8c74ed4..b332f00 100644
--- a/dbaccess/source/ui/dlg/TablesSingleDlg.cxx
+++ b/dbaccess/source/ui/dlg/TablesSingleDlg.cxx
@@ -38,7 +38,7 @@ OTableSubscriptionDialog::OTableSubscriptionDialog(vcl::Window* pParent
            ,const css::uno::Any& _aDataSourceName)
    : SfxSingleTabDialog(pParent, _pItems, "TablesFilterDialog",
        "dbaccess/ui/tablesfilterdialog.ui")
    , m_pImpl( new ODbDataSourceAdministrationHelper( _rxORB, pParent, this ) )
    , m_pImpl( new ODbDataSourceAdministrationHelper( _rxORB, GetFrameWeld(), pParent ? pParent->GetFrameWeld() : nullptr, this ) )
    , m_bStopExecution(false)
{
    m_pImpl->setDataSourceOrName(_aDataSourceName);
diff --git a/dbaccess/source/ui/dlg/UserAdmin.cxx b/dbaccess/source/ui/dlg/UserAdmin.cxx
index 74a1db8..c35e203 100644
--- a/dbaccess/source/ui/dlg/UserAdmin.cxx
+++ b/dbaccess/source/ui/dlg/UserAdmin.cxx
@@ -203,7 +203,7 @@ IMPL_LINK( OUserAdmin, UserHdl, Button *, pButton, void )
        {
            SfxPasswordDialog aPwdDlg(GetFrameWeld());
            aPwdDlg.ShowExtras(SfxShowExtras::ALL);
            if (aPwdDlg.execute())
            if (aPwdDlg.run())
            {
                Reference<XDataDescriptorFactory> xUserFactory(m_xUsers,UNO_QUERY);
                Reference<XPropertySet> xNewUser = xUserFactory->createDataDescriptor();
@@ -259,7 +259,7 @@ IMPL_LINK( OUserAdmin, UserHdl, Button *, pButton, void )
    }
    catch(const SQLException& e)
    {
        ::dbaui::showError(::dbtools::SQLExceptionInfo(e), this, m_xORB);
        ::dbtools::showError(::dbtools::SQLExceptionInfo(e), VCLUnoHelper::GetInterface(this), m_xORB);
    }
    catch(Exception& )
    {
@@ -316,7 +316,7 @@ void OUserAdmin::implInitControls(const SfxItemSet& _rSet, bool _bSaveValue)
    }
    catch(const SQLException& e)
    {
        ::dbaui::showError(::dbtools::SQLExceptionInfo(e), this, m_xORB);
        ::dbtools::showError(::dbtools::SQLExceptionInfo(e), VCLUnoHelper::GetInterface(this), m_xORB);
    }

    OGenericAdministrationPage::implInitControls(_rSet, _bSaveValue);
diff --git a/dbaccess/source/ui/dlg/UserAdminDlg.cxx b/dbaccess/source/ui/dlg/UserAdminDlg.cxx
index a818462..48bc536 100644
--- a/dbaccess/source/ui/dlg/UserAdminDlg.cxx
+++ b/dbaccess/source/ui/dlg/UserAdminDlg.cxx
@@ -56,7 +56,7 @@ namespace dbaui
        , m_xConnection(_xConnection)
        , m_bOwnConnection(!_xConnection.is())
    {
        m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxORB,_pParent,this));
        m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxORB,GetFrameWeld(),_pParent ? _pParent->GetFrameWeld() : nullptr, this));
        m_pImpl->setDataSourceOrName(_aDataSourceName);
        Reference< XPropertySet > xDatasource = m_pImpl->getCurrentDataSource();
        m_pImpl->translateProperties(xDatasource, *_pItems);
@@ -107,7 +107,7 @@ namespace dbaui
        }
        catch(const SQLException&)
        {
            ::dbaui::showError( ::dbtools::SQLExceptionInfo( ::cppu::getCaughtException() ), GetParent(), getORB() );
            ::dbtools::showError(::dbtools::SQLExceptionInfo(::cppu::getCaughtException()), VCLUnoHelper::GetInterface(GetParent()), getORB());
            return RET_CANCEL;
        }
        catch(const Exception&)
diff --git a/dbaccess/source/ui/dlg/advancedsettings.cxx b/dbaccess/source/ui/dlg/advancedsettings.cxx
index 10393c4..696c0fe 100644
--- a/dbaccess/source/ui/dlg/advancedsettings.cxx
+++ b/dbaccess/source/ui/dlg/advancedsettings.cxx
@@ -343,19 +343,17 @@ namespace dbaui
    }

    // AdvancedSettingsDialog
    AdvancedSettingsDialog::AdvancedSettingsDialog( vcl::Window* _pParent, SfxItemSet* _pItems,
    AdvancedSettingsDialog::AdvancedSettingsDialog(weld::Window* pParent, SfxItemSet* _pItems,
        const Reference< XComponentContext >& _rxContext, const Any& _aDataSourceName )
        : SfxTabDialog(_pParent, "AdvancedSettingsDialog",
            "dbaccess/ui/advancedsettingsdialog.ui", _pItems)
        : SfxTabDialogController(pParent, "dbaccess/ui/advancedsettingsdialog.ui", "AdvancedSettingsDialog", _pItems)
    {
        m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxContext,_pParent,this));
        m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxContext, m_xDialog.get(), pParent, this));
        m_pImpl->setDataSourceOrName(_aDataSourceName);
        Reference< XPropertySet > xDatasource = m_pImpl->getCurrentDataSource();
        m_pImpl->translateProperties(xDatasource, *_pItems);
        SetInputSet(_pItems);
        // propagate this set as our new input set and reset the example set
        delete m_pExampleSet;
        m_pExampleSet = new SfxItemSet(*GetInputSetImpl());
        m_xExampleSet.reset(new SfxItemSet(*GetInputSetImpl()));

        const OUString eType = dbaui::ODbDataSourceAdministrationHelper::getDatasourceType(*_pItems);

@@ -380,14 +378,7 @@ namespace dbaui

    AdvancedSettingsDialog::~AdvancedSettingsDialog()
    {
        disposeOnce();
    }

    void AdvancedSettingsDialog::dispose()
    {
        SetInputSet(nullptr);
        DELETEZ(m_pExampleSet);
        SfxTabDialog::dispose();
    }

    bool AdvancedSettingsDialog::doesHaveAnyAdvancedSettings( const OUString& _sURL )
@@ -397,38 +388,33 @@ namespace dbaui
        return rFeatures.supportsGeneratedValues() || rFeatures.supportsAnySpecialSetting();
    }

    short AdvancedSettingsDialog::Execute()
    short AdvancedSettingsDialog::Ok()
    {
        short nRet = SfxTabDialog::Execute();
        short nRet = SfxTabDialogController::Ok();
        if ( nRet == RET_OK )
        {
            m_pExampleSet->Put(*GetOutputItemSet());
            m_pImpl->saveChanges(*m_pExampleSet);
            m_xExampleSet->Put(*GetOutputItemSet());
            m_pImpl->saveChanges(*m_xExampleSet);
        }
        return nRet;
    }

    void AdvancedSettingsDialog::PageCreated(sal_uInt16 _nId, SfxTabPage& _rPage)
    void AdvancedSettingsDialog::PageCreated(const OString& rId, SfxTabPage& _rPage)
    {
        // register ourself as modified listener
        static_cast<OGenericAdministrationPage&>(_rPage).SetServiceFactory( getORB() );
        static_cast<OGenericAdministrationPage&>(_rPage).SetAdminDialog(this,this);

        vcl::Window *pWin = GetViewWindow();
        if(pWin)
            pWin->Invalidate();

        SfxTabDialog::PageCreated(_nId, _rPage);
        SfxTabDialogController::PageCreated(rId, _rPage);
    }

    const SfxItemSet* AdvancedSettingsDialog::getOutputSet() const
    {
        return m_pExampleSet;
        return m_xExampleSet.get();
    }

    SfxItemSet* AdvancedSettingsDialog::getWriteOutputSet()
    {
        return m_pExampleSet;
        return m_xExampleSet.get();
    }

    std::pair< Reference< XConnection >, bool > AdvancedSettingsDialog::createConnection()
@@ -458,7 +444,7 @@ namespace dbaui

    void AdvancedSettingsDialog::setTitle(const OUString& _sTitle)
    {
        SetText(_sTitle);
        m_xDialog->set_title(_sTitle);
    }

    void AdvancedSettingsDialog::enableConfirmSettings( bool ) {}
diff --git a/dbaccess/source/ui/dlg/dbadmin.cxx b/dbaccess/source/ui/dlg/dbadmin.cxx
index 431dcc9..d267f7e 100644
--- a/dbaccess/source/ui/dlg/dbadmin.cxx
+++ b/dbaccess/source/ui/dlg/dbadmin.cxx
@@ -53,7 +53,7 @@ ODbAdminDialog::ODbAdminDialog(vcl::Window* _pParent
        "dbaccess/ui/admindialog.ui", _pItems)
    , m_bUIEnabled(true)
{
    m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxContext,this,this));
    m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxContext,GetFrameWeld(), _pParent ? _pParent->GetFrameWeld() : nullptr, this));

    // add the initial tab page
    m_nMainPageID = AddTabPage("advanced", OConnectionTabPage::Create, nullptr);
diff --git a/dbaccess/source/ui/dlg/dbwiz.cxx b/dbaccess/source/ui/dlg/dbwiz.cxx
index 603adbe..2eb084e 100644
--- a/dbaccess/source/ui/dlg/dbwiz.cxx
+++ b/dbaccess/source/ui/dlg/dbwiz.cxx
@@ -69,7 +69,7 @@ ODbTypeWizDialog::ODbTypeWizDialog(vcl::Window* _pParent
                               )
    :OWizardMachine(_pParent, WizardButtonFlags::NEXT | WizardButtonFlags::PREVIOUS | WizardButtonFlags::FINISH | WizardButtonFlags::CANCEL | WizardButtonFlags::HELP )
{
    m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxORB,this,this));
    m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxORB,GetFrameWeld(), _pParent ? _pParent->GetFrameWeld() : nullptr, this));
    m_pImpl->setDataSourceOrName(_aDataSourceName);
    Reference< XPropertySet > xDatasource = m_pImpl->getCurrentDataSource();
    m_pOutSet.reset(new SfxItemSet( *_pItems->GetPool(), _pItems->GetRanges() ));
diff --git a/dbaccess/source/ui/dlg/dbwizsetup.cxx b/dbaccess/source/ui/dlg/dbwizsetup.cxx
index 8d25814..1756595 100644
--- a/dbaccess/source/ui/dlg/dbwizsetup.cxx
+++ b/dbaccess/source/ui/dlg/dbwizsetup.cxx
@@ -135,7 +135,7 @@ ODbTypeWizDialogSetup::ODbTypeWizDialogSetup(vcl::Window* _pParent

    OSL_ENSURE(m_pCollection, "ODbTypeWizDialogSetup::ODbTypeWizDialogSetup : really need a DSN type collection !");

    m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxORB,this,this));
    m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxORB,GetFrameWeld(),_pParent ? _pParent->GetFrameWeld() : nullptr, this));
    m_pImpl->setDataSourceOrName(_aDataSourceName);
    Reference< XPropertySet > xDatasource = m_pImpl->getCurrentDataSource();
    m_pOutSet.reset( new SfxItemSet( *_pItems->GetPool(), _pItems->GetRanges() ) );
diff --git a/dbaccess/source/ui/dlg/dlgsave.cxx b/dbaccess/source/ui/dlg/dlgsave.cxx
index 95b2543..e5c5492 100644
--- a/dbaccess/source/ui/dlg/dlgsave.cxx
+++ b/dbaccess/source/ui/dlg/dlgsave.cxx
@@ -298,7 +298,7 @@ IMPL_LINK(OSaveAsDlg, ButtonClickHdl, Button *, pButton, void)
        if ( m_pImpl->m_rObjectNameCheck.isNameValid( sNameToCheck, aNameError ) )
            EndDialog( RET_OK );

        showError( aNameError, this, m_xContext );
        showError( aNameError, VCLUnoHelper::GetInterface(this), m_xContext );
        m_pImpl->m_pTitle->GrabFocus();
    }
}
diff --git a/dbaccess/source/ui/dlg/indexdialog.cxx b/dbaccess/source/ui/dlg/indexdialog.cxx
index 30f94d1..5494f26 100644
--- a/dbaccess/source/ui/dlg/indexdialog.cxx
+++ b/dbaccess/source/ui/dlg/indexdialog.cxx
@@ -221,7 +221,7 @@ namespace dbaui
        }
        catch(SQLException& e)
        {
            ::dbaui::showError(SQLExceptionInfo(e),_pParent,_rxContext);
            ::dbtools::showError(SQLExceptionInfo(e),VCLUnoHelper::GetInterface(_pParent),_rxContext);
        }
        catch(Exception&)
        {
@@ -345,7 +345,7 @@ namespace dbaui
        updateToolbox();

        if (aExceptionInfo.isValid())
            showError(aExceptionInfo, this, m_xContext);
            showError(aExceptionInfo, VCLUnoHelper::GetInterface(this), m_xContext);
        else
        {
            m_pUnique->SaveValue();
@@ -445,7 +445,7 @@ namespace dbaui
        catch(SQLException& e) { aExceptionInfo = SQLExceptionInfo(e); }

        if (aExceptionInfo.isValid())
            showError(aExceptionInfo, this, m_xContext);
            showError(aExceptionInfo, VCLUnoHelper::GetInterface(this), m_xContext);
        else if (bSuccess && _bRemoveFromCollection)
        {
            SvTreeList* pModel = m_pIndexList->GetModel();
@@ -526,7 +526,7 @@ namespace dbaui
        catch(SQLException& e) { aExceptionInfo = SQLExceptionInfo(e); }

        if (aExceptionInfo.isValid())
            showError(aExceptionInfo, this, m_xContext);
            showError(aExceptionInfo, VCLUnoHelper::GetInterface(this), m_xContext);
        else
            m_pIndexList->SetEntryText(pSelected, aResetPos->sName);

diff --git a/dbaccess/source/ui/inc/UITools.hxx b/dbaccess/source/ui/inc/UITools.hxx
index 0c4ae7a..6c7a7b5 100644
--- a/dbaccess/source/ui/inc/UITools.hxx
+++ b/dbaccess/source/ui/inc/UITools.hxx
@@ -23,6 +23,7 @@
#include <comphelper/stl_types.hxx>
#include "TypeInfo.hxx"
#include <editeng/svxenum.hxx>
#include <toolkit/helper/vclunohelper.hxx>
#include <vcl/taskpanelist.hxx>
#include <connectivity/dbtools.hxx>

@@ -46,6 +47,7 @@ namespace com { namespace sun { namespace star {
    namespace awt
    {
        struct FontDescriptor;
        class XWindow;
    }
    namespace sdbc
    {
@@ -103,15 +105,6 @@ namespace dbaui
                                    css::uno::Reference< css::lang::XEventListener> const & _rEvtLst,
                                    css::uno::Reference< css::sdbc::XConnection>& _rOUTConnection );

    /**  creates a error dialog which displays the SQLExceptionInfo. Also it supports a "more" button where detailed information are available
        @param  _rInfo                  the error which should be shown, if the info is not valid no error dialog will appear
        @param  _pParent                the parent of the error dialog
        @param  _rxContext              need to create the dialog
    */
    void showError( const ::dbtools::SQLExceptionInfo& _rInfo,
                    vcl::Window* _pParent,
                    const css::uno::Reference< css::uno::XComponentContext >& _rxContext);

    /** fills a map and a vector with localized type names
        @param  _rxConnection   the connection to access the metadata
        @param  _rsTypeNames    a list of localized type names separated with ';'
diff --git a/dbaccess/source/ui/inc/advancedsettingsdlg.hxx b/dbaccess/source/ui/inc/advancedsettingsdlg.hxx
index 459e46d..f2d6e68 100644
--- a/dbaccess/source/ui/inc/advancedsettingsdlg.hxx
+++ b/dbaccess/source/ui/inc/advancedsettingsdlg.hxx
@@ -21,9 +21,7 @@
#define INCLUDED_DBACCESS_SOURCE_UI_INC_ADVANCEDSETTINGSDLG_HXX

#include "IItemSetHelper.hxx"

#include <sfx2/tabdlg.hxx>

#include <memory>

namespace dbaui
@@ -33,23 +31,23 @@ namespace dbaui
    class ODbDataSourceAdministrationHelper;
    /** implements the advanced page dlg of the data source properties.
    */
    class AdvancedSettingsDialog    :public SfxTabDialog
                                    ,public IItemSetHelper
                                    ,public IDatabaseSettingsDialog
    class AdvancedSettingsDialog : public SfxTabDialogController
                                 , public IItemSetHelper
                                 , public IDatabaseSettingsDialog
    {
        std::unique_ptr<ODbDataSourceAdministrationHelper>  m_pImpl;

    protected:
        virtual void PageCreated(sal_uInt16 _nId, SfxTabPage& _rPage) override;
        virtual void PageCreated(const OString& rId, SfxTabPage& _rPage) override;
        virtual short Ok() override;

    public:
        AdvancedSettingsDialog( vcl::Window* _pParent
                            ,SfxItemSet* _pItems
                            ,const css::uno::Reference< css::uno::XComponentContext >& _rxORB
                            ,const css::uno::Any& _aDataSourceName);
        AdvancedSettingsDialog(weld::Window* pParent,
                               SfxItemSet* _pItems,
                               const css::uno::Reference< css::uno::XComponentContext >& _rxORB,
                               const css::uno::Any& _aDataSourceName);

        virtual ~AdvancedSettingsDialog() override;
        virtual void dispose() override;

        /// determines whether or not the given data source type has any advanced setting
        static  bool    doesHaveAnyAdvancedSettings( const OUString& _sURL );
@@ -57,8 +55,6 @@ namespace dbaui
        virtual const SfxItemSet* getOutputSet() const override;
        virtual SfxItemSet* getWriteOutputSet() override;

        virtual short   Execute() override;

        // forwards to ODbDataSourceAdministrationHelper
        virtual css::uno::Reference< css::uno::XComponentContext > getORB() const override;
        virtual std::pair< css::uno::Reference< css::sdbc::XConnection >,bool> createConnection() override;
diff --git a/dbaccess/source/ui/misc/DExport.cxx b/dbaccess/source/ui/misc/DExport.cxx
index 0fb7b3c..e2f87ec 100644
--- a/dbaccess/source/ui/misc/DExport.cxx
+++ b/dbaccess/source/ui/misc/DExport.cxx
@@ -729,7 +729,7 @@ bool ODatabaseExport::executeWizard(const OUString& _rTableName, const Any& _aTe
    }
    catch( const SQLException&)
    {
        ::dbaui::showError( ::dbtools::SQLExceptionInfo( ::cppu::getCaughtException() ), aWizard.get(), m_xContext );
        ::dbtools::showError( ::dbtools::SQLExceptionInfo( ::cppu::getCaughtException() ), VCLUnoHelper::GetInterface(aWizard.get()), m_xContext );
        bError = true;
    }
    catch( const Exception& )
diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx
index 78e1347..0f9b8dd 100644
--- a/dbaccess/source/ui/misc/UITools.cxx
+++ b/dbaccess/source/ui/misc/UITools.cxx
@@ -66,6 +66,7 @@
#include <com/sun/star/awt/FontWeight.hpp>
#include <com/sun/star/awt/FontRelief.hpp>
#include <com/sun/star/awt/FontWidth.hpp>
#include <com/sun/star/awt/XWindow.hpp>
#include <TypeInfo.hxx>
#include <FieldDescriptions.hxx>
#include <comphelper/stl_types.hxx>
@@ -257,7 +258,7 @@ Reference< XDataSource > getDataSourceByName( const OUString& _rDataSourceName,
        }
        else
        {
            showError( aSQLError, _pErrorMessageParent, _rxContext );
            showError( aSQLError, VCLUnoHelper::GetInterface(_pErrorMessageParent), _rxContext );
        }
    }

@@ -281,12 +282,6 @@ Reference< XInterface > getDataSourceOrModel(const Reference< XInterface >& _xOb
    return xRet;
}

void showError(const SQLExceptionInfo& _rInfo, vcl::Window* _pParent,const Reference< XComponentContext >& _rxContext)
{
    OSL_ENSURE(_pParent,"showError: Parent window must be NOT NULL!");
    ::dbtools::showError(_rInfo,VCLUnoHelper::GetInterface(_pParent), _rxContext);
}

TOTypeInfoSP getTypeInfoFromType(const OTypeInfoMap& _rTypeInfo,
                               sal_Int32 _nType,
                               const OUString& _sTypeName,
@@ -846,7 +841,7 @@ bool callColumnFormatDialog(vcl::Window* _pParent,

    {   // want the dialog to be destroyed before our set
        SbaSbAttrDlg aDlg(_pParent->GetFrameWeld(), pFormatDescriptor.get(), _pFormatter, _bHasFormat);
        if (RET_OK == aDlg.execute())
        if (RET_OK == aDlg.run())
        {
            // ItemSet->UNO
            // UNO-properties
diff --git a/dbaccess/source/ui/misc/datasourceconnector.cxx b/dbaccess/source/ui/misc/datasourceconnector.cxx
index fc01797..f1c8dd1 100644
--- a/dbaccess/source/ui/misc/datasourceconnector.cxx
+++ b/dbaccess/source/ui/misc/datasourceconnector.cxx
@@ -197,7 +197,7 @@ namespace dbaui
            }
            else
            {
                showError( aInfo, m_pErrorMessageParent, m_xContext );
                showError(aInfo, VCLUnoHelper::GetInterface(m_pErrorMessageParent), m_xContext);
            }
        }
        return xConnection;
diff --git a/dbaccess/source/ui/querydesign/JoinTableView.cxx b/dbaccess/source/ui/querydesign/JoinTableView.cxx
index 5e46b34..51fd3d9 100644
--- a/dbaccess/source/ui/querydesign/JoinTableView.cxx
+++ b/dbaccess/source/ui/querydesign/JoinTableView.cxx
@@ -289,14 +289,14 @@ TTableWindowData::value_type OJoinTableView::createTableWindowData(const OUStrin
    }
    catch ( const SQLException& )
    {
        ::dbaui::showError( ::dbtools::SQLExceptionInfo( ::cppu::getCaughtException() ),
            pParent, pParent->getController().getORB() );
        ::dbtools::showError( ::dbtools::SQLExceptionInfo( ::cppu::getCaughtException() ),
            VCLUnoHelper::GetInterface(pParent), pParent->getController().getORB() );
    }
    catch( const WrappedTargetException& e )
    {
        SQLException aSql;
        if ( e.TargetException >>= aSql )
            ::dbaui::showError( ::dbtools::SQLExceptionInfo( aSql ), pParent, pParent->getController().getORB() );
            ::dbtools::showError( ::dbtools::SQLExceptionInfo( aSql ), VCLUnoHelper::GetInterface(pParent), pParent->getController().getORB() );
    }
    catch( const Exception& )
    {
diff --git a/dbaccess/source/ui/uno/AdvancedSettingsDlg.cxx b/dbaccess/source/ui/uno/AdvancedSettingsDlg.cxx
index 1631456..be42039 100644
--- a/dbaccess/source/ui/uno/AdvancedSettingsDlg.cxx
+++ b/dbaccess/source/ui/uno/AdvancedSettingsDlg.cxx
@@ -125,7 +125,8 @@ namespace dbaui

    svt::OGenericUnoDialog::Dialog OAdvancedSettingsDialog::createDialog(const css::uno::Reference<css::awt::XWindow>& rParent)
    {
        return svt::OGenericUnoDialog::Dialog(VclPtr<AdvancedSettingsDialog>::Create(VCLUnoHelper::GetWindow(rParent), m_pDatasourceItems.get(), m_aContext, m_aInitialSelection));
        return svt::OGenericUnoDialog::Dialog(o3tl::make_unique<AdvancedSettingsDialog>(Application::GetFrameWeld(rParent), m_pDatasourceItems.get(),
                                                                                        m_aContext, m_aInitialSelection));
    }

}   // namespace dbaui
diff --git a/dbaccess/uiconfig/ui/advancedsettingsdialog.ui b/dbaccess/uiconfig/ui/advancedsettingsdialog.ui
index ac20202..a94e771 100644
--- a/dbaccess/uiconfig/ui/advancedsettingsdialog.ui
+++ b/dbaccess/uiconfig/ui/advancedsettingsdialog.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 -->
<!-- Generated with glade 3.22.1 -->
<interface domain="dba">
  <requires lib="gtk+" version="3.18"/>
  <object class="GtkDialog" id="AdvancedSettingsDialog">
@@ -7,7 +7,11 @@
    <property name="border_width">6</property>
    <property name="title" translatable="yes" context="advancedsettingsdialog|AdvancedSettingsDialog">Advanced Settings</property>
    <property name="resizable">False</property>
    <property name="modal">True</property>
    <property name="type_hint">dialog</property>
    <child>
      <placeholder/>
    </child>
    <child internal-child="vbox">
      <object class="GtkBox" id="dialog-vbox1">
        <property name="can_focus">False</property>
@@ -18,6 +22,20 @@
            <property name="can_focus">False</property>
            <property name="layout_style">end</property>
            <child>
              <object class="GtkButton" id="reset">
                <property name="label">gtk-revert-to-saved</property>
                <property name="can_focus">True</property>
                <property name="receives_default">True</property>
                <property name="no_show_all">True</property>
                <property name="use_stock">True</property>
              </object>
              <packing>
                <property name="expand">False</property>
                <property name="fill">True</property>
                <property name="position">0</property>
              </packing>
            </child>
            <child>
              <object class="GtkButton" id="ok">
                <property name="label">gtk-ok</property>
                <property name="visible">True</property>
@@ -30,7 +48,7 @@
              <packing>
                <property name="expand">False</property>
                <property name="fill">True</property>
                <property name="position">0</property>
                <property name="position">1</property>
              </packing>
            </child>
            <child>
@@ -44,7 +62,7 @@
              <packing>
                <property name="expand">False</property>
                <property name="fill">True</property>
                <property name="position">1</property>
                <property name="position">2</property>
              </packing>
            </child>
            <child>
@@ -58,7 +76,7 @@
              <packing>
                <property name="expand">False</property>
                <property name="fill">True</property>
                <property name="position">2</property>
                <property name="position">3</property>
                <property name="secondary">True</property>
              </packing>
            </child>
@@ -73,7 +91,7 @@
        <child>
          <object class="GtkNotebook" id="tabcontrol">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can_focus">True</property>
            <property name="hexpand">True</property>
            <property name="vexpand">True</property>
            <property name="scrollable">True</property>
@@ -85,6 +103,30 @@
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
              </object>
            </child>
            <child type="tab">
@@ -104,6 +146,30 @@
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
              </object>
              <packing>
                <property name="position">1</property>
@@ -131,6 +197,7 @@
      </object>
    </child>
    <action-widgets>
      <action-widget response="0">reset</action-widget>
      <action-widget response="-5">ok</action-widget>
      <action-widget response="-6">cancel</action-widget>
      <action-widget response="-11">help</action-widget>
diff --git a/extensions/source/propctrlr/fontdialog.cxx b/extensions/source/propctrlr/fontdialog.cxx
index 8136fb7..76854b0 100644
--- a/extensions/source/propctrlr/fontdialog.cxx
+++ b/extensions/source/propctrlr/fontdialog.cxx
@@ -174,7 +174,6 @@ namespace pcr
        SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
        AddTabPage("font", pFact->GetTabPageCreatorFunc(RID_SVXPAGE_CHAR_NAME), nullptr );
        AddTabPage("fonteffects", pFact->GetTabPageCreatorFunc(RID_SVXPAGE_CHAR_EFFECTS), nullptr );
        Start_Impl();
    }

    ControlCharacterDialog::~ControlCharacterDialog()
diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx b/extensions/source/propctrlr/formcomponenthandler.cxx
index 6aeaffd..f8db077 100644
--- a/extensions/source/propctrlr/formcomponenthandler.cxx
+++ b/extensions/source/propctrlr/formcomponenthandler.cxx
@@ -2529,7 +2529,7 @@ namespace pcr
        OUString sPropertyUIName( m_pInfoService->getPropertyTranslation( m_pInfoService->getPropertyId( _rProperty ) ) );
        ListSelectionDialog aDialog(impl_getDefaultDialogFrame_nothrow(), m_xComponent, _rProperty, sPropertyUIName);
        _rClearBeforeDialog.clear();
        return ( RET_OK == aDialog.execute() );
        return ( RET_OK == aDialog.run() );
    }

    bool FormComponentPropertyHandler::impl_dialogFilterOrSort_nothrow( bool _bFilter, OUString& _out_rSelectedClause, ::osl::ClearableMutexGuard& _rClearBeforeDialog ) const
@@ -2787,7 +2787,7 @@ namespace pcr
            // destroyItemSet
            ControlCharacterDialog aDlg(impl_getDefaultDialogFrame_nothrow(), *pSet);
            _rClearBeforeDialog.clear();
            if (RET_OK == aDlg.execute())
            if (RET_OK == aDlg.run())
            {
                const SfxItemSet* pOut = aDlg.GetOutputItemSet();
                if ( pOut )
diff --git a/extensions/source/propctrlr/listselectiondlg.cxx b/extensions/source/propctrlr/listselectiondlg.cxx
index 0e8becb..5cbe35c 100644
--- a/extensions/source/propctrlr/listselectiondlg.cxx
+++ b/extensions/source/propctrlr/listselectiondlg.cxx
@@ -51,9 +51,9 @@ namespace pcr
    {
    }

    short ListSelectionDialog::execute()
    short ListSelectionDialog::run()
    {
        short nResult = m_xDialog->run();
        short nResult = GenericDialogController::run();

        if ( RET_OK == nResult )
            commitSelection();
diff --git a/extensions/source/propctrlr/listselectiondlg.hxx b/extensions/source/propctrlr/listselectiondlg.hxx
index e8b4931..395b698 100644
--- a/extensions/source/propctrlr/listselectiondlg.hxx
+++ b/extensions/source/propctrlr/listselectiondlg.hxx
@@ -43,7 +43,7 @@ namespace pcr
        );
        virtual ~ListSelectionDialog() override;

        short   execute();
        virtual short run() override;

    private:
        void    initialize( );
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index b4ff929..e92668c 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -264,8 +264,6 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, Sequence< PropertyValue 

    // remove the reset button, not needed in this tabbed dialog
    RemoveResetButton();

    Start_Impl();
}

ImpPDFTabSecurityPage* ImpPDFTabDialog::getSecurityPage() const
@@ -1165,7 +1163,7 @@ IMPL_LINK_NOARG(ImpPDFTabSecurityPage, ClickmaPbSetPwdHdl, weld::Button&, void)
    aPwdDialog.set_title(msStrSetPwd);
    aPwdDialog.SetGroup2Text(msOwnerPwdTitle);
    aPwdDialog.AllowAsciiOnly();
    if (aPwdDialog.execute() == RET_OK)  // OK issued get password and set it
    if (aPwdDialog.run() == RET_OK)  // OK issued get password and set it
    {
        OUString aUserPW(aPwdDialog.GetPassword());
        OUString aOwnerPW(aPwdDialog.GetPassword2());
diff --git a/include/sfx2/passwd.hxx b/include/sfx2/passwd.hxx
index 414185b..e9b3eef 100644
--- a/include/sfx2/passwd.hxx
+++ b/include/sfx2/passwd.hxx
@@ -125,7 +125,7 @@ public:

    void ShowMinLengthText(bool bShow);

    short execute();
    virtual short run() override;
};

#endif // INCLUDED_SFX2_PASSWD_HXX
diff --git a/include/sfx2/prnmon.hxx b/include/sfx2/prnmon.hxx
index e66d17b..1408ac7 100644
--- a/include/sfx2/prnmon.hxx
+++ b/include/sfx2/prnmon.hxx
@@ -46,7 +46,7 @@ public:
                                                  const SfxItemSet *rOptions);
    virtual                 ~SfxPrintOptionsDialog() override;

    short execute();
    virtual short run() override;

    const SfxItemSet&       GetOptions() const { return *pOptions; }
    void                    DisableHelp();
diff --git a/include/sfx2/tabdlg.hxx b/include/sfx2/tabdlg.hxx
index d46d243..13d469f 100644
--- a/include/sfx2/tabdlg.hxx
+++ b/include/sfx2/tabdlg.hxx
@@ -234,6 +234,7 @@ private:

    DECL_DLLPRIVATE_LINK(ActivatePageHdl, const OString&, void);
    DECL_DLLPRIVATE_LINK(DeactivatePageHdl, const OString&, bool);
    SAL_DLLPRIVATE void Start_Impl();
    SAL_DLLPRIVATE void CreatePages();
    SAL_DLLPRIVATE void setPreviewsToSamePlace();

@@ -255,8 +256,6 @@ protected:
    /** save the position of the TabDialog and which tab page is the currently active one
     */
    void SavePosAndId();

    void Start_Impl();
public:
    SfxTabDialogController(weld::Window* pParent, const OUString& rUIXMLDescription, const OString& rID,
                           const SfxItemSet * = nullptr, bool bEditFmt = false);
@@ -299,7 +298,7 @@ public:
    void                RemoveResetButton();
    void                RemoveStandardButton();

    short               execute();
    virtual short       run() override;
    static bool runAsync(const std::shared_ptr<SfxTabDialogController>& rController,
                         const std::function<void(sal_Int32)>&);

diff --git a/include/svtools/prnsetup.hxx b/include/svtools/prnsetup.hxx
index b10c70b..4d75ce0 100644
--- a/include/svtools/prnsetup.hxx
+++ b/include/svtools/prnsetup.hxx
@@ -56,7 +56,7 @@ public:
    void            SetPrinter( Printer* pNewPrinter ) { mpPrinter = pNewPrinter; }
    Printer*        GetPrinter() const { return mpPrinter; }

    short   execute();
    virtual short   run() override;

    weld::Window*   GetFrameWeld() const { return m_xDialog.get(); }

diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 8713990..ebf796a 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -1232,7 +1232,7 @@ public:
    {
        return const_cast<DialogController*>(this)->getDialog();
    }
    short run() { return getDialog()->run(); }
    virtual short run() { return getDialog()->run(); }
    static bool runAsync(const std::shared_ptr<DialogController>& rController,
                         const std::function<void(sal_Int32)>&);
    void set_title(const OUString& rTitle) { getDialog()->set_title(rTitle); }
diff --git a/reportdesign/source/ui/dlg/DateTime.cxx b/reportdesign/source/ui/dlg/DateTime.cxx
index 3b4af89..5b04a35 100644
--- a/reportdesign/source/ui/dlg/DateTime.cxx
+++ b/reportdesign/source/ui/dlg/DateTime.cxx
@@ -92,9 +92,9 @@ void ODateTimeDialog::InsertEntry(sal_Int16 _nNumberFormatId)
    }
}

short ODateTimeDialog::execute()
short ODateTimeDialog::run()
{
    short nRet = m_xDialog->run();
    short nRet = GenericDialogController::run();
    if (nRet == RET_OK && (m_xDate->get_active() || m_xTime->get_active()))
    {
        try
diff --git a/reportdesign/source/ui/inc/DateTime.hxx b/reportdesign/source/ui/inc/DateTime.hxx
index 9d31be4..2f7a1ea 100644
--- a/reportdesign/source/ui/inc/DateTime.hxx
+++ b/reportdesign/source/ui/inc/DateTime.hxx
@@ -73,7 +73,7 @@ public:
    ODateTimeDialog(weld::Window* pParent,
                     const css::uno::Reference< css::report::XSection>& _xHoldAlive,
                     ::rptui::OReportController* _pController);
    short   execute();
    virtual short run() override;
};

} // namespace rptui
diff --git a/reportdesign/source/ui/misc/UITools.cxx b/reportdesign/source/ui/misc/UITools.cxx
index 4065942..73b9055 100644
--- a/reportdesign/source/ui/misc/UITools.cxx
+++ b/reportdesign/source/ui/misc/UITools.cxx
@@ -714,7 +714,7 @@ bool openCharDialog( const uno::Reference<report::XReportControlFormat >& _rxRep
            uno::Reference< report::XShape > xShape( _rxReportControlFormat, uno::UNO_QUERY );
            if ( xShape.is() )
                aDlg.RemoveTabPage("background");
            bSuccess = aDlg.execute() == RET_OK;
            bSuccess = aDlg.run() == RET_OK;
            if ( bSuccess )
            {
                lcl_itemsToCharProperties( lcl_getReportControlFont( _rxReportControlFormat,WESTERN ),
diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx
index e1b9978..0cd2014 100644
--- a/reportdesign/source/ui/report/ReportController.cxx
+++ b/reportdesign/source/ui/report/ReportController.cxx
@@ -1555,7 +1555,7 @@ void OReportController::Execute(sal_uInt16 _nId, const Sequence< PropertyValue >
                if ( !aArgs.getLength() )
                {
                    ODateTimeDialog aDlg(getFrameWeld(), getDesignView()->getCurrentSection(), this);
                    aDlg.execute();
                    aDlg.run();
                }
                else
                    createDateTime(aArgs);
@@ -1567,7 +1567,7 @@ void OReportController::Execute(sal_uInt16 _nId, const Sequence< PropertyValue >
                if ( !aArgs.getLength() )
                {
                    OPageNumberDialog aDlg(getFrameWeld(), m_xReportDefinition, this);
                    aDlg.execute();
                    aDlg.run();
                }
                else
                    createPageNumber(aArgs);
@@ -2427,7 +2427,7 @@ void OReportController::openPageDialog(const uno::Reference<report::XSection>& _
                getFrameWeld(), pDescriptor.get(),_xSection.is()
                           ? OUString("BackgroundDialog")
                           : OUString("PageDialog"));
            if (aDlg.execute() == RET_OK)
            if (aDlg.run() == RET_OK)
            {

                // ItemSet->UNO
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx
index 677a5dd2..8189610 100644
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@ -137,7 +137,7 @@ short AbstractScInsertContentsDlg_Impl::Execute()

short AbstractScInsertTableDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractScSelEntryDlg_Impl::Execute()
@@ -169,7 +169,7 @@ IMPL_ABSTDLG_BASE(AbstractScDPDateGroupDlg_Impl);

short AbstractScDPShowDetailDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

IMPL_ABSTDLG_BASE(AbstractScNewScenarioDlg_Impl);
@@ -691,7 +691,7 @@ bool AbstractScTextImportOptionsDlg_Impl::IsDateConversionSet() const

short ScAbstractTabController_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

bool ScAbstractTabController_Impl::StartExecuteAsync(AsyncContext &rCtx)
diff --git a/sc/source/ui/dbgui/pvfundlg.cxx b/sc/source/ui/dbgui/pvfundlg.cxx
index 42117af..93a7330 100644
--- a/sc/source/ui/dbgui/pvfundlg.cxx
+++ b/sc/source/ui/dbgui/pvfundlg.cxx
@@ -850,9 +850,9 @@ ScDPShowDetailDlg::~ScDPShowDetailDlg()
{
}

short ScDPShowDetailDlg::execute()
short ScDPShowDetailDlg::run()
{
    return mxLbDims->n_children() ? m_xDialog->run() : static_cast<short>(RET_CANCEL);
    return mxLbDims->n_children() ? GenericDialogController::run() : static_cast<short>(RET_CANCEL);
}

OUString ScDPShowDetailDlg::GetDimensionName() const
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index 90a24a9..e29a9cc 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -1286,7 +1286,7 @@ bool ScDocShell::ExecuteChangeProtectionDialog( bool bJustQueryIfProtected )
        aDlg.SetEditHelpId( HID_CHG_PROTECT );
        if ( !bProtected )
            aDlg.ShowExtras(SfxShowExtras::CONFIRM);
        if (aDlg.execute() == RET_OK)
        if (aDlg.run() == RET_OK)
            aPassword = aDlg.GetPassword();

        if (!aPassword.isEmpty())
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 7adfa50..a8e3b58 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -1487,7 +1487,7 @@ bool ScImportExport::ExtText2Doc( SvStream& rStrm )
            {
                vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
                ScReplaceWarnBox aBox(pWin ? pWin->GetFrameWeld() : nullptr);
                if (aBox.execute() != RET_YES)
                if (aBox.run() != RET_YES)
                {
                    return false;
                }
diff --git a/sc/source/ui/inc/instbdlg.hxx b/sc/source/ui/inc/instbdlg.hxx
index 8a80e71..60bb94d 100644
--- a/sc/source/ui/inc/instbdlg.hxx
+++ b/sc/source/ui/inc/instbdlg.hxx
@@ -37,7 +37,7 @@ public:
    ScInsertTableDlg(weld::Window* pParent, ScViewData& rViewData, SCTAB nTabCount, bool bFromFile);
    virtual ~ScInsertTableDlg() override;

    short       execute(); // override to set parent dialog
    virtual short run() override; // override to set parent dialog

    bool        GetTablesFromFile() const { return m_xBtnFromFile->get_active(); }
    bool        GetTablesAsLink() const { return m_xBtnLink->get_active(); }
diff --git a/sc/source/ui/inc/pvfundlg.hxx b/sc/source/ui/inc/pvfundlg.hxx
index 40ce285..18134d0 100644
--- a/sc/source/ui/inc/pvfundlg.hxx
+++ b/sc/source/ui/inc/pvfundlg.hxx
@@ -193,7 +193,7 @@ public:
                               css::sheet::DataPilotFieldOrientation nOrient);
    virtual ~ScDPShowDetailDlg() override;

    short execute();
    virtual short run() override;

    /**
     * @return String internal name of the selected field.  Note that this may
diff --git a/sc/source/ui/inc/warnbox.hxx b/sc/source/ui/inc/warnbox.hxx
index 02fea50..634f97e 100644
--- a/sc/source/ui/inc/warnbox.hxx
+++ b/sc/source/ui/inc/warnbox.hxx
@@ -33,7 +33,7 @@ public:
    /** Opens dialog if IsDialogEnabled() returns true.
        @descr  If after executing the dialog the checkbox "Do not show again" is set,
                the method DisableDialog() will be called. */
    short execute();
    virtual short run() override;
};

#endif
diff --git a/sc/source/ui/miscdlgs/instbdlg.cxx b/sc/source/ui/miscdlgs/instbdlg.cxx
index a749c71..854f5f4 100644
--- a/sc/source/ui/miscdlgs/instbdlg.cxx
+++ b/sc/source/ui/miscdlgs/instbdlg.cxx
@@ -116,12 +116,12 @@ void ScInsertTableDlg::Init_Impl( bool bFromFile )
    }
}

short ScInsertTableDlg::execute()
short ScInsertTableDlg::run()
{
    if (m_xBtnFromFile->get_active())
        aBrowseTimer.Start();

    return m_xDialog->run();
    return GenericDialogController::run();
}

void ScInsertTableDlg::SetNewTable_Impl()
diff --git a/sc/source/ui/miscdlgs/warnbox.cxx b/sc/source/ui/miscdlgs/warnbox.cxx
index acf8046..740fa0c 100644
--- a/sc/source/ui/miscdlgs/warnbox.cxx
+++ b/sc/source/ui/miscdlgs/warnbox.cxx
@@ -33,12 +33,12 @@ ScReplaceWarnBox::ScReplaceWarnBox(weld::Window* pParent)
    m_xDialog->set_default_response(RET_YES);
}

short ScReplaceWarnBox::execute()
short ScReplaceWarnBox::run()
{
    short nRet = RET_YES;
    if( SC_MOD()->GetInputOptions().GetReplaceCellsWarn() )
    {
        nRet = m_xDialog->run();
        nRet = MessageDialogController::run();
        if (!m_xWarningOnBox->get_active())
        {
            ScModule* pScMod = SC_MOD();
diff --git a/sc/source/ui/view/tabvwsh3.cxx b/sc/source/ui/view/tabvwsh3.cxx
index 0d9239f..451188a 100644
--- a/sc/source/ui/view/tabvwsh3.cxx
+++ b/sc/source/ui/view/tabvwsh3.cxx
@@ -1055,7 +1055,7 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
                        aDlg.set_help_id(GetStaticInterface()->GetSlot(FID_PROTECT_DOC)->GetCommand());
                        aDlg.SetEditHelpId(HID_PASSWD_DOC);

                        if (aDlg.execute() == RET_OK)
                        if (aDlg.run() == RET_OK)
                            aPassword = aDlg.GetPassword();
                        else
                            bCancel = true;
@@ -1079,7 +1079,7 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
                    aDlg.ShowExtras(SfxShowExtras::CONFIRM);
                    aDlg.SetConfirmHelpId(HID_PASSWD_DOC_CONFIRM);

                    if (aDlg.execute() == RET_OK)
                    if (aDlg.run() == RET_OK)
                    {
                        OUString aPassword = aDlg.GetPassword();
                        Protect( TABLEID_DOC, aPassword );
@@ -1125,7 +1125,7 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
                    aDlg.set_help_id(GetStaticInterface()->GetSlot(FID_PROTECT_TABLE)->GetCommand());
                    aDlg.SetEditHelpId(HID_PASSWD_TABLE);

                    if (aDlg.execute() == RET_OK)
                    if (aDlg.run() == RET_OK)
                    {
                        OUString aPassword = aDlg.GetPassword();
                        Unprotect(nTab, aPassword);
diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx
index 7d6411c..d412bbb 100644
--- a/sc/source/ui/view/viewfun3.cxx
+++ b/sc/source/ui/view/viewfun3.cxx
@@ -853,7 +853,7 @@ bool checkDestRangeForOverwrite(const ScRangeList& rDestRanges, const ScDocument
    if (!bIsEmpty)
    {
        ScReplaceWarnBox aBox(pParentWnd);
        if (aBox.execute() != RET_YES)
        if (aBox.run() != RET_YES)
        {
            //  changing the configuration is within the ScReplaceWarnBox
            return false;
diff --git a/sd/source/ui/dlg/brkdlg.cxx b/sd/source/ui/dlg/brkdlg.cxx
index 9dcefb6..a34a445d 100644
--- a/sd/source/ui/dlg/brkdlg.cxx
+++ b/sd/source/ui/dlg/brkdlg.cxx
@@ -138,10 +138,10 @@ IMPL_LINK( BreakDlg, UpDate, void*, nInit, bool )
 * open a modal dialog and start a timer which calls the working function after
 * the opening of the dialog
 */
short BreakDlg::execute()
short BreakDlg::run()
{
    m_aUpdateIdle.Start();
    return run();
    return SfxDialogController::run();
}

/**
diff --git a/sd/source/ui/dlg/masterlayoutdlg.cxx b/sd/source/ui/dlg/masterlayoutdlg.cxx
index 446a82a..95d4e44 100644
--- a/sd/source/ui/dlg/masterlayoutdlg.cxx
+++ b/sd/source/ui/dlg/masterlayoutdlg.cxx
@@ -75,9 +75,9 @@ MasterLayoutDialog::~MasterLayoutDialog()
{
}

short MasterLayoutDialog::execute()
short MasterLayoutDialog::run()
{
    if (m_xDialog->run() == RET_OK)
    if (GenericDialogController::run() == RET_OK)
        applyChanges();
    return RET_OK;
}
diff --git a/sd/source/ui/dlg/sddlgfact.cxx b/sd/source/ui/dlg/sddlgfact.cxx
index e0b78e9..5b336e6 100644
--- a/sd/source/ui/dlg/sddlgfact.cxx
+++ b/sd/source/ui/dlg/sddlgfact.cxx
@@ -66,7 +66,7 @@ short AbstractSdCustomShowDlg_Impl::Execute()

short SdPresLayoutTemplateDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

bool SdPresLayoutTemplateDlg_Impl::StartExecuteAsync(AsyncContext &rCtx)
@@ -118,7 +118,7 @@ IMPL_ABSTDLG_BASE(AbstractHeaderFooterDialog_Impl);

short AbstractBulletDialog_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

bool AbstractBulletDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)
@@ -133,7 +133,7 @@ AbstractBreakDlg_Impl::AbstractBreakDlg_Impl(std::unique_ptr<::sd::BreakDlg> pDl

short AbstractBreakDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

AbstractMasterLayoutDialog_Impl::AbstractMasterLayoutDialog_Impl(std::unique_ptr<::sd::MasterLayoutDialog> pDlg)
@@ -143,7 +143,7 @@ AbstractMasterLayoutDialog_Impl::AbstractMasterLayoutDialog_Impl(std::unique_ptr

short AbstractMasterLayoutDialog_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

void AbstractCopyDlg_Impl::GetAttr( SfxItemSet& rOutAttrs )
@@ -163,7 +163,7 @@ bool AbstractSdCustomShowDlg_Impl::IsCustomShow() const

short SdAbstractTabController_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

void SdAbstractTabController_Impl::SetCurPageId( const OString &rName )
diff --git a/sd/source/ui/inc/BreakDlg.hxx b/sd/source/ui/inc/BreakDlg.hxx
index 21414b6..faf0635c 100644
--- a/sd/source/ui/inc/BreakDlg.hxx
+++ b/sd/source/ui/inc/BreakDlg.hxx
@@ -39,7 +39,7 @@ public:
    BreakDlg(weld::Window* pWindow, DrawView* pDrView, DrawDocShell* pShell,
             sal_uLong nSumActionCount, sal_uLong nObjCount);

    short execute();
    virtual short run() override;

private:
    std::unique_ptr<weld::Label> m_xFiObjInfo;
diff --git a/sd/source/ui/inc/masterlayoutdlg.hxx b/sd/source/ui/inc/masterlayoutdlg.hxx
index 4b956c5..ce9d5a1 100644
--- a/sd/source/ui/inc/masterlayoutdlg.hxx
+++ b/sd/source/ui/inc/masterlayoutdlg.hxx
@@ -54,7 +54,7 @@ public:
    MasterLayoutDialog(weld::Window* pParent, SdDrawDocument* pDoc, SdPage* pCurrentPage);
    virtual ~MasterLayoutDialog() override;

    short execute();
    virtual short run() override;
};

}
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index 58ec3d6..6bf964c 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -319,9 +319,9 @@ namespace
        {
        }

        short execute()
        virtual short run() override
        {
            short nRet = m_xDialog->run();
            short nRet = GenericDialogController::run();
            if (nRet == RET_OK)
                showDocument("LICENSE");
            return nRet;
@@ -336,9 +336,9 @@ namespace
        {
        }

        short execute()
        virtual short run() override
        {
            short nRet = m_xDialog->run();
            short nRet = MessageDialogController::run();
            if (nRet == RET_OK)
            {
                sfx2::SafeMode::putFlag();
@@ -574,7 +574,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
        case SID_SHOW_LICENSE:
        {
            LicenseDialog aDialog(rReq.GetFrameWeld());
            aDialog.execute();
            aDialog.run();
            break;
        }

@@ -1035,7 +1035,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
        case SID_SAFE_MODE:
        {
            SafeModeQueryDialog aDialog(rReq.GetFrameWeld());
            aDialog.execute();
            aDialog.run();
            break;
        }

diff --git a/sfx2/source/dialog/passwd.cxx b/sfx2/source/dialog/passwd.cxx
index 497deca..ea859ca 100644
--- a/sfx2/source/dialog/passwd.cxx
+++ b/sfx2/source/dialog/passwd.cxx
@@ -150,7 +150,7 @@ void SfxPasswordDialog::ShowMinLengthText(bool bShow)
    m_xMinLengthFT->show(bShow);
}

short SfxPasswordDialog::execute()
short SfxPasswordDialog::run()
{
    m_xUserFT->hide();
    m_xUserED->hide();
@@ -188,7 +188,7 @@ short SfxPasswordDialog::execute()
        m_xConfirm2ED->show();
    }

    return m_xDialog->run();
    return GenericDialogController::run();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/dialog/securitypage.cxx b/sfx2/source/dialog/securitypage.cxx
index d04d216..19fecc8 100644
--- a/sfx2/source/dialog/securitypage.cxx
+++ b/sfx2/source/dialog/securitypage.cxx
@@ -99,7 +99,7 @@ static bool lcl_GetPassword(
    aPasswdDlg.SetMinLen(1);
    if (bProtect)
        aPasswdDlg.ShowExtras( SfxShowExtras::CONFIRM );
    if (RET_OK == aPasswdDlg.execute() && !aPasswdDlg.GetPassword().isEmpty())
    if (RET_OK == aPasswdDlg.run() && !aPasswdDlg.GetPassword().isEmpty())
    {
        rPassword = aPasswdDlg.GetPassword();
        bRes = true;
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index 37df9f3..ae9a9cb 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -2161,10 +2161,10 @@ OString SfxTabDialogController::GetCurPageId() const
    return m_xTabCtrl->get_current_page_ident();
}

short SfxTabDialogController::execute()
short SfxTabDialogController::run()
{
    Start_Impl();
    return m_xDialog->run();
    return SfxDialogController::run();
}

bool SfxTabDialogController::runAsync(const std::shared_ptr<SfxTabDialogController>& rController,
diff --git a/sfx2/source/doc/docinsert.cxx b/sfx2/source/doc/docinsert.cxx
index d0f2a0d..a9efb2d 100644
--- a/sfx2/source/doc/docinsert.cxx
+++ b/sfx2/source/doc/docinsert.cxx
@@ -216,7 +216,7 @@ IMPL_LINK_NOARG(DocumentInserter, DialogClosedHdl, sfx2::FileDialogHelper*, void
                    // ask for the password
                    SfxPasswordDialog aPasswordDlg(m_pParent);
                    aPasswordDlg.ShowExtras( SfxShowExtras::CONFIRM );
                    short nRet = aPasswordDlg.execute();
                    short nRet = aPasswordDlg.run();
                    if ( RET_OK == nRet )
                    {
                        m_pItemSet->Put( SfxStringItem( SID_PASSWORD, aPasswordDlg.GetPassword() ) );
diff --git a/sfx2/source/view/printer.cxx b/sfx2/source/view/printer.cxx
index cc96ee0..fcf370b 100644
--- a/sfx2/source/view/printer.cxx
+++ b/sfx2/source/view/printer.cxx
@@ -187,13 +187,14 @@ SfxPrintOptionsDialog::~SfxPrintOptionsDialog()
    pPage.disposeAndClear();
}

short SfxPrintOptionsDialog::execute()
short SfxPrintOptionsDialog::run()
{
    if( ! pPage )
    if (!pPage)
        return RET_CANCEL;

    short nRet = m_xDialog->run();
    if ( nRet == RET_OK )
    short nRet = GenericDialogController::run();

    if (nRet == RET_OK)
        pPage->FillItemSet( pOptions.get() );
    else
        pPage->Reset( pOptions.get() );
diff --git a/sfx2/source/view/viewprn.cxx b/sfx2/source/view/viewprn.cxx
index da95bc5..3dd70f6 100644
--- a/sfx2/source/view/viewprn.cxx
+++ b/sfx2/source/view/viewprn.cxx
@@ -447,7 +447,7 @@ IMPL_LINK_NOARG(SfxDialogExecutor_Impl, Execute, weld::Button&, void)
    SfxPrintOptionsDialog aDlg(_rSetupParent.GetFrameWeld(), _pViewSh, _pOptions.get() );
    if (_bHelpDisabled)
        aDlg.DisableHelp();
    if (aDlg.execute() == RET_OK)
    if (aDlg.run() == RET_OK)
    {
        _pOptions = aDlg.GetOptions().Clone();
    }
@@ -834,7 +834,7 @@ void SfxViewShell::ExecPrint_Impl( SfxRequest &rReq )
                }

                aPrintSetupDlg.SetPrinter( pDlgPrinter );
                nDialogRet = aPrintSetupDlg.execute();
                nDialogRet = aPrintSetupDlg.run();

                if ( pExecutor && pExecutor->GetOptions() )
                {
diff --git a/starmath/inc/dialog.hxx b/starmath/inc/dialog.hxx
index 7c3f70c..4bcd3d9 100644
--- a/starmath/inc/dialog.hxx
+++ b/starmath/inc/dialog.hxx
@@ -450,7 +450,7 @@ public:
    SmSymDefineDialog(weld::Window *pParent, OutputDevice *pFntListDevice, SmSymbolManager &rMgr);
    virtual ~SmSymDefineDialog() override;

    short execute();
    virtual short run() override;

    void SelectOldSymbolSet(const OUString &rSymbolSetName)
    {
diff --git a/starmath/source/dialog.cxx b/starmath/source/dialog.cxx
index 676ed1d..82bc4c9 100644
--- a/starmath/source/dialog.cxx
+++ b/starmath/source/dialog.cxx
@@ -1221,7 +1221,7 @@ IMPL_LINK_NOARG(SmSymbolDialog, EditClickHdl, weld::Button&, void)
    sal_uInt16 nSymPos = m_xSymbolSetDisplay->GetSelectSymbol();

    // adapt dialog to data of the SymbolSet manager, which might have changed
    if (aDialog.execute() == RET_OK && rSymbolMgr.IsModified())
    if (aDialog.run() == RET_OK && rSymbolMgr.IsModified())
    {
        rSymbolMgr.Save();
        FillSymbolSets();
@@ -1759,9 +1759,9 @@ SmSymDefineDialog::~SmSymDefineDialog()
{
}

short SmSymDefineDialog::execute()
short SmSymDefineDialog::run()
{
    short nResult = m_xDialog->run();
    short nResult = GenericDialogController::run();

    // apply changes if dialog was closed by clicking OK
    if (m_aSymbolMgrCopy.IsModified() && nResult == RET_OK)
diff --git a/svtools/source/dialogs/prnsetup.cxx b/svtools/source/dialogs/prnsetup.cxx
index 5d415c3..31af838 100644
--- a/svtools/source/dialogs/prnsetup.cxx
+++ b/svtools/source/dialogs/prnsetup.cxx
@@ -314,7 +314,7 @@ IMPL_LINK(PrinterSetupDialog, ImplDataChangedHdl, VclSimpleEvent&, rEvt, void)
    ImplSetInfo();
}

short PrinterSetupDialog::execute()
short PrinterSetupDialog::run()
{
    if ( !mpPrinter || mpPrinter->IsPrinting() || mpPrinter->IsJobActive() )
    {
@@ -329,7 +329,7 @@ short PrinterSetupDialog::execute()
    maStatusTimer.Start();

    // start dialog
    short nRet = m_xDialog->run();
    short nRet = GenericDialogController::run();

    // update data if the dialog was terminated with OK
    if ( nRet == RET_OK )
diff --git a/svx/source/form/fmtextcontrolshell.cxx b/svx/source/form/fmtextcontrolshell.cxx
index d97182f..07f73e9 100644
--- a/svx/source/form/fmtextcontrolshell.cxx
+++ b/svx/source/form/fmtextcontrolshell.cxx
@@ -645,7 +645,7 @@ namespace svx
            xDialog = o3tl::make_unique<TextControlCharAttribDialog>(rReq.GetFrameWeld(), *xCurrentItems, *pFontList);
        else
            xDialog = o3tl::make_unique<TextControlParaAttribDialog>(rReq.GetFrameWeld(), *xCurrentItems);
        if ( RET_OK == xDialog->execute() )
        if ( RET_OK == xDialog->run() )
        {
            const SfxItemSet& rModifiedItems = *xDialog->GetOutputItemSet();
            for ( WhichId nWhich = pPool->GetFirstWhich(); nWhich <= pPool->GetLastWhich(); ++nWhich )
diff --git a/sw/inc/colwd.hxx b/sw/inc/colwd.hxx
index 379f458..4feacc6 100644
--- a/sw/inc/colwd.hxx
+++ b/sw/inc/colwd.hxx
@@ -37,7 +37,7 @@ private:

public:
    SwTableWidthDlg(weld::Window *pParent, SwTableFUNC &rFnc);
    short execute();
    virtual short run() override;
};

#endif
diff --git a/sw/source/ui/chrdlg/break.cxx b/sw/source/ui/chrdlg/break.cxx
index 9afdb75..c50fecf 100644
--- a/sw/source/ui/chrdlg/break.cxx
+++ b/sw/source/ui/chrdlg/break.cxx
@@ -35,9 +35,9 @@
#include <strings.hrc>
#include <SwStyleNameMapper.hxx>

short SwBreakDlg::execute()
short SwBreakDlg::run()
{
    short nRet = m_xDialog->run();
    short nRet = GenericDialogController::run();
    if (nRet == RET_OK)
    {
        nKind = 0;
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx
index 371c7e0..ed9cc2b 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -105,27 +105,27 @@ IMPL_ABSTDLG_BASE(VclAbstractDialog_Impl);

short AbstractSplitTableDialog_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractSwBreakDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractSwTableWidthDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractSwTableHeightDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractSwMergeTableDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractGenericDialog_Impl::Execute()
@@ -140,17 +140,17 @@ bool AbstractGenericDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)

short AbstractSwSortDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractMultiTOXMarkDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractTabController_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl);
@@ -164,12 +164,12 @@ IMPL_ABSTDLG_BASE(AbstractSwInsertDBColAutoPilot_Impl);

short AbstractDropDownFieldDialog_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractSwLabDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractSwSelGlossaryDlg_Impl::Execute()
@@ -179,7 +179,7 @@ short AbstractSwSelGlossaryDlg_Impl::Execute()

short AbstractSwAutoFormatDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

IMPL_ABSTDLG_BASE(AbstractSwFieldDlg_Impl);
@@ -194,12 +194,12 @@ IMPL_ABSTDLG_BASE(AbstractGlossaryDlg_Impl);

short AbstractFieldInputDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractInsFootNoteDlg_Impl::Execute()
{
    return m_xDlg->execute();
    return m_xDlg->run();
}

short AbstractInsTableDlg_Impl::Execute()
diff --git a/sw/source/ui/dialog/uiregionsw.cxx b/sw/source/ui/dialog/uiregionsw.cxx
index a08d180..433986c 100644
--- a/sw/source/ui/dialog/uiregionsw.cxx
+++ b/sw/source/ui/dialog/uiregionsw.cxx
@@ -409,7 +409,7 @@ bool SwEditRegionDlg::CheckPasswd(CheckBox* pBox)
        {
            SfxPasswordDialog aPasswdDlg(GetFrameWeld());
            bRet = false;
            if (aPasswdDlg.execute())
            if (aPasswdDlg.run())
            {
                const OUString sNewPasswd(aPasswdDlg.GetPassword());
                css::uno::Sequence <sal_Int8 > aNewPasswd;
@@ -1264,7 +1264,7 @@ IMPL_LINK( SwEditRegionDlg, ChangePasswdHdl, Button *, pBox, void )
            {
                SfxPasswordDialog aPasswdDlg(GetFrameWeld());
                aPasswdDlg.ShowExtras(SfxShowExtras::CONFIRM);
                if (RET_OK == aPasswdDlg.execute())
                if (RET_OK == aPasswdDlg.run())
                {
                    const OUString sNewPasswd(aPasswdDlg.GetPassword());
                    if (aPasswdDlg.GetConfirm() == sNewPasswd)
@@ -1701,7 +1701,7 @@ IMPL_LINK( SwInsertSectionTabPage, ChangePasswdHdl, Button *, pButton, void )
        {
            SfxPasswordDialog aPasswdDlg(GetFrameWeld());
            aPasswdDlg.ShowExtras(SfxShowExtras::CONFIRM);
            if (RET_OK == aPasswdDlg.execute())
            if (RET_OK == aPasswdDlg.run())
            {
                const OUString sNewPasswd(aPasswdDlg.GetPassword());
                if (aPasswdDlg.GetConfirm() == sNewPasswd)
diff --git a/sw/source/ui/envelp/envfmt.cxx b/sw/source/ui/envelp/envfmt.cxx
index d18b62b..82c177e 100644
--- a/sw/source/ui/envelp/envfmt.cxx
+++ b/sw/source/ui/envelp/envfmt.cxx
@@ -292,7 +292,7 @@ void SwEnvFormatPage::Edit(const OString& rIdent, bool bSender)
        const OUString sFormatStr = pColl->GetName();
        SwParaDlg aDlg(GetDialogFrameWeld(), pSh->GetView(), aTmpSet, DLG_ENVELOP, &sFormatStr);

        if (aDlg.execute() == RET_OK)
        if (aDlg.run() == RET_OK)
        {
            // maybe relocate defaults
            const SfxPoolItem* pItem = nullptr;
diff --git a/sw/source/ui/envelp/envprt.cxx b/sw/source/ui/envelp/envprt.cxx
index 74860a8..f046a91 100644
--- a/sw/source/ui/envelp/envprt.cxx
+++ b/sw/source/ui/envelp/envprt.cxx
@@ -120,7 +120,7 @@ IMPL_LINK(SwEnvPrtPage, ButtonHdl, weld::Button&, rBtn, void)
        {
            PrinterSetupDialog aDlg(GetDialogFrameWeld());
            aDlg.SetPrinter(m_xPrt);
            aDlg.execute();
            aDlg.run();
            rBtn.grab_focus();
            m_xPrinterInfo->set_label(m_xPrt->GetName());
        }
diff --git a/sw/source/ui/envelp/labprt.cxx b/sw/source/ui/envelp/labprt.cxx
index 872f31d..337ae96 100644
--- a/sw/source/ui/envelp/labprt.cxx
+++ b/sw/source/ui/envelp/labprt.cxx
@@ -76,7 +76,7 @@ IMPL_LINK( SwLabPrtPage, CountHdl, weld::Button&, rButton, void )

        PrinterSetupDialog aDlg(GetFrameWeld());
        aDlg.SetPrinter(pPrinter);
        aDlg.execute();
        aDlg.run();
        rButton.grab_focus();
        m_xPrinterInfo->set_label(pPrinter->GetName());
        return;
diff --git a/sw/source/ui/frmdlg/cption.cxx b/sw/source/ui/frmdlg/cption.cxx
index d5ce4e3f..2b96b74 100644
--- a/sw/source/ui/frmdlg/cption.cxx
+++ b/sw/source/ui/frmdlg/cption.cxx
@@ -77,9 +77,9 @@ public:
    void      SetCharacterStyle(const OUString& rStyle);
    OUString  GetCharacterStyle() const;

    short execute()
    virtual short run() override
    {
        int nRet = run();
        int nRet = GenericDialogController::run();
        if (nRet == RET_OK)
            Apply();
        return nRet;
@@ -297,7 +297,7 @@ IMPL_LINK_NOARG( SwCaptionDialog, OptionHdl, Button*, void )
    aDlg.SetApplyBorderAndShadow(bCopyAttributes);
    aDlg.SetCharacterStyle( sCharacterStyle );
    aDlg.SetOrderNumberingFirst( bOrderNumberingFirst );
    aDlg.execute();
    aDlg.run();
    bCopyAttributes = aDlg.IsApplyBorderAndShadow();
    sCharacterStyle = aDlg.GetCharacterStyle();
    //#i61007# order of captions
diff --git a/sw/source/ui/misc/srtdlg.cxx b/sw/source/ui/misc/srtdlg.cxx
index 2f2ba79..f973698 100644
--- a/sw/source/ui/misc/srtdlg.cxx
+++ b/sw/source/ui/misc/srtdlg.cxx
@@ -226,9 +226,9 @@ sal_Unicode SwSortDlg::GetDelimChar() const
    return cRet;
}

short SwSortDlg::execute()
short SwSortDlg::run()
{
    short nRet = run();
    short nRet = GenericDialogController::run();
    if (nRet == RET_OK)
        Apply();
    return nRet;
diff --git a/sw/source/ui/table/colwd.cxx b/sw/source/ui/table/colwd.cxx
index d572563..a6b0f34 100644
--- a/sw/source/ui/table/colwd.cxx
+++ b/sw/source/ui/table/colwd.cxx
@@ -68,9 +68,9 @@ void SwTableWidthDlg::Apply()
                       static_cast<sal_uInt16>(m_xWidthMF->denormalize(m_xWidthMF->get_value(FUNIT_TWIP))));
}

short SwTableWidthDlg::execute()
short SwTableWidthDlg::run()
{
    short nRet = run();
    short nRet = GenericDialogController::run();
    if (nRet == RET_OK)
        Apply();
    return nRet;
diff --git a/sw/source/ui/table/mergetbl.cxx b/sw/source/ui/table/mergetbl.cxx
index fa51a3b..bb45020 100644
--- a/sw/source/ui/table/mergetbl.cxx
+++ b/sw/source/ui/table/mergetbl.cxx
@@ -33,9 +33,9 @@ void SwMergeTableDlg::Apply()
    m_rMergePrev = m_xMergePrevRB->get_active();
}

short SwMergeTableDlg::execute()
short SwMergeTableDlg::run()
{
    int nRet = run();
    int nRet = GenericDialogController::run();
    if (nRet == RET_OK)
        Apply();
    return nRet;
diff --git a/sw/source/ui/table/rowht.cxx b/sw/source/ui/table/rowht.cxx
index e8b725b..53c3537 100644
--- a/sw/source/ui/table/rowht.cxx
+++ b/sw/source/ui/table/rowht.cxx
@@ -70,9 +70,9 @@ SwTableHeightDlg::SwTableHeightDlg(weld::Window *pParent, SwWrtShell &rS)
    }
}

short SwTableHeightDlg::execute()
short SwTableHeightDlg::run()
{
    short nRet = run();
    short nRet = GenericDialogController::run();
    if (nRet == RET_OK)
        Apply();
    return nRet;
diff --git a/sw/source/ui/table/tautofmt.cxx b/sw/source/ui/table/tautofmt.cxx
index a395be9..503553f 100644
--- a/sw/source/ui/table/tautofmt.cxx
+++ b/sw/source/ui/table/tautofmt.cxx
@@ -395,9 +395,9 @@ IMPL_LINK_NOARG(SwAutoFormatDlg, SelFormatHdl, weld::TreeView&, void)
    m_xBtnRename->set_sensitive(bBtnEnable);
}

short SwAutoFormatDlg::execute()
short SwAutoFormatDlg::run()
{
    short nRet = m_xDialog->run();
    short nRet = SfxDialogController::run();
    if (nRet == RET_OK && m_bSetAutoFormat)
        m_pShell->SetTableStyle((*m_xTableTable)[m_nIndex]);
    return nRet;
diff --git a/sw/source/uibase/dbui/mailmergehelper.cxx b/sw/source/uibase/dbui/mailmergehelper.cxx
index 20f040a..f249a8c 100644
--- a/sw/source/uibase/dbui/mailmergehelper.cxx
+++ b/sw/source/uibase/dbui/mailmergehelper.cxx
@@ -944,7 +944,7 @@ OUString SwAuthenticator::getPassword(  )
    {
       SfxPasswordDialog aPasswdDlg(m_pParentWindow);
       aPasswdDlg.SetMinLen(0);
       if (RET_OK == aPasswdDlg.execute())
       if (RET_OK == aPasswdDlg.run())
            m_aPassword = aPasswdDlg.GetPassword();
    }
    return m_aPassword;
diff --git a/sw/source/uibase/inc/DropDownFieldDialog.hxx b/sw/source/uibase/inc/DropDownFieldDialog.hxx
index 13f3946..73b7d9f 100644
--- a/sw/source/uibase/inc/DropDownFieldDialog.hxx
+++ b/sw/source/uibase/inc/DropDownFieldDialog.hxx
@@ -51,9 +51,9 @@ public:
    virtual ~DropDownFieldDialog() override;
    bool PrevButtonPressed() const;
    bool NextButtonPressed() const;
    short execute()
    virtual short run() override
    {
        short nRet = run();
        short nRet = GenericDialogController::run();
        if (nRet == RET_OK)
            Apply();
        return nRet;
diff --git a/sw/source/uibase/inc/break.hxx b/sw/source/uibase/inc/break.hxx
index 3b6966e..096f13f 100644
--- a/sw/source/uibase/inc/break.hxx
+++ b/sw/source/uibase/inc/break.hxx
@@ -57,7 +57,7 @@ class SwBreakDlg : public weld::GenericDialogController

public:
    SwBreakDlg(weld::Window *pParent, SwWrtShell &rSh);
    short execute();
    virtual short run() override;
    const OUString& GetTemplateName() const { return m_aTemplate; }
    sal_uInt16 GetKind() const { return nKind; }
    const ::boost::optional<sal_uInt16>&  GetPageNumber() const { return oPgNum; }
diff --git a/sw/source/uibase/inc/inpdlg.hxx b/sw/source/uibase/inc/inpdlg.hxx
index 1263b0a..b85e526 100644
--- a/sw/source/uibase/inc/inpdlg.hxx
+++ b/sw/source/uibase/inc/inpdlg.hxx
@@ -56,9 +56,9 @@ class SwFieldInputDlg : public weld::GenericDialogController
public:
    SwFieldInputDlg(weld::Window *pParent, SwWrtShell &rSh,
                    SwField* pField, bool bPrevButton, bool bNextButton);
    short execute()
    virtual short run() override
    {
        short nRet = run();
        short nRet = GenericDialogController::run();
        if (nRet == RET_OK)
            Apply();
        return nRet;
diff --git a/sw/source/uibase/inc/insfnote.hxx b/sw/source/uibase/inc/insfnote.hxx
index 5d3daed..ad0cb10 100644
--- a/sw/source/uibase/inc/insfnote.hxx
+++ b/sw/source/uibase/inc/insfnote.hxx
@@ -71,9 +71,9 @@ public:
            return m_xNumberCharEdit->get_text();
        return OUString();
    }
    short execute()
    virtual short run() override
    {
        short nRet = run();
        short nRet = GenericDialogController::run();
        if (nRet == RET_OK)
            Apply();
        return nRet;
diff --git a/sw/source/uibase/inc/mergetbl.hxx b/sw/source/uibase/inc/mergetbl.hxx
index 986ea32..11ca8c7 100644
--- a/sw/source/uibase/inc/mergetbl.hxx
+++ b/sw/source/uibase/inc/mergetbl.hxx
@@ -31,7 +31,7 @@ private:

public:
    SwMergeTableDlg(weld::Window *pParent, bool& rWithPrev);
    short execute();
    virtual short run() override;
};

#endif
diff --git a/sw/source/uibase/inc/multmrk.hxx b/sw/source/uibase/inc/multmrk.hxx
index 0e79594..0549d09 100644
--- a/sw/source/uibase/inc/multmrk.hxx
+++ b/sw/source/uibase/inc/multmrk.hxx
@@ -38,9 +38,9 @@ class SwMultiTOXMarkDlg : public weld::GenericDialogController
public:
    SwMultiTOXMarkDlg(weld::Window* pParent, SwTOXMgr &rTOXMgr);
    virtual ~SwMultiTOXMarkDlg() override;
    short execute()
    virtual short run() override
    {
        short nRet = run();
        short nRet = GenericDialogController::run();
        if (nRet == RET_OK)
            Apply();
        return nRet;
diff --git a/sw/source/uibase/inc/rowht.hxx b/sw/source/uibase/inc/rowht.hxx
index afe10a0..fdcb643 100644
--- a/sw/source/uibase/inc/rowht.hxx
+++ b/sw/source/uibase/inc/rowht.hxx
@@ -38,7 +38,7 @@ private:

public:
    SwTableHeightDlg(weld::Window *pParent, SwWrtShell &rS);
    short execute();
    virtual short run() override;
};

#endif
diff --git a/sw/source/uibase/inc/splittbl.hxx b/sw/source/uibase/inc/splittbl.hxx
index 8d32899..ac75e72 100644
--- a/sw/source/uibase/inc/splittbl.hxx
+++ b/sw/source/uibase/inc/splittbl.hxx
@@ -41,9 +41,9 @@ private:
public:
    SwSplitTableDlg(weld::Window *pParent, SwWrtShell &rSh);

    short execute()
    virtual short run() override
    {
        short nRet = m_xDialog->run();
        short nRet = GenericDialogController::run();
        if (nRet == RET_OK)
            Apply();
        return nRet;
diff --git a/sw/source/uibase/inc/srtdlg.hxx b/sw/source/uibase/inc/srtdlg.hxx
index ff32b8f..99edf77 100644
--- a/sw/source/uibase/inc/srtdlg.hxx
+++ b/sw/source/uibase/inc/srtdlg.hxx
@@ -81,7 +81,7 @@ class SwSortDlg : public weld::GenericDialogController

public:
    SwSortDlg(weld::Window * pParent, SwWrtShell &rSh);
    short execute();
    virtual short run() override;
};

#endif
diff --git a/sw/source/uibase/inc/tautofmt.hxx b/sw/source/uibase/inc/tautofmt.hxx
index 77a8f69..fdee21d 100644
--- a/sw/source/uibase/inc/tautofmt.hxx
+++ b/sw/source/uibase/inc/tautofmt.hxx
@@ -79,7 +79,7 @@ public:
    SwAutoFormatDlg(weld::Window* pParent, SwWrtShell* pShell,
                    bool bSetAutoFormat, const SwTableAutoFormat* pSelFormat);

    short execute();
    virtual short run() override;

    SwTableAutoFormat* FillAutoFormatOfIndex() const;

diff --git a/sw/source/uibase/uiview/view2.cxx b/sw/source/uibase/uiview/view2.cxx
index 66c7663..1596460 100644
--- a/sw/source/uibase/uiview/view2.cxx
+++ b/sw/source/uibase/uiview/view2.cxx
@@ -563,7 +563,7 @@ void SwView::Execute(SfxRequest &rReq)
                    SfxPasswordDialog aPasswdDlg(GetFrameWeld());
                    aPasswdDlg.SetMinLen(1);
                    //#i69751# the result of Execute() can be ignored
                    (void)aPasswdDlg.execute();
                    (void)aPasswdDlg.run();
                    OUString sNewPasswd(aPasswdDlg.GetPassword());
                    Sequence <sal_Int8> aNewPasswd = rIDRA.GetRedlinePassword();
                    SvPasswordHelper::GetHashPassword( aNewPasswd, sNewPasswd );
@@ -604,7 +604,7 @@ void SwView::Execute(SfxRequest &rReq)
            aPasswdDlg.SetMinLen(1);
            if (!aPasswd.getLength())
                aPasswdDlg.ShowExtras(SfxShowExtras::CONFIRM);
            if (aPasswdDlg.execute())
            if (aPasswdDlg.run())
            {
                RedlineFlags nOn = RedlineFlags::On;
                OUString sNewPasswd(aPasswdDlg.GetPassword());
diff --git a/writerperfect/source/calc/MSWorksCalcImportFilter.cxx b/writerperfect/source/calc/MSWorksCalcImportFilter.cxx
index d1d513f..ef8ff59 100644
--- a/writerperfect/source/calc/MSWorksCalcImportFilter.cxx
+++ b/writerperfect/source/calc/MSWorksCalcImportFilter.cxx
@@ -248,7 +248,7 @@ bool MSWorksCalcImportFilter::doImportDocument(weld::Window* pParent,
        {
            SfxPasswordDialog aPasswdDlg(pParent);
            aPasswdDlg.SetMinLen(1);
            if (!aPasswdDlg.execute())
            if (!aPasswdDlg.run())
                return false;
            OUString aPasswd = aPasswdDlg.GetPassword();
            aUtf8Passwd = OUStringToOString(aPasswd, RTL_TEXTENCODING_UTF8);
diff --git a/writerperfect/source/writer/StarOfficeWriterImportFilter.cxx b/writerperfect/source/writer/StarOfficeWriterImportFilter.cxx
index 8f7143c..53869bb 100644
--- a/writerperfect/source/writer/StarOfficeWriterImportFilter.cxx
+++ b/writerperfect/source/writer/StarOfficeWriterImportFilter.cxx
@@ -55,7 +55,7 @@ bool StarOfficeWriterImportFilter::doImportDocument(weld::Window* pParent,
        {
            SfxPasswordDialog aPasswdDlg(pParent);
            aPasswdDlg.SetMinLen(0);
            if (!aPasswdDlg.execute())
            if (!aPasswdDlg.run())
                return false;
            OUString aPasswd = aPasswdDlg.GetPassword();
            aUtf8Passwd = OUStringToOString(aPasswd, RTL_TEXTENCODING_UTF8);
diff --git a/writerperfect/source/writer/WordPerfectImportFilter.cxx b/writerperfect/source/writer/WordPerfectImportFilter.cxx
index d3ac6a3..a4fda82 100644
--- a/writerperfect/source/writer/WordPerfectImportFilter.cxx
+++ b/writerperfect/source/writer/WordPerfectImportFilter.cxx
@@ -121,7 +121,7 @@ bool WordPerfectImportFilter::importImpl(const Sequence<css::beans::PropertyValu
        {
            SfxPasswordDialog aPasswdDlg(Application::GetFrameWeld(xDialogParent));
            aPasswdDlg.SetMinLen(0);
            if (!aPasswdDlg.execute())
            if (!aPasswdDlg.run())
                return false;
            OUString aPasswd = aPasswdDlg.GetPassword();
            aUtf8Passwd = OUStringToOString(aPasswd, RTL_TEXTENCODING_UTF8);