summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-01-01 20:22:00 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-01-02 13:15:07 +0000
commit257d1f4ff3094a42952663d620d7c49e3e7c747f (patch)
tree5601f5b4e749e5ffad4bc86a23015382164bc87f
parentf6cb7ff0f635e03aff7c24e2083d71ecd1bbaf0d (diff)
allow simple MessageDialogs to be created from just message strings
Change-Id: I9f8324d1c61bd55ccc78e67699ebdfa946e48af6
-rw-r--r--basctl/source/basicide/moduldl2.cxx32
-rw-r--r--include/vcl/layout.hxx7
-rw-r--r--vcl/source/window/layout.cxx19
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();
}