[Libreoffice-commits] core.git: Branch 'libreoffice-4-2' - basctl/source include/vcl vcl/source
Caolán McNamara
caolanm at redhat.com
Tue Feb 4 12:23:24 PST 2014
basctl/source/basicide/moduldl2.cxx | 33 +++++++++++++++------------------
include/vcl/layout.hxx | 7 +++++--
vcl/source/window/layout.cxx | 19 ++++++++++++++++++-
3 files changed, 38 insertions(+), 21 deletions(-)
New commits:
commit 4b9c6542f7107be7536f239ca061fd363395b3d4
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Jan 1 20:22:00 2014 +0000
fdo#74104 fdo#73904 backport Message dialog creation from message strings
Original title:
"allow simple MessageDialogs to be created from just message strings"
Commit 9b6b03542df7f6b0feecf60a13bab7e885ef3587 upgraded
sd/source/ui/view/Outliner.cxx to use a MessageDialog created from just a
message string, but was done before the existence of this commit -- it's
presumably safest to backport this commit to ensure that any other such
changed dialogs will work as expected.
(cherry picked from commit 257d1f4ff3094a42952663d620d7c49e3e7c747f)
Conflicts:
basctl/source/basicide/moduldl2.cxx
Change-Id: I9f8324d1c61bd55ccc78e67699ebdfa946e48af6
Reviewed-on: https://gerrit.libreoffice.org/7859
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx
index f4d5bad..3db35b8 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,8 +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();
aEdit.GrabFocus();
}
return 0;
@@ -893,7 +892,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;
@@ -930,7 +929,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;
}
@@ -942,7 +941,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;
}
@@ -959,7 +958,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;
}
}
@@ -978,7 +977,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;
}
}
@@ -1570,17 +1569,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 57890f2..d758d63 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 27746c3..35e76a4 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;
}
IMPL_LINK(MessageDialog, ButtonHdl, Button *, pButton)
@@ -2080,6 +2097,7 @@ short MessageDialog::Execute()
VclButtonBox *pButtonBox = get_action_area();
assert(pButtonBox);
+
PushButton *pBtn;
switch (m_eButtonsType)
{
@@ -2135,7 +2153,6 @@ short MessageDialog::Execute()
setButtonHandlers(pButtonBox);
pButtonBox->sort_native_button_order();
m_pGrid->Show();
-
}
return Dialog::Execute();
}
More information about the Libreoffice-commits
mailing list