summaryrefslogtreecommitdiff
path: root/dbaccess
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-03-20 17:17:10 +0000
committerCaolán McNamara <caolanm@redhat.com>2018-03-22 00:27:49 +0100
commita084d003a927440fb56b11a0b7175360a1af41ab (patch)
tree830911bfed2ad1f34730156d506bc9fd5c7c392c /dbaccess
parent519293447189f75e842065f7ff211d395d0da4b6 (diff)
weld OSQLMessageBox
Change-Id: Idbdb07bc342a91695d15ea1a87d1863798ca34b0 Reviewed-on: https://gerrit.libreoffice.org/51676 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'dbaccess')
-rw-r--r--dbaccess/source/ui/app/AppControllerDnD.cxx2
-rw-r--r--dbaccess/source/ui/browser/brwctrlr.cxx4
-rw-r--r--dbaccess/source/ui/dlg/ConnectionHelper.cxx3
-rw-r--r--dbaccess/source/ui/dlg/ConnectionPage.cxx6
-rw-r--r--dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx10
-rw-r--r--dbaccess/source/ui/dlg/adminpages.cxx8
-rw-r--r--dbaccess/source/ui/dlg/detailpages.cxx7
-rw-r--r--dbaccess/source/ui/dlg/sqlmessage.cxx240
-rw-r--r--dbaccess/source/ui/dlg/tablespage.cxx5
-rw-r--r--dbaccess/source/ui/inc/UITools.hxx24
-rw-r--r--dbaccess/source/ui/inc/sqlmessage.hxx83
-rw-r--r--dbaccess/source/ui/misc/DExport.cxx4
-rw-r--r--dbaccess/source/ui/misc/RowSetDrop.cxx4
-rw-r--r--dbaccess/source/ui/misc/UITools.cxx18
-rw-r--r--dbaccess/source/ui/misc/WCopyTable.cxx2
-rw-r--r--dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx15
-rw-r--r--dbaccess/source/ui/querydesign/querycontroller.cxx18
-rw-r--r--dbaccess/source/ui/relationdesign/RelationController.cxx7
-rw-r--r--dbaccess/source/ui/relationdesign/RelationTableView.cxx20
-rw-r--r--dbaccess/source/ui/tabledesign/TableController.cxx32
-rw-r--r--dbaccess/source/ui/uno/dbinteraction.cxx4
-rw-r--r--dbaccess/source/ui/uno/unosqlmessage.cxx6
22 files changed, 243 insertions, 279 deletions
diff --git a/dbaccess/source/ui/app/AppControllerDnD.cxx b/dbaccess/source/ui/app/AppControllerDnD.cxx
index 7012171dd72c..342de47f7ec5 100644
--- a/dbaccess/source/ui/app/AppControllerDnD.cxx
+++ b/dbaccess/source/ui/app/AppControllerDnD.cxx
@@ -120,7 +120,7 @@ void OApplicationController::deleteTables(const std::vector< OUString>& _rList)
sal_Int32 nResult = RET_YES;
if ( bConfirm )
- nResult = ::dbaui::askForUserAction(getView(),STR_TITLE_CONFIRM_DELETION ,STR_QUERY_DELETE_TABLE,_rList.size() > 1 && (aIter+1) != _rList.end(),sTableName);
+ nResult = ::dbaui::askForUserAction(getFrameWeld(), STR_TITLE_CONFIRM_DELETION, STR_QUERY_DELETE_TABLE, _rList.size() > 1 && (aIter+1) != _rList.end(), sTableName);
bool bUserConfirmedDelete =
( RET_YES == nResult )
diff --git a/dbaccess/source/ui/browser/brwctrlr.cxx b/dbaccess/source/ui/browser/brwctrlr.cxx
index 65fded7d83a4..d6c6415ebec5 100644
--- a/dbaccess/source/ui/browser/brwctrlr.cxx
+++ b/dbaccess/source/ui/browser/brwctrlr.cxx
@@ -1259,8 +1259,8 @@ IMPL_LINK_NOARG( SbaXDataBrowserController, OnAsyncDisplayError, void*, void )
{
if ( m_aCurrentError.isValid() )
{
- ScopedVclPtrInstance< OSQLMessageBox > aDlg( getBrowserView(), m_aCurrentError );
- aDlg->Execute();
+ OSQLMessageBox aDlg(getFrameWeld(), m_aCurrentError);
+ aDlg.run();
}
}
diff --git a/dbaccess/source/ui/dlg/ConnectionHelper.cxx b/dbaccess/source/ui/dlg/ConnectionHelper.cxx
index 50c3c9d3bf28..e2c0f4c47903 100644
--- a/dbaccess/source/ui/dlg/ConnectionHelper.cxx
+++ b/dbaccess/source/ui/dlg/ConnectionHelper.cxx
@@ -694,7 +694,8 @@ namespace dbaui
{
OUString sFile = DBA_RES( STR_FILE_DOES_NOT_EXIST );
sFile = sFile.replaceFirst("$file$", aTransformer.get(OFileNotation::N_SYSTEM));
- ScopedVclPtrInstance<OSQLWarningBox>(this, sFile)->Execute();
+ OSQLWarningBox aWarning(GetFrameWeld(), sFile);
+ aWarning.run();
setURLNoPrefix(sOldPath);
SetRoadmapStateValue(false);
callModifiedHdl();
diff --git a/dbaccess/source/ui/dlg/ConnectionPage.cxx b/dbaccess/source/ui/dlg/ConnectionPage.cxx
index d0e72c72d289..670c399fa149 100644
--- a/dbaccess/source/ui/dlg/ConnectionPage.cxx
+++ b/dbaccess/source/ui/dlg/ConnectionPage.cxx
@@ -306,9 +306,9 @@ namespace dbaui
#endif
const char* pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS;
- const OSQLMessageBox::MessageType mt = bSuccess ? OSQLMessageBox::Info : OSQLMessageBox::Error;
- ScopedVclPtrInstance< OSQLMessageBox > aMsg( this, DBA_RES(pMessage), OUString(), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, mt );
- aMsg->Execute();
+ const MessageType mt = bSuccess ? MessageType::Info : MessageType::Error;
+ OSQLMessageBox aMsg(GetFrameWeld(), DBA_RES(pMessage), OUString(), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, mt);
+ aMsg.run();
}
bool OConnectionTabPage::checkTestConnection()
{
diff --git a/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx b/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx
index 99a5d3aef1d9..4cdb11718bb0 100644
--- a/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx
+++ b/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx
@@ -554,9 +554,9 @@ using namespace ::com::sun::star;
}
#endif
const char *pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS;
- const OSQLMessageBox::MessageType mt = bSuccess ? OSQLMessageBox::Info : OSQLMessageBox::Error;
- ScopedVclPtrInstance<OSQLMessageBox> aMsg(this, DBA_RES(pMessage), OUString(), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, mt);
- aMsg->Execute();
+ const MessageType mt = bSuccess ? MessageType::Info : MessageType::Error;
+ OSQLMessageBox aMsg(GetFrameWeld(), DBA_RES(pMessage), OUString(), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, mt);
+ aMsg.run();
}
void OGeneralSpecialJDBCConnectionPageSetup::callModifiedHdl(void* pControl)
@@ -675,8 +675,8 @@ using namespace ::com::sun::star;
}
#endif
const char* pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS;
- ScopedVclPtrInstance<OSQLMessageBox> aMsg(this, DBA_RES(pMessage), OUString());
- aMsg->Execute();
+ OSQLMessageBox aMsg(GetFrameWeld(), DBA_RES(pMessage), OUString());
+ aMsg.run();
}
IMPL_LINK(OJDBCConnectionPageSetup, OnEditModified, Edit&, _rEdit, void)
diff --git a/dbaccess/source/ui/dlg/adminpages.cxx b/dbaccess/source/ui/dlg/adminpages.cxx
index 486a8189b969..520045fb09dd 100644
--- a/dbaccess/source/ui/dlg/adminpages.cxx
+++ b/dbaccess/source/ui/dlg/adminpages.cxx
@@ -253,7 +253,7 @@ namespace dbaui
}
if ( bShowMessage )
{
- OSQLMessageBox::MessageType eImage = OSQLMessageBox::Info;
+ MessageType eImage = MessageType::Info;
OUString aMessage,sTitle;
sTitle = DBA_RES(STR_CONNECTION_TEST);
if ( bSuccess )
@@ -262,11 +262,11 @@ namespace dbaui
}
else
{
- eImage = OSQLMessageBox::Error;
+ eImage = MessageType::Error;
aMessage = DBA_RES(STR_CONNECTION_NO_SUCCESS);
}
- ScopedVclPtrInstance< OSQLMessageBox > aMsg( this, sTitle, aMessage, MessBoxStyle::Ok, eImage );
- aMsg->Execute();
+ OSQLMessageBox aMsg(GetFrameWeld(), sTitle, aMessage, MessBoxStyle::Ok, eImage);
+ aMsg.run();
}
if ( !bSuccess )
m_pAdminDialog->clearPassword();
diff --git a/dbaccess/source/ui/dlg/detailpages.cxx b/dbaccess/source/ui/dlg/detailpages.cxx
index db0e8811d341..cc3fba28d0ff 100644
--- a/dbaccess/source/ui/dlg/detailpages.cxx
+++ b/dbaccess/source/ui/dlg/detailpages.cxx
@@ -540,10 +540,11 @@ namespace dbaui
}
#endif
const char* pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS;
- const OSQLMessageBox::MessageType mt = bSuccess ? OSQLMessageBox::Info : OSQLMessageBox::Error;
- ScopedVclPtrInstance<OSQLMessageBox> aMsg(this, DBA_RES(pMessage), OUString(), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, mt);
- aMsg->Execute();
+ const MessageType mt = bSuccess ? MessageType::Info : MessageType::Error;
+ OSQLMessageBox aMsg(GetFrameWeld(), DBA_RES(pMessage), OUString(), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, mt);
+ aMsg.run();
}
+
void OGeneralSpecialJDBCDetailsPage::callModifiedHdl(void* pControl)
{
if ( m_bUseClass && pControl == m_pEDDriverClass )
diff --git a/dbaccess/source/ui/dlg/sqlmessage.cxx b/dbaccess/source/ui/dlg/sqlmessage.cxx
index f85b1b39d807..3df70af37535 100644
--- a/dbaccess/source/ui/dlg/sqlmessage.cxx
+++ b/dbaccess/source/ui/dlg/sqlmessage.cxx
@@ -24,8 +24,11 @@
#include <bitmaps.hlst>
#include <com/sun/star/sdbc/SQLException.hpp>
#include <com/sun/star/sdb/SQLContext.hpp>
+#include <vcl/button.hxx>
+#include <vcl/dialog.hxx>
#include <vcl/fixed.hxx>
#include <vcl/weld.hxx>
+#include <vcl/svapp.hxx>
#include <osl/diagnose.h>
#include <svtools/treelistbox.hxx>
#include <svtools/treelistentry.hxx>
@@ -40,12 +43,6 @@
#define RET_MORE RET_RETRY + 1
-#define DIALOG_WIDTH 220
-#define OUTER_MARGIN 6
-#define IMAGE_SIZE 20
-#define INNER_PADDING 3
-#define TEXT_POS_X ( OUTER_MARGIN + IMAGE_SIZE + INNER_PADDING )
-
using namespace dbtools;
using namespace com::sun::star::uno;
using namespace com::sun::star::sdb;
@@ -371,35 +368,47 @@ struct SQLMessageBox_Impl
namespace
{
- void lcl_positionInAppFont( const vcl::Window& _rParent, vcl::Window& _rChild, long _nX, long _nY, long Width, long Height )
- {
- Point aPos = _rParent.LogicToPixel(Point(_nX, _nY), MapMode(MapUnit::MapAppFont));
- Size aSize = _rParent.LogicToPixel(Size(Width, Height), MapMode(MapUnit::MapAppFont));
- _rChild.SetPosSizePixel( aPos, aSize );
- }
-
- void lcl_addButton( ButtonDialog& _rDialog, StandardButtonType _eType, bool _bDefault )
+ void lcl_addButton(weld::MessageDialog* pDialog, StandardButtonType eType, bool bDefault)
{
sal_uInt16 nButtonID = 0;
- switch ( _eType )
+ switch (eType)
{
- case StandardButtonType::Yes: nButtonID = RET_YES; break;
- case StandardButtonType::No: nButtonID = RET_NO; break;
- case StandardButtonType::OK: nButtonID = RET_OK; break;
- case StandardButtonType::Cancel: nButtonID = RET_CANCEL; break;
- case StandardButtonType::Retry: nButtonID = RET_RETRY; break;
- case StandardButtonType::Help: nButtonID = RET_HELP; break;
- default:
- OSL_FAIL( "lcl_addButton: invalid button id!" );
- break;
+ case StandardButtonType::Yes:
+ nButtonID = RET_YES;
+ pDialog->add_button(Button::GetStandardText(StandardButtonType::Yes), nButtonID);
+ break;
+ case StandardButtonType::No:
+ nButtonID = RET_NO;
+ pDialog->add_button(Button::GetStandardText(StandardButtonType::No), nButtonID);
+ break;
+ case StandardButtonType::OK:
+ nButtonID = RET_OK;
+ pDialog->add_button(Button::GetStandardText(StandardButtonType::OK), nButtonID);
+ break;
+ case StandardButtonType::Cancel:
+ nButtonID = RET_CANCEL;
+ pDialog->add_button(Button::GetStandardText(StandardButtonType::Cancel), nButtonID);
+ break;
+ case StandardButtonType::Retry:
+ nButtonID = RET_RETRY;
+ pDialog->add_button(Button::GetStandardText(StandardButtonType::Retry), nButtonID);
+ break;
+ case StandardButtonType::Help:
+ nButtonID = RET_HELP;
+ pDialog->add_button(Button::GetStandardText(StandardButtonType::Help), nButtonID);
+ break;
+ default:
+ OSL_FAIL( "lcl_addButton: invalid button id!" );
+ break;
}
- _rDialog.AddButton( _eType, nButtonID, _bDefault ? ButtonDialogFlags::Default | ButtonDialogFlags::Focus : ButtonDialogFlags::NONE );
+ if (bDefault)
+ pDialog->set_default_response(nButtonID);
}
}
-void OSQLMessageBox::impl_positionControls()
+void OSQLMessageBox::impl_fillMessages()
{
- OSL_PRECOND( !m_pImpl->aDisplayInfo.empty(), "OSQLMessageBox::impl_positionControls: nothing to display at all?" );
+ OSL_PRECOND( !m_pImpl->aDisplayInfo.empty(), "OSQLMessageBox::impl_fillMessages: nothing to display at all?" );
if ( m_pImpl->aDisplayInfo.empty() )
return;
@@ -427,107 +436,44 @@ void OSQLMessageBox::impl_positionControls()
sSecondary = pSecondInfo->sMessage;
}
- // image
- lcl_positionInAppFont( *this, *m_aInfoImage.get(), OUTER_MARGIN, OUTER_MARGIN, IMAGE_SIZE, IMAGE_SIZE );
- m_aInfoImage->Show();
-
// primary text
- lcl_positionInAppFont( *this, *m_aTitle.get(), TEXT_POS_X, OUTER_MARGIN, DIALOG_WIDTH - TEXT_POS_X - 2 * OUTER_MARGIN, 16 );
- sPrimary = lcl_stripOOoBaseVendor( sPrimary );
- m_aTitle->SetText( sPrimary );
- m_aTitle->Show();
-
- tools::Rectangle aPrimaryRect( m_aTitle->GetPosPixel(), m_aTitle->GetSizePixel() );
+ m_xDialog->set_primary_text(lcl_stripOOoBaseVendor(sPrimary));
// secondary text (if applicable)
- m_aMessage->SetStyle( m_aMessage->GetStyle() | WB_NOLABEL );
- sSecondary = lcl_stripOOoBaseVendor( sSecondary );
- m_aMessage->SetText( sSecondary );
-
- lcl_positionInAppFont( *this, *m_aMessage.get(), TEXT_POS_X, OUTER_MARGIN + 16 + 3, DIALOG_WIDTH - TEXT_POS_X - 2 * OUTER_MARGIN, 8 );
- tools::Rectangle aSecondaryRect( m_aMessage->GetPosPixel(), m_aMessage->GetSizePixel() );
-
- bool bHaveSecondaryText = !sSecondary.isEmpty();
-
- // determine which space the secondary text would occupy
- if ( bHaveSecondaryText )
- aSecondaryRect = GetTextRect( aSecondaryRect, sSecondary, DrawTextFlags::WordBreak | DrawTextFlags::MultiLine | DrawTextFlags::Left );
- else
- aSecondaryRect.SetBottom( aSecondaryRect.Top() - 1 );
-
- // adjust secondary control height accordingly
- m_aMessage->SetSizePixel( aSecondaryRect.GetSize() );
- m_aMessage->Show( aSecondaryRect.GetHeight() > 0 );
-
- // if there's no secondary text ...
- if ( !bHaveSecondaryText )
- { // then give the primary text as much horizontal space as it needs
- tools::Rectangle aSuggestedRect( GetTextRect( aPrimaryRect, sPrimary, DrawTextFlags::WordBreak | DrawTextFlags::MultiLine | DrawTextFlags::Center ) );
- aPrimaryRect.SetRight( aPrimaryRect.Left() + aSuggestedRect.GetWidth() );
- aPrimaryRect.SetBottom( aPrimaryRect.Top() + aSuggestedRect.GetHeight() );
- // and center it horizontally
- m_aTitle->SetStyle( ( m_aTitle->GetStyle() & ~WB_LEFT ) | WB_CENTER );
-
- tools::Rectangle aInfoRect( m_aInfoImage->GetPosPixel(), m_aInfoImage->GetSizePixel() );
- // also, if it's not as high as the image ...
- if ( aPrimaryRect.GetHeight() < m_aInfoImage->GetSizePixel().Height() )
- { // ... make it fit the image height
- aPrimaryRect.AdjustBottom(aInfoRect.GetHeight() - aPrimaryRect.GetHeight() );
- // and center it vertically
- m_aTitle->SetStyle( m_aTitle->GetStyle() | WB_VCENTER );
- }
- else
- { // ... otherwise, center the image vertically, relative to the primary text
- aInfoRect.Move( 0, ( aPrimaryRect.GetHeight() - aInfoRect.GetHeight() ) / 2 );
- m_aInfoImage->SetPosSizePixel( aInfoRect.TopLeft(), aInfoRect.GetSize() );
- }
-
- m_aTitle->SetPosSizePixel( aPrimaryRect.TopLeft(), aPrimaryRect.GetSize() );
- }
-
- // adjust dialog size accordingly
- const tools::Rectangle& rBottomTextRect( bHaveSecondaryText ? aSecondaryRect : aPrimaryRect );
- Size aBorderSize = LogicToPixel(Size(OUTER_MARGIN, OUTER_MARGIN), MapMode(MapUnit::MapAppFont));
- Size aDialogSize( LogicToPixel(Size(DIALOG_WIDTH, 30), MapMode(MapUnit::MapAppFont)));
- aDialogSize.setHeight( rBottomTextRect.Bottom() + aBorderSize.Height() );
- aDialogSize.setWidth( aPrimaryRect.Right() + aBorderSize.Width() );
-
- SetSizePixel( aDialogSize );
- SetPageSizePixel( aDialogSize );
+ m_xDialog->set_secondary_text(lcl_stripOOoBaseVendor(sSecondary));
}
void OSQLMessageBox::impl_createStandardButtons( MessBoxStyle _nStyle )
{
if ( _nStyle & MessBoxStyle::YesNoCancel )
{
- lcl_addButton( *this, StandardButtonType::Yes, bool(_nStyle & MessBoxStyle::DefaultYes) );
- lcl_addButton( *this, StandardButtonType::No, bool( _nStyle & MessBoxStyle::DefaultNo ) );
- lcl_addButton( *this, StandardButtonType::Cancel, bool( _nStyle & MessBoxStyle::DefaultCancel ) );
+ lcl_addButton(m_xDialog.get(), StandardButtonType::Yes, bool(_nStyle & MessBoxStyle::DefaultYes));
+ lcl_addButton(m_xDialog.get(), StandardButtonType::No, bool(_nStyle & MessBoxStyle::DefaultNo));
+ lcl_addButton(m_xDialog.get(), StandardButtonType::Cancel, bool(_nStyle & MessBoxStyle::DefaultCancel));
}
else if ( _nStyle & MessBoxStyle::OkCancel )
{
- lcl_addButton( *this, StandardButtonType::OK, bool( _nStyle & MessBoxStyle::DefaultOk ) );
- lcl_addButton( *this, StandardButtonType::Cancel, bool( _nStyle & MessBoxStyle::DefaultCancel ) );
+ lcl_addButton(m_xDialog.get(), StandardButtonType::OK, bool(_nStyle & MessBoxStyle::DefaultOk));
+ lcl_addButton(m_xDialog.get(), StandardButtonType::Cancel, bool(_nStyle & MessBoxStyle::DefaultCancel));
}
else if ( _nStyle & MessBoxStyle::YesNo )
{
- lcl_addButton( *this, StandardButtonType::Yes, bool( _nStyle & MessBoxStyle::DefaultYes ) );
- lcl_addButton( *this, StandardButtonType::No, bool( _nStyle & MessBoxStyle::DefaultNo ) );
+ lcl_addButton(m_xDialog.get(), StandardButtonType::Yes, bool(_nStyle & MessBoxStyle::DefaultYes));
+ lcl_addButton(m_xDialog.get(), StandardButtonType::No, bool(_nStyle & MessBoxStyle::DefaultNo));
}
else if ( _nStyle & MessBoxStyle::RetryCancel )
{
- lcl_addButton( *this, StandardButtonType::Retry, bool( _nStyle & MessBoxStyle::DefaultRetry ) );
- lcl_addButton( *this, StandardButtonType::Cancel, bool( _nStyle & MessBoxStyle::DefaultCancel ) );
+ lcl_addButton(m_xDialog.get(), StandardButtonType::Retry, bool(_nStyle & MessBoxStyle::DefaultRetry));
+ lcl_addButton(m_xDialog.get(), StandardButtonType::Cancel, bool(_nStyle & MessBoxStyle::DefaultCancel));
}
- else
+ else if ( _nStyle & MessBoxStyle::Ok )
{
- OSL_ENSURE( MessBoxStyle::Ok & _nStyle, "OSQLMessageBox::impl_createStandardButtons: unsupported dialog style requested!" );
- AddButton( StandardButtonType::OK, RET_OK, ButtonDialogFlags::Default | ButtonDialogFlags::Focus );
+ lcl_addButton(m_xDialog.get(), StandardButtonType::OK, true);
}
if ( !m_sHelpURL.isEmpty() )
{
- lcl_addButton( *this, StandardButtonType::Help, false );
+ lcl_addButton(m_xDialog.get(), StandardButtonType::Help, false);
OUString aTmp;
INetURLObject aHID( m_sHelpURL );
@@ -536,13 +482,13 @@ void OSQLMessageBox::impl_createStandardButtons( MessBoxStyle _nStyle )
else
aTmp = m_sHelpURL;
- SetHelpId( OUStringToOString( aTmp, RTL_TEXTENCODING_UTF8 ) );
+ m_xDialog->set_help_id(OUStringToOString(aTmp, RTL_TEXTENCODING_UTF8));
}
}
void OSQLMessageBox::impl_addDetailsButton()
{
- size_t nFirstPageVisible = m_aMessage->IsVisible() ? 2 : 1;
+ size_t nFirstPageVisible = m_xDialog->get_secondary_text().isEmpty() ? 1 : 2;
bool bMoreDetailsAvailable = m_pImpl->aDisplayInfo.size() > nFirstPageVisible;
if ( !bMoreDetailsAvailable )
@@ -561,20 +507,14 @@ void OSQLMessageBox::impl_addDetailsButton()
if ( bMoreDetailsAvailable )
{
- AddButton( StandardButtonType::More, RET_MORE);
- PushButton* pButton = GetPushButton( RET_MORE );
- OSL_ENSURE( pButton, "OSQLMessageBox::impl_addDetailsButton: just added this button, why isn't it there?" );
- pButton->SetClickHdl( LINK( this, OSQLMessageBox, ButtonClickHdl ) );
+ m_xDialog->add_button(Button::GetStandardText(StandardButtonType::More), RET_MORE);
+ m_xMoreButton.reset(m_xDialog->get_widget_for_response(RET_MORE));
+ m_xMoreButton->connect_clicked(LINK(this, OSQLMessageBox, ButtonClickHdl));
}
}
-void OSQLMessageBox::Construct( MessBoxStyle _nStyle, MessageType _eImage )
+void OSQLMessageBox::Construct(weld::Window* pParent, MessBoxStyle _nStyle, MessageType _eImage)
{
- SetText( utl::ConfigManager::getProductName() + " Base" );
-
- // position and size the controls and the dialog, depending on whether we have one or two texts to display
- impl_positionControls();
-
// init the image
MessageType eType( _eImage );
if ( eType == AUTO )
@@ -587,87 +527,77 @@ void OSQLMessageBox::Construct( MessBoxStyle _nStyle, MessageType _eImage )
default: OSL_FAIL( "OSQLMessageBox::Construct: invalid type!" );
}
}
+ VclMessageType eMessageType;
switch (eType)
{
default:
OSL_FAIL( "OSQLMessageBox::impl_initImage: unsupported image type!" );
SAL_FALLTHROUGH;
case Info:
- m_aInfoImage->SetImage(GetStandardInfoBoxImage());
+ eMessageType = VclMessageType::Info;
break;
case Warning:
- m_aInfoImage->SetImage(GetStandardWarningBoxImage());
+ eMessageType = VclMessageType::Warning;
break;
case Error:
- m_aInfoImage->SetImage(GetStandardErrorBoxImage());
+ eMessageType = VclMessageType::Error;
break;
case Query:
- m_aInfoImage->SetImage(GetStandardQueryBoxImage());
+ eMessageType = VclMessageType::Question;
break;
}
+ m_xDialog.reset(Application::CreateMessageDialog(pParent, eMessageType, VclButtonsType::NONE, ""));
+ m_xDialog->set_title(utl::ConfigManager::getProductName() + " Base");
+
+ impl_fillMessages();
+
// create buttons
impl_createStandardButtons( _nStyle );
impl_addDetailsButton();
}
-OSQLMessageBox::OSQLMessageBox(vcl::Window* _pParent, const SQLExceptionInfo& _rException, MessBoxStyle _nStyle, const OUString& _rHelpURL )
- :ButtonDialog( _pParent, WB_HORZ | WB_STDDIALOG )
- ,m_aInfoImage( VclPtr<FixedImage>::Create(this) )
- ,m_aTitle( VclPtr<FixedText>::Create(this, WB_WORDBREAK | WB_LEFT) )
- ,m_aMessage( VclPtr<FixedText>::Create(this, WB_WORDBREAK | WB_LEFT) )
- ,m_sHelpURL( _rHelpURL )
- ,m_pImpl( new SQLMessageBox_Impl( _rException ) )
+OSQLMessageBox::OSQLMessageBox(weld::Window* pParent, const SQLExceptionInfo& rException, MessBoxStyle nStyle, const OUString& rHelpURL)
+ : m_pImpl(new SQLMessageBox_Impl(rException))
+ , m_sHelpURL(rHelpURL)
{
- Construct( _nStyle, AUTO );
+ Construct(pParent, nStyle, AUTO);
}
-OSQLMessageBox::OSQLMessageBox( vcl::Window* _pParent, const OUString& _rTitle, const OUString& _rMessage, MessBoxStyle _nStyle, MessageType _eType, const ::dbtools::SQLExceptionInfo* _pAdditionalErrorInfo )
- :ButtonDialog( _pParent, WB_HORZ | WB_STDDIALOG )
- ,m_aInfoImage( VclPtr<FixedImage>::Create(this) )
- ,m_aTitle( VclPtr<FixedText>::Create(this, WB_WORDBREAK | WB_LEFT) )
- ,m_aMessage( VclPtr<FixedText>::Create(this, WB_WORDBREAK | WB_LEFT) )
+OSQLMessageBox::OSQLMessageBox(weld::Window* pParent, const OUString& rTitle, const OUString& rMessage, MessBoxStyle nStyle, MessageType eType, const ::dbtools::SQLExceptionInfo* pAdditionalErrorInfo )
{
SQLContext aError;
- aError.Message = _rTitle;
- aError.Details = _rMessage;
- if ( _pAdditionalErrorInfo )
- aError.NextException = _pAdditionalErrorInfo->get();
+ aError.Message = rTitle;
+ aError.Details = rMessage;
+ if (pAdditionalErrorInfo)
+ aError.NextException = pAdditionalErrorInfo->get();
- m_pImpl.reset( new SQLMessageBox_Impl( SQLExceptionInfo( aError ) ) );
+ m_pImpl.reset(new SQLMessageBox_Impl(SQLExceptionInfo(aError)));
- Construct( _nStyle, _eType );
+ Construct(pParent, nStyle, eType);
}
OSQLMessageBox::~OSQLMessageBox()
{
- disposeOnce();
-}
-
-void OSQLMessageBox::dispose()
-{
- m_aInfoImage.disposeAndClear();
- m_aTitle.disposeAndClear();
- m_aMessage.disposeAndClear();
- ButtonDialog::dispose();
}
-IMPL_LINK_NOARG( OSQLMessageBox, ButtonClickHdl, Button *, void )
+IMPL_LINK_NOARG(OSQLMessageBox, ButtonClickHdl, weld::Button&, void)
{
- OExceptionChainDialog aDlg(GetFrameWeld(), m_pImpl->aDisplayInfo);
+ OExceptionChainDialog aDlg(m_xDialog.get(), m_pImpl->aDisplayInfo);
aDlg.run();
}
// OSQLWarningBox
-OSQLWarningBox::OSQLWarningBox( vcl::Window* _pParent, const OUString& _rMessage, MessBoxStyle _nStyle,
- const ::dbtools::SQLExceptionInfo* _pAdditionalErrorInfo )
- :OSQLMessageBox( _pParent, DBA_RES( STR_EXCEPTION_WARNING ), _rMessage, _nStyle, OSQLMessageBox::Warning, _pAdditionalErrorInfo )
+OSQLWarningBox::OSQLWarningBox(weld::Window* pParent, const OUString& rMessage, MessBoxStyle nStyle,
+ const ::dbtools::SQLExceptionInfo* pAdditionalErrorInfo )
+ : OSQLMessageBox(pParent, DBA_RES(STR_EXCEPTION_WARNING), rMessage, nStyle, MessageType::Warning, pAdditionalErrorInfo)
{
}
// OSQLErrorBox
-OSQLErrorBox::OSQLErrorBox( vcl::Window* _pParent, const OUString& _rMessage )
- :OSQLMessageBox( _pParent, DBA_RES( STR_EXCEPTION_ERROR ), _rMessage, MessBoxStyle::Ok | MessBoxStyle::DefaultOk, OSQLMessageBox::Error, nullptr )
+OSQLErrorBox::OSQLErrorBox(weld::Window* pParent, const OUString& rMessage)
+ : OSQLMessageBox(pParent, DBA_RES(STR_EXCEPTION_ERROR), rMessage, MessBoxStyle::Ok | MessBoxStyle::DefaultOk,
+ MessageType::Error, nullptr)
{
}
diff --git a/dbaccess/source/ui/dlg/tablespage.cxx b/dbaccess/source/ui/dlg/tablespage.cxx
index b890c084058e..a6011aac205b 100644
--- a/dbaccess/source/ui/dlg/tablespage.cxx
+++ b/dbaccess/source/ui/dlg/tablespage.cxx
@@ -309,8 +309,9 @@ namespace dbaui
if (aErrorInfo.isValid())
{
// establishing the connection failed. Show an error window and exit.
- ScopedVclPtrInstance< OSQLMessageBox > aMessageBox( GetParentDialog(), aErrorInfo );
- aMessageBox->Execute();
+ vcl::Window *pParent = GetParentDialog();
+ OSQLMessageBox aMessageBox(pParent ? pParent->GetFrameWeld() : nullptr, aErrorInfo);
+ aMessageBox.run();
m_pTables->Enable(false);
m_pTablesList->Clear();
diff --git a/dbaccess/source/ui/inc/UITools.hxx b/dbaccess/source/ui/inc/UITools.hxx
index 114e2ad78527..cd8e5a877b1b 100644
--- a/dbaccess/source/ui/inc/UITools.hxx
+++ b/dbaccess/source/ui/inc/UITools.hxx
@@ -200,16 +200,16 @@ namespace dbaui
SvxCellHorJustify& _eJustify,
bool _bHasFormat);
/** append a name to tablefilter of a datasource
- @param _xConnection the connection is need to get the datasource
- @param _sName the name which should be appended
- @param _rxContext needed to check if datasource is available
- @param _pParent needed when an error must be shown
+ @param xConnection the connection is need to get the datasource
+ @param rName the name which should be appended
+ @param rxContext needed to check if datasource is available
+ @param pParent needed when an error must be shown
@return false when datsource is not available otherwise true
*/
- bool appendToFilter(const css::uno::Reference< css::sdbc::XConnection>& _xConnection,
- const OUString& _sName,
- const css::uno::Reference< css::uno::XComponentContext >& _rxContext,
- vcl::Window* _pParent);
+ bool appendToFilter(const css::uno::Reference< css::sdbc::XConnection>& xConnection,
+ const OUString& rName,
+ const css::uno::Reference< css::uno::XComponentContext >& rxContext,
+ weld::Window* pParent);
/** notifySystemWindow adds or remove the given window _pToRegister at the Systemwindow found when search _pWindow.
@param _pWindow
@@ -307,21 +307,21 @@ namespace dbaui
*/
/** returns the result of the user action when view the query dialog.
- @param _pParent
+ @param pParent
The parent of the dialog
@param pTitle
A string resource id for the text which will be displayed as title.
@param pText
A string resource id for the text which will be displayed above the buttons.
When the string contains a #1. This will be replaced by the name.
- @param _bAll
+ @param bAll
When set to <TRUE/>, the all button will be appended.
- @param _sName
+ @param rName
The name of the object to ask for.
@return
RET_YES, RET_NO, RET_ALL
*/
- sal_Int32 askForUserAction(vcl::Window* _pParent, const char* pTitle, const char* pText, bool _bAll, const OUString& _sName);
+ sal_Int32 askForUserAction(weld::Window* pParent, const char* pTitle, const char* pText, bool bAll, const OUString& rName);
/** creates a new view from a query or table
@param _sName
diff --git a/dbaccess/source/ui/inc/sqlmessage.hxx b/dbaccess/source/ui/inc/sqlmessage.hxx
index e070185f76f3..0f8bbe49142a 100644
--- a/dbaccess/source/ui/inc/sqlmessage.hxx
+++ b/dbaccess/source/ui/inc/sqlmessage.hxx
@@ -20,13 +20,8 @@
#ifndef INCLUDED_DBACCESS_SOURCE_UI_INC_SQLMESSAGE_HXX
#define INCLUDED_DBACCESS_SOURCE_UI_INC_SQLMESSAGE_HXX
-#include <vcl/button.hxx>
-#include <vcl/fixed.hxx>
-#include <vcl/btndlg.hxx>
-#include <vcl/msgbox.hxx>
-
#include <connectivity/dbexception.hxx>
-
+#include <vcl/weld.hxx>
#include <memory>
// some forwards
@@ -42,28 +37,51 @@ namespace com { namespace sun { namespace star {
namespace dbaui
{
-// OSQLMessageBox
-struct SQLMessageBox_Impl;
-class OSQLMessageBox : public ButtonDialog
+enum MessageType
{
- VclPtr<FixedImage> m_aInfoImage;
- VclPtr<FixedText> m_aTitle;
- VclPtr<FixedText> m_aMessage;
- OUString m_sHelpURL;
+ Info,
+ Error,
+ Warning,
+ Query,
+ AUTO
+};
+
+enum class MessBoxStyle {
+ NONE = 0x0000,
+ Ok = 0x0001,
+ OkCancel = 0x0002,
+ YesNo = 0x0004,
+ YesNoCancel = 0x0008,
+ RetryCancel = 0x0010,
+ DefaultOk = 0x0020,
+ DefaultCancel = 0x0040,
+ DefaultRetry = 0x0080,
+ DefaultYes = 0x0100,
+ DefaultNo = 0x0200,
+ AbortRetryIgnore = 0x1000,
+ DefaultIgnore = 0x2000,
+};
- std::unique_ptr< SQLMessageBox_Impl > m_pImpl;
+}
-public:
- enum MessageType
- {
- Info,
- Error,
- Warning,
- Query,
+namespace o3tl {
+ template<> struct typed_flags<dbaui::MessBoxStyle> : is_typed_flags<dbaui::MessBoxStyle, 0x3fff> {};
+}
- AUTO
- };
+namespace dbaui
+{
+
+// OSQLMessageBox
+struct SQLMessageBox_Impl;
+class OSQLMessageBox : public weld::DialogController
+{
+ std::unique_ptr<weld::MessageDialog> m_xDialog;
+ std::unique_ptr<weld::Button> m_xMoreButton;
+ std::unique_ptr<SQLMessageBox_Impl> m_pImpl;
+ OUString m_sHelpURL;
+
+ virtual weld::Dialog* getDialog() override { return m_xDialog.get(); }
public:
/** display an SQLException with auto-recognizing a main and a detailed message
@@ -71,7 +89,7 @@ public:
detailed field of an <type scope="css::sdb">SQLContext</type>).
*/
OSQLMessageBox(
- vcl::Window* _pParent,
+ weld::Window* pParent,
const dbtools::SQLExceptionInfo& _rException,
MessBoxStyle _nStyle = MessBoxStyle::Ok | MessBoxStyle::DefaultOk,
const OUString& _rHelpURL = OUString()
@@ -83,23 +101,26 @@ public:
@param rMessage the detailed message to display
@param _eType determines the image to use. AUTO is disallowed in this constructor version
*/
- OSQLMessageBox(vcl::Window* pParent,
+ OSQLMessageBox(weld::Window* pParent,
const OUString& rTitle,
const OUString& rMessage,
MessBoxStyle nStyle = MessBoxStyle::Ok | MessBoxStyle::DefaultOk,
MessageType _eType = Info,
const ::dbtools::SQLExceptionInfo* _pAdditionalErrorInfo = nullptr );
+ void set_title(const OUString& rTitle) { m_xDialog->set_title(rTitle); }
+ void add_button(const OUString& rText, int nResponse, const OString& rHelpId = OString()) { m_xDialog->add_button(rText, nResponse, rHelpId); }
+ void set_default_response(int nResponse) { m_xDialog->set_default_response(nResponse); }
+
virtual ~OSQLMessageBox() override;
- virtual void dispose() override;
private:
- void Construct( MessBoxStyle nStyle, MessageType eImage );
+ void Construct(weld::Window* pParent, MessBoxStyle nStyle, MessageType eImage);
- DECL_LINK(ButtonClickHdl, Button*, void );
+ DECL_LINK(ButtonClickHdl, weld::Button&, void);
private:
- void impl_positionControls();
+ void impl_fillMessages();
void impl_createStandardButtons( MessBoxStyle _nStyle );
void impl_addDetailsButton();
};
@@ -108,7 +129,7 @@ private:
class OSQLWarningBox : public OSQLMessageBox
{
public:
- OSQLWarningBox( vcl::Window* _pParent,
+ OSQLWarningBox( weld::Window* pParent,
const OUString& _rMessage,
MessBoxStyle _nStyle = MessBoxStyle::Ok | MessBoxStyle::DefaultOk,
const ::dbtools::SQLExceptionInfo* _pAdditionalErrorInfo = nullptr );
@@ -118,7 +139,7 @@ public:
class OSQLErrorBox : public OSQLMessageBox
{
public:
- OSQLErrorBox( vcl::Window* _pParent,
+ OSQLErrorBox( weld::Window* pParent,
const OUString& _rMessage );
};
diff --git a/dbaccess/source/ui/misc/DExport.cxx b/dbaccess/source/ui/misc/DExport.cxx
index 7127e8bb1171..09776126679d 100644
--- a/dbaccess/source/ui/misc/DExport.cxx
+++ b/dbaccess/source/ui/misc/DExport.cxx
@@ -748,9 +748,9 @@ void ODatabaseExport::showErrorDialog(const css::sdbc::SQLException& e)
OUString aMsg = e.Message
+ "\n"
+ DBA_RES( STR_QRY_CONTINUE );
- ScopedVclPtrInstance< OSQLWarningBox > aBox( nullptr, aMsg, MessBoxStyle::YesNo | MessBoxStyle::DefaultNo );
+ OSQLWarningBox aBox(nullptr, aMsg, MessBoxStyle::YesNo | MessBoxStyle::DefaultNo);
- if (aBox->Execute() == RET_YES)
+ if (aBox.run() == RET_YES)
m_bDontAskAgain = true;
else
m_bError = true;
diff --git a/dbaccess/source/ui/misc/RowSetDrop.cxx b/dbaccess/source/ui/misc/RowSetDrop.cxx
index efbd212e9356..cdf4ecbb7d35 100644
--- a/dbaccess/source/ui/misc/RowSetDrop.cxx
+++ b/dbaccess/source/ui/misc/RowSetDrop.cxx
@@ -237,8 +237,8 @@ bool ORowSetImportExport::insertNewRow()
if(!m_bAlreadyAsked)
{
OUString sAskIfContinue = DBA_RES(STR_ERROR_OCCURRED_WHILE_COPYING);
- ScopedVclPtrInstance< OSQLWarningBox > aDlg( m_pParent, sAskIfContinue, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes );
- if(aDlg->Execute() == RET_YES)
+ OSQLWarningBox aDlg(m_pParent ? m_pParent->GetFrameWeld() : nullptr, sAskIfContinue, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes);
+ if (aDlg.run() == RET_YES)
m_bAlreadyAsked = true;
else
return false;
diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx
index ec6c9a11afcc..41b0e9194f61 100644
--- a/dbaccess/source/ui/misc/UITools.cxx
+++ b/dbaccess/source/ui/misc/UITools.cxx
@@ -898,9 +898,9 @@ std::shared_ptr<const SfxFilter> getStandardDatabaseFilter()
}
bool appendToFilter(const Reference<XConnection>& _xConnection,
- const OUString& _sName,
- const Reference< XComponentContext >& _rxContext,
- vcl::Window* _pParent)
+ const OUString& _sName,
+ const Reference< XComponentContext >& _rxContext,
+ weld::Window* pParent)
{
bool bRet = false;
Reference< XChild> xChild(_xConnection,UNO_QUERY);
@@ -931,7 +931,8 @@ bool appendToFilter(const Reference<XConnection>& _xConnection,
if(! ::dbaui::checkDataSourceAvailable(::comphelper::getString(xProp->getPropertyValue(PROPERTY_NAME)),_rxContext))
{
OUString aMessage(DBA_RES(STR_TABLEDESIGN_DATASOURCE_DELETED));
- ScopedVclPtrInstance<OSQLWarningBox>(_pParent, aMessage)->Execute();
+ OSQLWarningBox aWarning(pParent, aMessage);
+ aWarning.run();
bRet = false;
}
else
@@ -1197,18 +1198,17 @@ TOTypeInfoSP queryTypeInfoByType(sal_Int32 _nDataType,const OTypeInfoMap& _rType
return pTypeInfo;
}
-sal_Int32 askForUserAction(vcl::Window* _pParent, const char* pTitle, const char* pText, bool _bAll, const OUString& _sName)
+sal_Int32 askForUserAction(weld::Window* pParent, const char* pTitle, const char* pText, bool _bAll, const OUString& _sName)
{
SolarMutexGuard aGuard;
OUString aMsg = DBA_RES(pText);
aMsg = aMsg.replaceFirst("%1", _sName);
- ScopedVclPtrInstance<OSQLMessageBox> aAsk(_pParent, DBA_RES(pTitle), aMsg,MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,OSQLMessageBox::Query);
+ OSQLMessageBox aAsk(pParent, DBA_RES(pTitle), aMsg, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, MessageType::Query);
if ( _bAll )
{
- aAsk->AddButton(DBA_RES(STR_BUTTON_TEXT_ALL), RET_ALL);
- aAsk->GetPushButton(RET_ALL)->SetHelpId(HID_CONFIRM_DROP_BUTTON_ALL);
+ aAsk.add_button(DBA_RES(STR_BUTTON_TEXT_ALL), RET_ALL, HID_CONFIRM_DROP_BUTTON_ALL);
}
- return aAsk->Execute();
+ return aAsk.run();
}
namespace
diff --git a/dbaccess/source/ui/misc/WCopyTable.cxx b/dbaccess/source/ui/misc/WCopyTable.cxx
index 544c33c49746..b989d3ab0f04 100644
--- a/dbaccess/source/ui/misc/WCopyTable.cxx
+++ b/dbaccess/source/ui/misc/WCopyTable.cxx
@@ -1242,7 +1242,7 @@ Reference< XPropertySet > OCopyTableWizard::createTable()
{
xSuppDestinationColumns.set( xTable, UNO_QUERY_THROW );
// insert new table name into table filter
- ::dbaui::appendToFilter( m_xDestConnection, m_sName, GetComponentContext(), this );
+ ::dbaui::appendToFilter(m_xDestConnection, m_sName, GetComponentContext(), GetFrameWeld());
// copy ui settings
m_rSourceObject.copyUISettingsTo( xTable );
diff --git a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
index faa0274117b1..b25c72a78be1 100644
--- a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
+++ b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
@@ -618,7 +618,8 @@ bool OSelectionBrowseBox::fillColumnRef(const OUString& _sColumnName, const OUSt
{
OUString sErrorMsg(DBA_RES(RID_STR_FIELD_DOESNT_EXIST));
sErrorMsg = sErrorMsg.replaceFirst("$name$",_sColumnName);
- ScopedVclPtrInstance<OSQLErrorBox>(this, sErrorMsg)->Execute();
+ OSQLErrorBox aWarning(GetFrameWeld(), sErrorMsg);
+ aWarning.run();
bError = true;
}
else
@@ -722,7 +723,8 @@ bool OSelectionBrowseBox::saveField(OUString& _sFieldName ,OTableFieldDescRef co
// something different which we have to check
OUString sErrorMessage( DBA_RES( STR_QRY_COLUMN_NOT_FOUND ) );
sErrorMessage = sErrorMessage.replaceFirst("$name$",_sFieldName);
- ScopedVclPtrInstance<OSQLErrorBox>(this, sErrorMessage)->Execute();
+ OSQLErrorBox aWarning(GetFrameWeld(), sErrorMessage);
+ aWarning.run();
return true;
}
@@ -878,7 +880,8 @@ bool OSelectionBrowseBox::saveField(OUString& _sFieldName ,OTableFieldDescRef co
{ // the field could not be inserted
OUString sErrorMessage( DBA_RES( RID_STR_FIELD_DOESNT_EXIST ) );
sErrorMessage = sErrorMessage.replaceFirst("$name$",aSelEntry->GetField());
- ScopedVclPtrInstance<OSQLErrorBox>(this, sErrorMessage)->Execute();
+ OSQLErrorBox aWarning(GetFrameWeld(), sErrorMessage);
+ aWarning.run();
bError = true;
}
}
@@ -1145,7 +1148,8 @@ bool OSelectionBrowseBox::SaveModified()
{
if ( !m_bDisableErrorBox )
{
- ScopedVclPtrInstance<OSQLWarningBox>(this, aErrorMsg)->Execute();
+ OSQLWarningBox aWarning(GetFrameWeld(), aErrorMsg);
+ aWarning.run();
}
bError = true;
}
@@ -1154,7 +1158,8 @@ bool OSelectionBrowseBox::SaveModified()
{
if ( !m_bDisableErrorBox )
{
- ScopedVclPtrInstance<OSQLWarningBox>(this, aErrorMsg)->Execute();
+ OSQLWarningBox aWarning(GetFrameWeld(), aErrorMsg);
+ aWarning.run();
}
bError = true;
}
diff --git a/dbaccess/source/ui/querydesign/querycontroller.cxx b/dbaccess/source/ui/querydesign/querycontroller.cxx
index dfaefadee854..a73c986b9eae 100644
--- a/dbaccess/source/ui/querydesign/querycontroller.cxx
+++ b/dbaccess/source/ui/querydesign/querycontroller.cxx
@@ -940,9 +940,8 @@ void OQueryController::impl_initialize()
{
OUString aTitle(DBA_RES(STR_QUERYDESIGN_NO_VIEW_SUPPORT));
OUString aMessage(DBA_RES(STR_QUERYDESIGN_NO_VIEW_ASK));
- ODataView* pWindow = getView();
- ScopedVclPtrInstance< OSQLMessageBox > aDlg( pWindow, aTitle, aMessage, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, OSQLMessageBox::Query );
- bClose = aDlg->Execute() == RET_NO;
+ OSQLMessageBox aDlg(getFrameWeld(), aTitle, aMessage, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, MessageType::Query);
+ bClose = aDlg.run() == RET_NO;
}
if ( bClose )
throw VetoException();
@@ -1013,8 +1012,8 @@ void OQueryController::impl_initialize()
{
m_bGraphicalDesign = false;
getContainer()->initialize();
- ODataView* pWindow = getView();
- ScopedVclPtrInstance<OSQLMessageBox>(pWindow,e)->Execute();
+ OSQLMessageBox aBox(getFrameWeld(), e);
+ aBox.run();
}
throw;
}
@@ -1365,7 +1364,8 @@ bool OQueryController::doSaveAsDoc(bool _bSaveAs)
if ( !editingCommand() && !haveDataSource() )
{
OUString aMessage(DBA_RES(STR_DATASOURCE_DELETED));
- ScopedVclPtrInstance<OSQLWarningBox>(getView(), aMessage)->Execute();
+ OSQLWarningBox aBox(getFrameWeld(), aMessage);
+ aBox.run();
return false;
}
@@ -1496,7 +1496,7 @@ bool OQueryController::doSaveAsDoc(bool _bSaveAs)
m_xAlterView.set( xElements->getByName( m_sName ), UNO_QUERY );
// now check if our datasource has set a tablefilter and if so, append the new table name to it
- ::dbaui::appendToFilter( getConnection(), m_sName, getORB(), getView() );
+ ::dbaui::appendToFilter(getConnection(), m_sName, getORB(), getFrameWeld());
}
Reference< XTitleChangeListener> xEventListener(impl_getTitleHelper_throw(),UNO_QUERY);
if ( xEventListener.is() )
@@ -1854,8 +1854,8 @@ void OQueryController::impl_reset( const bool i_bForceCurrentControllerSettings
if ( !i_bForceCurrentControllerSettings && !editingView() )
{
OUString aTitle(DBA_RES(STR_SVT_SQL_SYNTAX_ERROR));
- ScopedVclPtrInstance< OSQLMessageBox > aDlg(getView(),aTitle,aErrorMsg);
- aDlg->Execute();
+ OSQLMessageBox aDlg(getFrameWeld(), aTitle, aErrorMsg);
+ aDlg.run();
}
bError = true;
}
diff --git a/dbaccess/source/ui/relationdesign/RelationController.cxx b/dbaccess/source/ui/relationdesign/RelationController.cxx
index 316080ebca42..e5a401e427f8 100644
--- a/dbaccess/source/ui/relationdesign/RelationController.cxx
+++ b/dbaccess/source/ui/relationdesign/RelationController.cxx
@@ -162,7 +162,8 @@ void ORelationController::Execute(sal_uInt16 _nId, const Sequence< PropertyValue
if(!::dbaui::checkDataSourceAvailable(::comphelper::getString(getDataSource()->getPropertyValue(PROPERTY_NAME)), getORB()))
{
OUString aMessage(DBA_RES(STR_DATASOURCE_DELETED));
- ScopedVclPtrInstance<OSQLWarningBox>(getView(), aMessage)->Execute();
+ OSQLWarningBox aWarning(getFrameWeld(), aMessage);
+ aWarning.run();
}
else
{
@@ -207,8 +208,8 @@ void ORelationController::impl_initialize()
{
OUString sTitle(DBA_RES(STR_RELATIONDESIGN));
sTitle = sTitle.copy(3);
- ScopedVclPtrInstance< OSQLMessageBox > aDlg(nullptr,sTitle,DBA_RES(STR_RELATIONDESIGN_NOT_AVAILABLE));
- aDlg->Execute();
+ OSQLMessageBox aDlg(getFrameWeld(), sTitle, DBA_RES(STR_RELATIONDESIGN_NOT_AVAILABLE));
+ aDlg.run();
}
disconnect();
throw SQLException();
diff --git a/dbaccess/source/ui/relationdesign/RelationTableView.cxx b/dbaccess/source/ui/relationdesign/RelationTableView.cxx
index 006b8033e44a..7c9827489458 100644
--- a/dbaccess/source/ui/relationdesign/RelationTableView.cxx
+++ b/dbaccess/source/ui/relationdesign/RelationTableView.cxx
@@ -323,8 +323,8 @@ void ORelationTableView::AddTabWin(const OUString& _rComposedName, const OUStrin
void ORelationTableView::RemoveTabWin( OTableWindow* pTabWin )
{
- ScopedVclPtrInstance< OSQLWarningBox > aDlg( this, DBA_RES( STR_QUERY_REL_DELETE_WINDOW ), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes );
- if ( m_bInRemove || aDlg->Execute() == RET_YES )
+ OSQLWarningBox aDlg(GetFrameWeld(), DBA_RES(STR_QUERY_REL_DELETE_WINDOW), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes);
+ if (m_bInRemove || aDlg.run() == RET_YES)
{
m_pView->getController().ClearUndoManager();
OJoinTableView::RemoveTabWin( pTabWin );
@@ -341,14 +341,14 @@ void ORelationTableView::lookForUiActivities()
{
OUString sTitle(DBA_RES(STR_RELATIONDESIGN));
sTitle = sTitle.copy(3);
- ScopedVclPtrInstance< OSQLMessageBox > aDlg(this,DBA_RES(STR_QUERY_REL_EDIT_RELATION),OUString(),MessBoxStyle::NONE);
- aDlg->SetText(sTitle);
- aDlg->RemoveButton(aDlg->GetButtonId(0));
- aDlg->AddButton( DBA_RES(STR_QUERY_REL_EDIT), RET_OK, ButtonDialogFlags::Default | ButtonDialogFlags::Focus);
- aDlg->AddButton( DBA_RES(STR_QUERY_REL_CREATE), RET_YES);
- aDlg->AddButton( StandardButtonType::Cancel,RET_CANCEL);
- sal_uInt16 nRet = aDlg->Execute();
- if( nRet == RET_CANCEL)
+ OSQLMessageBox aDlg(GetFrameWeld(), DBA_RES(STR_QUERY_REL_EDIT_RELATION), OUString(), MessBoxStyle::NONE);
+ aDlg.set_title(sTitle);
+ aDlg.add_button(DBA_RES(STR_QUERY_REL_EDIT), RET_OK);
+ aDlg.set_default_response(RET_OK);
+ aDlg.add_button(DBA_RES(STR_QUERY_REL_CREATE), RET_YES);
+ aDlg.add_button(Button::GetStandardText(StandardButtonType::Cancel), RET_CANCEL);
+ sal_uInt16 nRet = aDlg.run();
+ if (nRet == RET_CANCEL)
{
m_pCurrentlyTabConnData.reset();
}
diff --git a/dbaccess/source/ui/tabledesign/TableController.cxx b/dbaccess/source/ui/tabledesign/TableController.cxx
index 56509b1a843a..93b08c02ab21 100644
--- a/dbaccess/source/ui/tabledesign/TableController.cxx
+++ b/dbaccess/source/ui/tabledesign/TableController.cxx
@@ -274,7 +274,8 @@ bool OTableController::doSaveDoc(bool _bSaveAs)
if (!xTablesSup.is())
{
OUString aMessage(DBA_RES(STR_TABLEDESIGN_CONNECTION_MISSING));
- ScopedVclPtrInstance<OSQLWarningBox>(getView(), aMessage )->Execute();
+ OSQLWarningBox aWarning(getFrameWeld(), aMessage);
+ aWarning.run();
return false;
}
@@ -372,7 +373,7 @@ bool OTableController::doSaveDoc(bool _bSaveAs)
assignTable();
}
// now check if our datasource has set a tablefilter and if append the new table name to it
- ::dbaui::appendToFilter(getConnection(),m_sName,getORB(),getView()); // we are not interessted in the return value
+ ::dbaui::appendToFilter(getConnection(), m_sName, getORB(), getFrameWeld()); // we are not interessted in the return value
Reference< frame::XTitleChangeListener> xEventListener(impl_getTitleHelper_throw(),UNO_QUERY);
if ( xEventListener.is() )
{
@@ -404,9 +405,8 @@ bool OTableController::doSaveDoc(bool _bSaveAs)
{
OUString sText( DBA_RES( STR_NAME_ALREADY_EXISTS ) );
sText = sText.replaceFirst( "#" , m_sName);
- ScopedVclPtrInstance< OSQLMessageBox > aDlg( getView(), DBA_RES( STR_ERROR_DURING_CREATION ), sText, MessBoxStyle::Ok, OSQLMessageBox::Error );
-
- aDlg->Execute();
+ OSQLMessageBox aDlg(getFrameWeld(), DBA_RES( STR_ERROR_DURING_CREATION ), sText, MessBoxStyle::Ok, MessageType::Error);
+ aDlg.run();
bError = true;
}
catch( const Exception& )
@@ -513,7 +513,8 @@ void OTableController::impl_initialize()
}
catch(const SQLException&)
{
- ScopedVclPtrInstance<OSQLWarningBox>(getView(), DBA_RES( STR_NO_TYPE_INFO_AVAILABLE ))->Execute();
+ OSQLWarningBox aWarning(getFrameWeld(), DBA_RES( STR_NO_TYPE_INFO_AVAILABLE));
+ aWarning.run();
throw;
}
try
@@ -914,7 +915,8 @@ bool OTableController::checkColumns(bool _bNew)
{
OUString strMessage = DBA_RES(STR_TABLEDESIGN_DUPLICATE_NAME);
strMessage = strMessage.replaceFirst("$column$", pFieldDesc->GetName());
- ScopedVclPtrInstance<OSQLWarningBox>(getView(), strMessage)->Execute();
+ OSQLWarningBox aWarning(getFrameWeld(), strMessage);
+ aWarning.run();
return false;
}
}
@@ -924,9 +926,9 @@ bool OTableController::checkColumns(bool _bNew)
{
OUString sTitle(DBA_RES(STR_TABLEDESIGN_NO_PRIM_KEY_HEAD));
OUString sMsg(DBA_RES(STR_TABLEDESIGN_NO_PRIM_KEY));
- ScopedVclPtrInstance< OSQLMessageBox > aBox(getView(), sTitle,sMsg, MessBoxStyle::YesNoCancel | MessBoxStyle::DefaultYes);
+ OSQLMessageBox aBox(getFrameWeld(), sTitle,sMsg, MessBoxStyle::YesNoCancel | MessBoxStyle::DefaultYes);
- switch ( aBox->Execute() )
+ switch (aBox.run())
{
case RET_YES:
{
@@ -1055,8 +1057,8 @@ void OTableController::alterColumns()
aMessage = aMessage.replaceFirst( "$column$", pField->GetName() );
SQLExceptionInfo aError( ::cppu::getCaughtException() );
- ScopedVclPtrInstance< OSQLWarningBox > aMsg( getView(), aMessage, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes , &aError );
- bNotOk = aMsg->Execute() == RET_YES;
+ OSQLWarningBox aMsg(getFrameWeld(), aMessage, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes , &aError);
+ bNotOk = aMsg.run() == RET_YES;
}
else
throw;
@@ -1112,8 +1114,8 @@ void OTableController::alterColumns()
{
OUString aMessage(DBA_RES(STR_TABLEDESIGN_ALTER_ERROR));
aMessage = aMessage.replaceFirst("$column$",pField->GetName());
- ScopedVclPtrInstance< OSQLWarningBox > aMsg( getView(), aMessage, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, &aError);
- if ( aMsg->Execute() != RET_YES )
+ OSQLWarningBox aMsg(getFrameWeld(), aMessage, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, &aError);
+ if (aMsg.run() != RET_YES)
{
Reference<XPropertySet> xNewColumn(xIdxColumns->getByIndex(nPos),UNO_QUERY_THROW);
OUString sName;
@@ -1175,8 +1177,8 @@ void OTableController::alterColumns()
OUString aMsgT(DBA_RES(STR_TBL_COLUMN_IS_KEYCOLUMN));
aMsgT = aMsgT.replaceFirst("$column$",rColumnName);
OUString aTitle(DBA_RES(STR_TBL_COLUMN_IS_KEYCOLUMN_TITLE));
- ScopedVclPtrInstance< OSQLMessageBox > aMsg(getView(),aTitle,aMsgT,MessBoxStyle::YesNo| MessBoxStyle::DefaultYes);
- if(aMsg->Execute() == RET_YES)
+ OSQLMessageBox aMsg(getFrameWeld(), aTitle, aMsgT, MessBoxStyle::YesNo| MessBoxStyle::DefaultYes);
+ if (aMsg.run() == RET_YES)
{
xKeyColumns = nullptr;
dropPrimaryKey();
diff --git a/dbaccess/source/ui/uno/dbinteraction.cxx b/dbaccess/source/ui/uno/dbinteraction.cxx
index af7995263938..62704b5397a5 100644
--- a/dbaccess/source/ui/uno/dbinteraction.cxx
+++ b/dbaccess/source/ui/uno/dbinteraction.cxx
@@ -180,9 +180,9 @@ namespace dbaui
}
// execute the dialog
- ScopedVclPtrInstance< OSQLMessageBox > aDialog(nullptr, _rSqlInfo, nDialogStyle);
+ OSQLMessageBox aDialog(nullptr, _rSqlInfo, nDialogStyle);
// TODO: need a way to specify the parent window
- sal_Int16 nResult = aDialog->Execute();
+ sal_Int16 nResult = aDialog.run();
try
{
switch (nResult)
diff --git a/dbaccess/source/ui/uno/unosqlmessage.cxx b/dbaccess/source/ui/uno/unosqlmessage.cxx
index 7b8158855535..c5b849bdd241 100644
--- a/dbaccess/source/ui/uno/unosqlmessage.cxx
+++ b/dbaccess/source/ui/uno/unosqlmessage.cxx
@@ -27,6 +27,7 @@
#include <comphelper/propertysequence.hxx>
#include <cppuhelper/typeprovider.hxx>
#include <connectivity/dbexception.hxx>
+#include <vcl/dialog.hxx>
using namespace dbaui;
using namespace dbtools;
@@ -145,11 +146,12 @@ Reference<XPropertySetInfo> SAL_CALL OSQLMessageDialog::getPropertySetInfo()
svt::OGenericUnoDialog::Dialog OSQLMessageDialog::createDialog(vcl::Window* _pParent)
{
+ weld::Window* pParent = _pParent ? _pParent->GetFrameWeld() : nullptr;
if ( m_aException.hasValue() )
- return svt::OGenericUnoDialog::Dialog(VclPtr<OSQLMessageBox>::Create(_pParent, SQLExceptionInfo(m_aException), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, m_sHelpURL));
+ return svt::OGenericUnoDialog::Dialog(new OSQLMessageBox(pParent, SQLExceptionInfo(m_aException), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, m_sHelpURL));
OSL_FAIL("OSQLMessageDialog::createDialog : You should use the SQLException property to specify the error to display!");
- return svt::OGenericUnoDialog::Dialog(VclPtr<OSQLMessageBox>::Create(_pParent, SQLException()));
+ return svt::OGenericUnoDialog::Dialog(new OSQLMessageBox(pParent, SQLException()));
}
} // namespace dbaui