diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-01-01 20:22:00 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-01-02 13:15:07 +0000 |
commit | 257d1f4ff3094a42952663d620d7c49e3e7c747f (patch) | |
tree | 5601f5b4e749e5ffad4bc86a23015382164bc87f | |
parent | f6cb7ff0f635e03aff7c24e2083d71ecd1bbaf0d (diff) |
allow simple MessageDialogs to be created from just message strings
Change-Id: I9f8324d1c61bd55ccc78e67699ebdfa946e48af6
-rw-r--r-- | basctl/source/basicide/moduldl2.cxx | 32 | ||||
-rw-r--r-- | include/vcl/layout.hxx | 7 | ||||
-rw-r--r-- | vcl/source/window/layout.cxx | 19 |
3 files changed, 38 insertions, 20 deletions
diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx index 1f8fc704d005..9a4c1a1ff72c 100644 --- a/basctl/source/basicide/moduldl2.cxx +++ b/basctl/source/basicide/moduldl2.cxx @@ -17,7 +17,7 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <vcl/msgbox.hxx> +#include <vcl/layout.hxx> #include <sot/storinfo.hxx> #include <moduldlg.hrc> @@ -291,7 +291,7 @@ sal_Bool CheckBox::EditingEntry( SvTreeListEntry* pEntry, Selection& ) OUString aLibName = GetEntryText( pEntry, 0 ); if ( aLibName.equalsIgnoreAsciiCase( "Standard" ) ) { - ErrorBox( this, WB_OK | WB_DEF_OK, IDE_RESSTR(RID_STR_CANNOTCHANGENAMESTDLIB) ).Execute(); + MessageDialog(this, IDE_RESSTR(RID_STR_CANNOTCHANGENAMESTDLIB)).Execute(); return false; } @@ -301,7 +301,7 @@ sal_Bool CheckBox::EditingEntry( SvTreeListEntry* pEntry, Selection& ) if ( ( xModLibContainer.is() && xModLibContainer->hasByName( aLibName ) && xModLibContainer->isLibraryReadOnly( aLibName ) && !xModLibContainer->isLibraryLink( aLibName ) ) || ( xDlgLibContainer.is() && xDlgLibContainer->hasByName( aLibName ) && xDlgLibContainer->isLibraryReadOnly( aLibName ) && !xDlgLibContainer->isLibraryLink( aLibName ) ) ) { - ErrorBox( this, WB_OK | WB_DEF_OK, IDE_RESSTR(RID_STR_LIBISREADONLY) ).Execute(); + MessageDialog(this, IDE_RESSTR(RID_STR_LIBISREADONLY)).Execute(); return false; } @@ -353,7 +353,7 @@ sal_Bool CheckBox::EditedEntry( SvTreeListEntry* pEntry, const OUString& rNewNam } catch (const container::ElementExistException& ) { - ErrorBox( this, WB_OK | WB_DEF_OK, IDE_RESSTR(RID_STR_SBXNAMEALLREADYUSED) ).Execute(); + MessageDialog(this, IDE_RESSTR(RID_STR_SBXNAMEALLREADYUSED)).Execute(); return false; } catch (const container::NoSuchElementException& ) @@ -366,9 +366,9 @@ sal_Bool CheckBox::EditedEntry( SvTreeListEntry* pEntry, const OUString& rNewNam if ( !bValid ) { if ( rNewName.getLength() > 30 ) - ErrorBox( this, WB_OK | WB_DEF_OK, IDE_RESSTR(RID_STR_LIBNAMETOLONG) ).Execute(); + MessageDialog(this, IDE_RESSTR(RID_STR_LIBNAMETOLONG)).Execute(); else - ErrorBox( this, WB_OK | WB_DEF_OK, IDE_RESSTR(RID_STR_BADSBXNAME) ).Execute(); + MessageDialog(this, IDE_RESSTR(RID_STR_BADSBXNAME)).Execute(); } return bValid; @@ -384,7 +384,7 @@ IMPL_LINK_NOARG(NewObjectDialog, OkButtonHandler) EndDialog(1); else { - ErrorBox( this, WB_OK | WB_DEF_OK, IDE_RESSTR(RID_STR_BADSBXNAME) ).Execute(); + MessageDialog(this, IDE_RESSTR(RID_STR_BADSBXNAME)).Execute(); m_pEdit->GrabFocus(); } return 0; @@ -860,7 +860,7 @@ void LibPage::InsertLib() } if ( !pLibDlg ) - InfoBox( this, IDE_RESSTR(RID_STR_NOLIBINSTORAGE) ).Execute(); + MessageDialog(this, IDE_RESSTR(RID_STR_NOLIBINSTORAGE), VCL_MESSAGE_INFO).Execute(); else { bool bChanges = false; @@ -897,7 +897,7 @@ void LibPage::InsertLib() // check, if the library is the Standard library if ( aLibName == "Standard" ) { - ErrorBox( this, WB_OK | WB_DEF_OK, IDE_RESSTR(RID_STR_REPLACESTDLIB) ).Execute(); + MessageDialog(this, IDE_RESSTR(RID_STR_REPLACESTDLIB)).Execute(); continue; } @@ -909,7 +909,7 @@ void LibPage::InsertLib() aErrStr = aErrStr.replaceAll("XX", aLibName); aErrStr += "\n"; aErrStr += IDE_RESSTR(RID_STR_LIBISREADONLY); - ErrorBox( this, WB_OK | WB_DEF_OK, aErrStr ).Execute(); + MessageDialog(this, aErrStr).Execute(); continue; } @@ -926,7 +926,7 @@ void LibPage::InsertLib() aErrStr = aErrStr.replaceAll("XX", aLibName); aErrStr += "\n" ; aErrStr += IDE_RESSTR(RID_STR_SBXNAMEALLREADYUSED); - ErrorBox( this, WB_OK | WB_DEF_OK, aErrStr ).Execute(); + MessageDialog(this, aErrStr).Execute(); continue; } } @@ -945,7 +945,7 @@ void LibPage::InsertLib() { OUString aErrStr( IDE_RESSTR(RID_STR_NOIMPORT) ); aErrStr = aErrStr.replaceAll("XX", aLibName); - ErrorBox( this, WB_OK | WB_DEF_OK, aErrStr ).Execute(); + MessageDialog(this, aErrStr).Execute(); continue; } } @@ -1537,17 +1537,15 @@ void createLibImpl( Window* pWin, const ScriptDocument& rDocument, if ( aLibName.getLength() > 30 ) { - ErrorBox( pWin, WB_OK | WB_DEF_OK, IDEResId(RID_STR_LIBNAMETOLONG).toString() ).Execute(); + MessageDialog(pWin, IDEResId(RID_STR_LIBNAMETOLONG).toString()).Execute(); } else if ( !IsValidSbxName( aLibName ) ) { - ErrorBox( pWin, WB_OK | WB_DEF_OK, - IDEResId(RID_STR_BADSBXNAME).toString() ).Execute(); + MessageDialog(pWin, IDEResId(RID_STR_BADSBXNAME).toString()).Execute(); } else if ( rDocument.hasLibrary( E_SCRIPTS, aLibName ) || rDocument.hasLibrary( E_DIALOGS, aLibName ) ) { - ErrorBox( pWin, WB_OK | WB_DEF_OK, - IDEResId(RID_STR_SBXNAMEALLREADYUSED2).toString() ).Execute(); + MessageDialog(pWin, IDEResId(RID_STR_SBXNAMEALLREADYUSED2).toString()).Execute(); } else { diff --git a/include/vcl/layout.hxx b/include/vcl/layout.hxx index 26c9f3bbfa01..6c9e35559fb0 100644 --- a/include/vcl/layout.hxx +++ b/include/vcl/layout.hxx @@ -693,6 +693,8 @@ class VCL_DLLPUBLIC MessageDialog : public Dialog private: VclButtonsType m_eButtonsType; VclMessageType m_eMessageType; + VclBox *m_pOwnedContentArea; + VclButtonBox *m_pOwnedActionArea; VclGrid* m_pGrid; FixedImage* m_pImage; VclMultiLineEdit* m_pPrimaryMessage; @@ -704,14 +706,15 @@ private: DECL_DLLPRIVATE_LINK(ButtonHdl, Button *); void setButtonHandlers(VclButtonBox *pButtonBox); short get_response(const Window *pWindow) const; + void create_owned_areas(); public: MessageDialog(Window* pParent, const OUString &rMessage, VclMessageType eMessageType = VCL_MESSAGE_ERROR, VclButtonsType eButtonsType = VCL_BUTTONS_OK, - WinBits nStyle = WB_CLIPCHILDREN | WB_MOVEABLE | WB_3DLOOK | WB_CLOSEABLE); - MessageDialog(Window* pParent, WinBits nStyle = WB_CLIPCHILDREN); + WinBits nStyle = WB_MOVEABLE | WB_3DLOOK | WB_CLOSEABLE); + MessageDialog(Window* pParent, WinBits nStyle = WB_MOVEABLE | WB_3DLOOK | WB_CLOSEABLE); MessageDialog(Window* pParent, const OString& rID, const OUString& rUIXMLDescription); virtual bool set_property(const OString &rKey, const OString &rValue); virtual short Execute(); diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx index b472f4260d36..72297afffe8d 100644 --- a/vcl/source/window/layout.cxx +++ b/vcl/source/window/layout.cxx @@ -1897,6 +1897,17 @@ bool VclSizeGroup::set_property(const OString &rKey, const OString &rValue) return true; } +void MessageDialog::create_owned_areas() +{ + set_border_width(12); + m_pOwnedContentArea = new VclVBox(this, false, 24); + set_content_area(m_pOwnedContentArea); + m_pOwnedContentArea->Show(); + m_pOwnedActionArea = new VclHButtonBox(m_pOwnedContentArea); + set_action_area(m_pOwnedActionArea); + m_pOwnedActionArea->Show(); +} + MessageDialog::MessageDialog(Window* pParent, WinBits nStyle) : Dialog(pParent, nStyle) , m_eButtonsType(VCL_BUTTONS_NONE) @@ -1907,6 +1918,7 @@ MessageDialog::MessageDialog(Window* pParent, WinBits nStyle) , m_pSecondaryMessage(NULL) { SetType(WINDOW_MESSBOX); + create_owned_areas(); } MessageDialog::MessageDialog(Window* pParent, @@ -1924,12 +1936,15 @@ MessageDialog::MessageDialog(Window* pParent, , m_sPrimaryString(rMessage) { SetType(WINDOW_MESSBOX); + create_owned_areas(); } MessageDialog::MessageDialog(Window* pParent, const OString& rID, const OUString& rUIXMLDescription) : Dialog(pParent, rID, rUIXMLDescription, WINDOW_MESSBOX) , m_eButtonsType(VCL_BUTTONS_NONE) , m_eMessageType(VCL_MESSAGE_INFO) + , m_pOwnedContentArea(NULL) + , m_pOwnedActionArea(NULL) , m_pGrid(NULL) , m_pImage(NULL) , m_pPrimaryMessage(NULL) @@ -1945,6 +1960,8 @@ MessageDialog::~MessageDialog() delete m_pPrimaryMessage; delete m_pImage; delete m_pGrid; + delete m_pOwnedActionArea; + delete m_pOwnedContentArea; } void MessageDialog::response(short nResponseId) @@ -2085,6 +2102,7 @@ short MessageDialog::Execute() VclButtonBox *pButtonBox = get_action_area(); assert(pButtonBox); + PushButton *pBtn; switch (m_eButtonsType) { @@ -2140,7 +2158,6 @@ short MessageDialog::Execute() setButtonHandlers(pButtonBox); pButtonBox->sort_native_button_order(); m_pGrid->Show(); - } return Dialog::Execute(); } |