[Libreoffice-commits] core.git: 6 commits - basctl/source cui/uiconfig dbaccess/source include/sfx2 include/vcl sc/source sd/source sfx2/source sfx2/uiconfig sfx2/UIConfig_sfx.mk svx/source sw/source sw/uiconfig uui/source vcl/source
Caolán McNamara
caolanm at redhat.com
Wed May 1 06:46:48 PDT 2013
basctl/source/basicide/baside3.cxx | 2
cui/uiconfig/ui/namedialog.ui | 2
cui/uiconfig/ui/objectnamedialog.ui | 2
cui/uiconfig/ui/objecttitledescdialog.ui | 3
dbaccess/source/ui/dlg/sqlmessage.cxx | 20
dbaccess/source/ui/relationdesign/RelationTableView.cxx | 6
include/sfx2/QuerySaveDocument.hxx | 8
include/sfx2/sfx.hrc | 4
include/vcl/builder.hxx | 29
include/vcl/layout.hxx | 26
include/vcl/msgbox.hxx | 22
include/vcl/vclenum.hxx | 14
sc/source/ui/dbgui/pvfundlg.cxx | 2
sd/source/ui/annotations/annotationmanager.cxx | 4
sd/source/ui/func/fuoaprms.cxx | 2
sd/source/ui/func/fuprlout.cxx | 2
sd/source/ui/view/Outliner.cxx | 2
sfx2/UIConfig_sfx.mk | 1
sfx2/source/doc/QuerySaveDocument.cxx | 26
sfx2/source/doc/doc.hrc | 2
sfx2/source/doc/doc.src | 13
sfx2/uiconfig/ui/querysavedialog.ui | 83 ++
svx/source/form/datanavi.cxx | 4
svx/source/tbxctrls/tbunosearchcontrollers.cxx | 1
sw/source/ui/fldui/fldedt.cxx | 2
sw/uiconfig/swriter/ui/wordcount.ui | 483 +++++++---------
uui/source/iahndl-errorhandler.cxx | 10
uui/source/iahndl.cxx | 10
vcl/source/window/builder.cxx | 105 +++
vcl/source/window/dialog.cxx | 3
vcl/source/window/layout.cxx | 176 +++++
vcl/source/window/msgbox.cxx | 30
32 files changed, 726 insertions(+), 373 deletions(-)
New commits:
commit 761f4572daf3ab10fd9ebffbc8327c4669be8220
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed May 1 14:32:00 2013 +0100
debugging assert for unlocked solarmutex in launching find dialog
Change-Id: Iee89ae367d5c282cc1d06889765376982a7d37ed
diff --git a/svx/source/tbxctrls/tbunosearchcontrollers.cxx b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
index ad15872..d67e5ac 100644
--- a/svx/source/tbxctrls/tbunosearchcontrollers.cxx
+++ b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
@@ -855,6 +855,7 @@ void SAL_CALL FindbarDispatcher::dispatch( const css::util::URL& aURL, const css
FindTextFieldControl* pFindTextFieldControl = dynamic_cast<FindTextFieldControl*>(pItemWin);
if ( pFindTextFieldControl )
pFindTextFieldControl->SetTextToSelected_Impl();
+ SolarMutexGuard aSolarMutexGuard;
pItemWin->GrabFocus();
return;
}
commit 2b449f5f9ad126618ec85d442ec149c5864853de
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed May 1 14:30:14 2013 +0100
remove unnecessary widgets from word count dialog
Change-Id: Ia490b8eb4367e54a73fbf9d54a76cf3155eb1615
diff --git a/sw/uiconfig/swriter/ui/wordcount.ui b/sw/uiconfig/swriter/ui/wordcount.ui
index d9350f1..0aff653 100644
--- a/sw/uiconfig/swriter/ui/wordcount.ui
+++ b/sw/uiconfig/swriter/ui/wordcount.ui
@@ -54,272 +54,249 @@
</packing>
</child>
<child>
- <object class="GtkBox" id="box1">
+ <object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">12</property>
+ <property name="hexpand">True</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
<child>
- <object class="GtkAlignment" id="alignment1">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="top_padding">12</property>
- <property name="bottom_padding">6</property>
- <property name="left_padding">5</property>
- <child>
- <object class="GtkGrid" id="grid1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="hexpand">True</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">12</property>
- <child>
- <object class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="xpad">10</property>
- <property name="label" translatable="yes">Words</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="xpad">10</property>
- <property name="label" translatable="yes">Characters including spaces</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">2</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="xpad">10</property>
- <property name="label" translatable="yes">Characters excluding spaces</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">3</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="selectwords">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">end</property>
- <property name="hexpand">True</property>
- <property name="xalign">1</property>
- <property name="label"> 0</property>
- <property name="justify">right</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="selectchars">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">end</property>
- <property name="hexpand">True</property>
- <property name="xalign">1</property>
- <property name="label"> 0</property>
- <property name="justify">right</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">2</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="selectcharsnospaces">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">end</property>
- <property name="hexpand">True</property>
- <property name="xalign">1</property>
- <property name="label"> 0</property>
- <property name="justify">right</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">3</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label9">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">end</property>
- <property name="label" translatable="yes">Selection</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label10">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">end</property>
- <property name="label" translatable="yes">Document</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="docwords">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">end</property>
- <property name="hexpand">True</property>
- <property name="xalign">1</property>
- <property name="label"> 0</property>
- <property name="justify">right</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="docchars">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">end</property>
- <property name="hexpand">True</property>
- <property name="xalign">1</property>
- <property name="label"> 0</property>
- <property name="justify">right</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">2</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="doccharsnospaces">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">end</property>
- <property name="hexpand">True</property>
- <property name="xalign">1</property>
- <property name="label"> 0</property>
- <property name="justify">right</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">3</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="cjkcharsft">
- <property name="can_focus">False</property>
- <property name="no_show_all">True</property>
- <property name="xalign">0</property>
- <property name="xpad">10</property>
- <property name="label" translatable="yes">Asian characters and Korean syllables</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">4</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="selectcjkchars">
- <property name="can_focus">False</property>
- <property name="no_show_all">True</property>
- <property name="halign">end</property>
- <property name="hexpand">True</property>
- <property name="xalign">1</property>
- <property name="label"> 0</property>
- <property name="justify">right</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">4</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="doccjkchars">
- <property name="can_focus">False</property>
- <property name="no_show_all">True</property>
- <property name="halign">end</property>
- <property name="hexpand">True</property>
- <property name="xalign">1</property>
- <property name="label"> 0</property>
- <property name="justify">right</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">4</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <placeholder/>
- </child>
- </object>
- </child>
+ <property name="xalign">0</property>
+ <property name="xpad">10</property>
+ <property name="label" translatable="yes">Words</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="xpad">10</property>
+ <property name="label" translatable="yes">Characters including spaces</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="xpad">10</property>
+ <property name="label" translatable="yes">Characters excluding spaces</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="selectwords">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">1</property>
+ <property name="label"> 0</property>
+ <property name="justify">right</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkLabel" id="selectchars">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">1</property>
+ <property name="label"> 0</property>
+ <property name="justify">right</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="selectcharsnospaces">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">1</property>
+ <property name="label"> 0</property>
+ <property name="justify">right</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label9">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="label" translatable="yes">Selection</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label10">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="label" translatable="yes">Document</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="docwords">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">1</property>
+ <property name="label"> 0</property>
+ <property name="justify">right</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="docchars">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">1</property>
+ <property name="label"> 0</property>
+ <property name="justify">right</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="doccharsnospaces">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">1</property>
+ <property name="label"> 0</property>
+ <property name="justify">right</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cjkcharsft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">10</property>
+ <property name="label" translatable="yes">Asian characters and Korean syllables</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="selectcjkchars">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="halign">end</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">1</property>
+ <property name="label"> 0</property>
+ <property name="justify">right</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="doccjkchars">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="halign">end</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">1</property>
+ <property name="label"> 0</property>
+ <property name="justify">right</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="padding">3</property>
<property name="position">1</property>
</packing>
</child>
commit cd841115fa28f8be5778e540819f963407b4c05b
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed May 1 13:39:31 2013 +0100
use new MessageDialog
Change-Id: I4fdc54d5a6e0f133c53588e255274b9f103269b4
diff --git a/include/sfx2/QuerySaveDocument.hxx b/include/sfx2/QuerySaveDocument.hxx
index e442b48..ecdf0aa 100644
--- a/include/sfx2/QuerySaveDocument.hxx
+++ b/include/sfx2/QuerySaveDocument.hxx
@@ -19,11 +19,11 @@
#ifndef SFX_QUERYSAVEDOCUMENT_HXX
#define SFX_QUERYSAVEDOCUMENT_HXX
-#include "sal/config.h"
-#include "sfx2/dllapi.h"
+#include <rtl/ustring.hxx>
+#include <sfx2/dllapi.h>
class Window;
-class String;
+
/** Opens the general query save document dialog.
@param _pParent
The parent window.
@@ -31,7 +31,7 @@ class String;
The title of the document.
*/
SFX2_DLLPUBLIC short ExecuteQuerySaveDocument(
- Window* _pParent,const String& _rTitle);
+ Window* _pParent, const OUString& _rTitle);
#endif //SFX_QUERYSAVEDOCUMENT_HXX
diff --git a/include/sfx2/sfx.hrc b/include/sfx2/sfx.hrc
index 245daa2..b018a73 100644
--- a/include/sfx2/sfx.hrc
+++ b/include/sfx2/sfx.hrc
@@ -152,12 +152,12 @@
#define STR_SFX_FILTERNAME_ALL (RID_SFX_START+106)
#define STR_EDIT (RID_SFX_START+108)
-#define STR_QUERY_SAVE_DOCUMENT (RID_SFX_START+110)
+
#define STR_BYTES (RID_SFX_START+111)
#define STR_KB (RID_SFX_START+112)
#define STR_MB (RID_SFX_START+113)
#define STR_GB (RID_SFX_START+114)
-#define STR_QUERY_SAVE_DOCUMENT_TITLE (RID_SFX_START+115)
+
#define STR_STANDARD_SHORTCUT (RID_SFX_START+117)
#define STR_REPAIREDDOCUMENT (RID_SFX_START+118)
diff --git a/sfx2/UIConfig_sfx.mk b/sfx2/UIConfig_sfx.mk
index 2a55193..2adb858 100644
--- a/sfx2/UIConfig_sfx.mk
+++ b/sfx2/UIConfig_sfx.mk
@@ -20,6 +20,7 @@ $(eval $(call gb_UIConfig_add_uifiles,sfx,\
sfx2/uiconfig/ui/optprintpage \
sfx2/uiconfig/ui/password \
sfx2/uiconfig/ui/printeroptionsdialog \
+ sfx2/uiconfig/ui/querysavedialog \
sfx2/uiconfig/ui/securityinfopage \
sfx2/uiconfig/ui/singletabdialog \
sfx2/uiconfig/ui/documentfontspage \
diff --git a/sfx2/source/doc/QuerySaveDocument.cxx b/sfx2/source/doc/QuerySaveDocument.cxx
index 7b24f7d..9c073d0 100644
--- a/sfx2/source/doc/QuerySaveDocument.cxx
+++ b/sfx2/source/doc/QuerySaveDocument.cxx
@@ -17,29 +17,21 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "sfx2/QuerySaveDocument.hxx"
-
-#include <sfx2/sfx.hrc>
-#include "sfx2/sfxresid.hxx"
-#include <sfx2/sfxuno.hxx>
-#include "doc.hrc"
-#include <vcl/msgbox.hxx>
+#include <sfx2/QuerySaveDocument.hxx>
+#include <vcl/layout.hxx>
#include <vcl/svapp.hxx>
-// -----------------------------------------------------------------------------
-short ExecuteQuerySaveDocument(Window* _pParent,const String& _rTitle)
+
+short ExecuteQuerySaveDocument(Window* _pParent, const OUString& _rTitle)
{
if (Application::IsHeadlessModeEnabled())
- { // don't block Desktop::terminate() if there's no user to ask
+ {
+ // don't block Desktop::terminate() if there's no user to ask
return RET_NO;
}
- OUString aText( SfxResId(STR_QUERY_SAVE_DOCUMENT).toString() );
- aText = aText.replaceFirst( "$(DOC)", _rTitle );
- QueryBox aQBox( _pParent, WB_YES_NO_CANCEL | WB_DEF_YES, aText );
- aQBox.SetText(SfxResId(STR_QUERY_SAVE_DOCUMENT_TITLE).toString()); // Window title
- aQBox.SetButtonText( BUTTONID_NO, SfxResId(STR_NOSAVEANDCLOSE).toString() );
- aQBox.SetButtonText( BUTTONID_YES, SfxResId(STR_SAVEDOC).toString() );
+
+ MessageDialog aQBox(_pParent, "QuerySaveDialog", "sfx/ui/querysavedialog.ui");
+ aQBox.set_primary_text(aQBox.get_primary_text().replaceFirst("$(DOC)", _rTitle));
return aQBox.Execute();
}
-// -----------------------------------------------------------------------------
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/doc/doc.hrc b/sfx2/source/doc/doc.hrc
index 26947bd..0ccbede 100644
--- a/sfx2/source/doc/doc.hrc
+++ b/sfx2/source/doc/doc.hrc
@@ -114,7 +114,7 @@
#define STR_DOCTYPENAME_MESSAGE (RID_SFX_DOC_START+ 75)
#define RID_STR_NEW_TASK (RID_SFX_DOC_START+ 76)
-#define STR_NOSAVEANDCLOSE (RID_SFX_DOC_START+ 78)
+
#define STR_PACKNGO_NOACCESS (RID_SFX_DOC_START+ 79)
#define STR_PACKNGO_NEWMEDIUM (RID_SFX_DOC_START+ 80)
diff --git a/sfx2/source/doc/doc.src b/sfx2/source/doc/doc.src
index fa5889e..c1341cd 100644
--- a/sfx2/source/doc/doc.src
+++ b/sfx2/source/doc/doc.src
@@ -47,14 +47,6 @@ QueryBox MSG_REGION_NOTEMPTY
DefButton = WB_DEF_NO ;
Message [ en-US ] = "The category is not empty.\nDelete anyway?" ;
};
-String STR_QUERY_SAVE_DOCUMENT_TITLE
-{
- Text [ en-US ] = "Save document" ;
-};
-String STR_QUERY_SAVE_DOCUMENT
-{
- Text [ en-US ] = "Save changes to document \"$(DOC)\" before closing?" ;
-};
Bitmap BMP_STYLES_CLOSED { File = "newex.bmp" ; };
Bitmap BMP_STYLES_OPENED { File = "newex.bmp" ; };
@@ -314,11 +306,6 @@ String STR_DOCTYPENAME_MESSAGE
Text [ en-US ] = "Message";
};
-String STR_NOSAVEANDCLOSE
-{
- Text [ en-US ] = "Close ~without saving" ;
-};
-
String STR_PACKNGO_NOACCESS
{
Text [ en-US ] = "Access to the current data medium not possible." ;
diff --git a/sfx2/uiconfig/ui/querysavedialog.ui b/sfx2/uiconfig/ui/querysavedialog.ui
new file mode 100644
index 0000000..42d0371
--- /dev/null
+++ b/sfx2/uiconfig/ui/querysavedialog.ui
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkMessageDialog" id="QuerySaveDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="title" translatable="yes">Save document</property>
+ <property name="type_hint">dialog</property>
+ <property name="skip_taskbar_hint">True</property>
+ <property name="message_type">warning</property>
+ <property name="text" translatable="yes">Save changes to document "$(DOC)" before closing?</property>
+ <property name="secondary_text" translatable="yes">Your changes will be lost if you don't save them.</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="messagedialog-vbox">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">24</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="messagedialog-action_area">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="button3">
+ <property name="label" translatable="yes">Close _without saving</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">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="button1">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ <property name="image_position">bottom</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button2">
+ <property name="label">gtk-save</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="3">button3</action-widget>
+ <action-widget response="0">button1</action-widget>
+ <action-widget response="2">button2</action-widget>
+ </action-widgets>
+ </object>
+</interface>
commit 9e5c35454d07f880a2cb52d9a808633b908bb859
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Apr 30 20:44:06 2013 +0100
create a HIG compliant MessageDialog and map to GtkMessageDialog
Change-Id: If86387619ff00a652ea418292fbb0026b867a431
diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx
index 83532dd..fc7a286 100644
--- a/include/vcl/builder.hxx
+++ b/include/vcl/builder.hxx
@@ -50,6 +50,13 @@ private:
//exist for the duration of the dialog
vcl::detail::ModuleMap m_aModuleMap;
+ //If the toplevel window has any properties which need to be set on it,
+ //but the toplevel is the owner of the builder, then its ctor
+ //has not been completed during the building, so properties for it
+ //are collected here and need to be set afterwards, e.g. during
+ //Show or Execute
+ stringmap m_aDeferredProperties;
+
struct PackingData
{
bool m_bVerticalOrient;
@@ -65,10 +72,12 @@ private:
{
OString m_sID;
Window *m_pWindow;
+ short m_nResponseId;
PackingData m_aPackingData;
WinAndId(const OString &rId, Window *pWindow, bool bVertical)
: m_sID(rId)
, m_pWindow(pWindow)
+ , m_nResponseId(RET_CANCEL)
, m_aPackingData(bVertical)
{
}
@@ -215,6 +224,7 @@ private:
ResHookProc m_pStringReplace;
Window *m_pParent;
bool m_bToplevelHasDeferredInit;
+ bool m_bToplevelHasDeferredProperties;
bool m_bToplevelParentFound;
ParserState *m_pParserState;
@@ -266,14 +276,23 @@ public:
//sID may not exist
PopupMenu* get_menu(OString sID);
+ //given an sID return the response value for that widget
+ short get_response(const Window *pWindow) const;
+
OString get_by_window(const Window *pWindow) const;
void delete_by_window(const Window *pWindow);
+ //apply the properties of rProps to pWindow
+ static void set_properties(Window *pWindow, const stringmap &rProps);
+
//Convert _ gtk markup to ~ vcl markup
static OString convertMnemonicMarkup(const OString &rIn);
static OString extractCustomProperty(stringmap &rMap);
+ //see m_aDeferredProperties
+ void setDeferredProperties();
+
private:
Window *insertObject(Window *pParent, const OString &rClass, const OString &rID,
stringmap &rProps, stringmap &rPangoAttributes,
@@ -322,12 +341,16 @@ private:
void handleAtkObject(xmlreader::XmlReader &reader, const OString &rID, Window *pWindow);
+ void handleActionWidget(xmlreader::XmlReader &reader);
+
PackingData get_window_packing_data(const Window *pWindow) const;
void set_window_packing_position(const Window *pWindow, sal_Int32 nPosition);
Window* prepareWidgetOwnScrolling(Window *pParent, WinBits &rWinStyle);
void cleanupWidgetOwnScrolling(Window *pScrollParent, Window *pWindow, stringmap &rMap);
+ void set_response(OString sID, short nResponse);
+
//Helpers to retrofit all the existing code to the builder
static void reorderWithinParent(Window &rWindow, sal_uInt16 nNewPosition);
};
@@ -368,6 +391,12 @@ public:
{
return m_pUIBuilder->get_menu(sID);
}
+ void setDeferredProperties()
+ {
+ if (!m_pUIBuilder)
+ return;
+ m_pUIBuilder->setDeferredProperties();
+ }
};
/*
diff --git a/include/vcl/layout.hxx b/include/vcl/layout.hxx
index c6b6a12..f45fcb2 100644
--- a/include/vcl/layout.hxx
+++ b/include/vcl/layout.hxx
@@ -12,7 +12,10 @@
#include <vcl/dllapi.h>
#include <vcl/button.hxx>
+#include <vcl/dialog.hxx>
+#include <vcl/fixed.hxx>
#include <vcl/scrbar.hxx>
+#include <vcl/vclmedit.hxx>
#include <vcl/window.hxx>
#include <boost/multi_array.hpp>
#include <set>
@@ -638,6 +641,29 @@ public:
bool set_property(const OString &rKey, const OString &rValue);
};
+class VCL_DLLPUBLIC MessageDialog : public Dialog
+{
+private:
+ VclGrid* m_pGrid;
+ FixedImage* m_pImage;
+ VclMultiLineEdit* m_pPrimaryMessage;
+ VclMultiLineEdit* m_pSecondaryMessage;
+ OUString m_sPrimaryString;
+ OUString m_sSecondaryString;
+ DECL_DLLPRIVATE_LINK(ButtonHdl, Button *);
+ void setButtonHandlers();
+public:
+ MessageDialog(Window* pParent, WinBits nStyle);
+ MessageDialog(Window* pParent, const OString& rID, const OUString& rUIXMLDescription);
+ virtual bool set_property(const OString &rKey, const OString &rValue);
+ virtual short Execute();
+ OUString get_primary_text() const;
+ OUString get_secondary_text() const;
+ void set_primary_text(const OUString &rPrimaryString);
+ void set_secondary_text(const OUString &rSecondaryString);
+ ~MessageDialog();
+};
+
VCL_DLLPUBLIC Size bestmaxFrameSizeForScreenSize(const Size &rScreenSize);
//Get first window of a pTopLevel window as
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index a879eb3..2f3b364 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -144,6 +144,7 @@ VclBuilder::VclBuilder(Window *pParent, OUString sUIDir, OUString sUIFile, OStri
, m_pParserState(new ParserState)
{
m_bToplevelHasDeferredInit = (pParent && pParent->IsDialog()) ? ((Dialog*)pParent)->isDeferredInit() : false;
+ m_bToplevelHasDeferredProperties = m_bToplevelHasDeferredInit;
sal_Int32 nIdx = m_sHelpRoot.lastIndexOf('.');
if (nIdx != -1)
@@ -944,6 +945,13 @@ Window *VclBuilder::makeObject(Window *pParent, const OString &name, const OStri
nBits |= WB_SIZEABLE;
pWindow = new Dialog(pParent, nBits);
}
+ else if (name == "GtkMessageDialog")
+ {
+ WinBits nBits = WB_MOVEABLE|WB_3DLOOK|WB_CLOSEABLE;
+ if (extractResizable(rMap))
+ nBits |= WB_SIZEABLE;
+ pWindow = new MessageDialog(pParent, nBits);
+ }
else if (name == "GtkBox")
{
bVertical = extractOrientation(rMap);
@@ -1256,6 +1264,27 @@ namespace
}
}
+//Any properties from .ui load we couldn't set because of potential virtual methods
+//during ctor are applied here
+void VclBuilder::setDeferredProperties()
+{
+ if (!m_bToplevelHasDeferredProperties)
+ return;
+ set_properties(m_pParent, m_aDeferredProperties);
+ m_aDeferredProperties.clear();
+ m_bToplevelHasDeferredProperties = false;
+}
+
+void VclBuilder::set_properties(Window *pWindow, const stringmap &rProps)
+{
+ for (stringmap::const_iterator aI = rProps.begin(), aEnd = rProps.end(); aI != aEnd; ++aI)
+ {
+ const OString &rKey = aI->first;
+ const OString &rValue = aI->second;
+ pWindow->set_property(rKey, rValue);
+ }
+}
+
Window *VclBuilder::insertObject(Window *pParent, const OString &rClass,
const OString &rID, stringmap &rProps, stringmap &rPango,
stringmap &rAtk,
@@ -1294,12 +1323,10 @@ Window *VclBuilder::insertObject(Window *pParent, const OString &rClass,
if (pCurrentChild)
{
- for (stringmap::iterator aI = rProps.begin(), aEnd = rProps.end(); aI != aEnd; ++aI)
- {
- const OString &rKey = aI->first;
- const OString &rValue = aI->second;
- pCurrentChild->set_property(rKey, rValue);
- }
+ if (pCurrentChild == m_pParent && m_bToplevelHasDeferredProperties)
+ m_aDeferredProperties = rProps;
+ else
+ set_properties(pCurrentChild, rProps);
for (stringmap::iterator aI = rPango.begin(), aEnd = rPango.end(); aI != aEnd; ++aI)
{
@@ -1529,15 +1556,19 @@ void VclBuilder::handleChild(Window *pParent, xmlreader::XmlReader &reader)
if (VclFrame *pFrameParent = dynamic_cast<VclFrame*>(pParent))
pFrameParent->designate_label(pCurrentChild);
}
- if (sInternalChild.equals("vbox"))
+ if (sInternalChild.equals("vbox") || sInternalChild.equals("messagedialog-vbox"))
{
if (Dialog *pBoxParent = dynamic_cast<Dialog*>(pParent))
pBoxParent->set_content_area(static_cast<VclBox*>(pCurrentChild));
}
- else if (sInternalChild.equals("action_area"))
+ else if (sInternalChild.equals("action_area") || sInternalChild.equals("messagedialog-action_area"))
{
- if (Dialog *pBoxParent = dynamic_cast<Dialog*>(pParent))
+ Window *pContentArea = pCurrentChild->GetParent();
+ assert(pContentArea && pContentArea->GetType() == WINDOW_CONTAINER);
+ if (Dialog *pBoxParent = dynamic_cast<Dialog*>(pContentArea ? pContentArea->GetParent() : NULL))
+ {
pBoxParent->set_action_area(static_cast<VclButtonBox*>(pCurrentChild));
+ }
}
//To-Do make reorder a virtual in Window, move this foo
@@ -2222,6 +2253,8 @@ Window* VclBuilder::handleObject(Window *pParent, xmlreader::XmlReader &reader)
collectPangoAttribute(reader, aPangoAttributes);
else if (name.equals("relation"))
collectAtkAttribute(reader, aAtkAttributes);
+ else if (name.equals("action-widget"))
+ handleActionWidget(reader);
}
}
@@ -2424,6 +2457,28 @@ void VclBuilder::collectProperty(xmlreader::XmlReader &reader, const OString &rI
}
}
+void VclBuilder::handleActionWidget(xmlreader::XmlReader &reader)
+{
+ xmlreader::Span name;
+ int nsId;
+
+ OString sResponse;
+
+ while (reader.nextAttribute(&nsId, &name))
+ {
+ if (name.equals("response"))
+ {
+ name = reader.getAttributeValue(false);
+ sResponse = OString(name.begin, name.length);
+ }
+ }
+
+ reader.nextItem(xmlreader::XmlReader::TEXT_RAW, &name, &nsId);
+ OString sID = OString(name.begin, name.length);
+ set_response(sID, sResponse.toInt32());
+}
+
+
void VclBuilder::collectAccelerator(xmlreader::XmlReader &reader, stringmap &rMap)
{
xmlreader::Span name;
@@ -2482,6 +2537,38 @@ PopupMenu *VclBuilder::get_menu(OString sID)
return NULL;
}
+short VclBuilder::get_response(const Window *pWindow) const
+{
+ for (std::vector<WinAndId>::const_iterator aI = m_aChildren.begin(),
+ aEnd = m_aChildren.end(); aI != aEnd; ++aI)
+ {
+ if (aI->m_pWindow == pWindow)
+ {
+ return aI->m_nResponseId;
+ }
+ }
+
+ //how did we not find sID ?
+ assert(false);
+ return RET_CANCEL;
+}
+
+void VclBuilder::set_response(OString sID, short nResponse)
+{
+ for (std::vector<WinAndId>::iterator aI = m_aChildren.begin(),
+ aEnd = m_aChildren.end(); aI != aEnd; ++aI)
+ {
+ if (aI->m_sID.equals(sID))
+ {
+ aI->m_nResponseId = nResponse;
+ return;
+ }
+ }
+
+ //how did we not find sID ?
+ assert(false);
+}
+
void VclBuilder::delete_by_name(OString sID)
{
for (std::vector<WinAndId>::iterator aI = m_aChildren.begin(),
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index c37588a..4ea01eb 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -711,6 +711,7 @@ void Dialog::StateChanged( StateChangedType nType )
if (isLayoutEnabled())
{
mbIsCalculatingInitialLayoutSize = true;
+ setDeferredProperties();
setOptimalLayoutSize();
mbIsCalculatingInitialLayoutSize = false;
}
@@ -900,6 +901,8 @@ void Dialog::ImplEndExecuteModal()
short Dialog::Execute()
{
+ setDeferredProperties();
+
if ( !ImplStartExecuteModal() )
return 0;
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index 27bb34d..84351e2 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -10,6 +10,7 @@
#include <com/sun/star/accessibility/AccessibleRole.hpp>
#include <vcl/dialog.hxx>
#include <vcl/layout.hxx>
+#include <vcl/msgbox.hxx>
#include "window.h"
VclContainer::VclContainer(Window *pParent, WinBits nStyle)
@@ -1565,6 +1566,181 @@ bool VclSizeGroup::set_property(const OString &rKey, const OString &rValue)
return true;
}
+MessageDialog::MessageDialog(Window* pParent, WinBits nStyle)
+ : Dialog(pParent, nStyle)
+ , m_pGrid(NULL)
+ , m_pImage(NULL)
+ , m_pPrimaryMessage(NULL)
+ , m_pSecondaryMessage(NULL)
+{
+ SetType(WINDOW_MESSBOX);
+}
+
+MessageDialog::MessageDialog(Window* pParent, const OString& rID, const OUString& rUIXMLDescription)
+ : Dialog(pParent, rID, rUIXMLDescription, WINDOW_MESSBOX)
+ , m_pGrid(NULL)
+ , m_pImage(NULL)
+ , m_pPrimaryMessage(NULL)
+ , m_pSecondaryMessage(NULL)
+{
+}
+
+MessageDialog::~MessageDialog()
+{
+ delete m_pSecondaryMessage;
+ delete m_pPrimaryMessage;
+ delete m_pImage;
+ delete m_pGrid;
+}
+
+IMPL_LINK(MessageDialog, ButtonHdl, Button *, pButton)
+{
+ //for now insist that we have a builder, we can relax that in
+ //the future if we need it
+ assert(m_pUIBuilder);
+ EndDialog(m_pUIBuilder->get_response(pButton));
+ return 0;
+}
+
+void MessageDialog::setButtonHandlers()
+{
+ SAL_WARN_IF(!m_pUIBuilder, "vcl.layout", "MessageDialog non-ui load button responses not implemented yet");
+ if (!m_pUIBuilder)
+ return;
+ VclButtonBox *pButtonBox = get_action_area();
+ assert(pButtonBox);
+ for (Window* pChild = pButtonBox->GetWindow(WINDOW_FIRSTCHILD); pChild;
+ pChild = pChild->GetWindow(WINDOW_NEXT))
+ {
+ switch (pChild->GetType())
+ {
+ case WINDOW_PUSHBUTTON:
+ {
+ PushButton* pButton = (PushButton*)pChild;
+ pButton->SetClickHdl(LINK(this, MessageDialog, ButtonHdl));
+ break;
+ }
+ //for now at least, insist that the response ids match
+ //the default actions for those widgets, and leave
+ //their default handlers in place
+ case WINDOW_OKBUTTON:
+ assert(m_pUIBuilder->get_response(pChild) == RET_OK);
+ break;
+ case WINDOW_CANCELBUTTON:
+ assert(m_pUIBuilder->get_response(pChild) == RET_CANCEL);
+ break;
+ case WINDOW_HELPBUTTON:
+ assert(m_pUIBuilder->get_response(pChild) == RET_HELP);
+ break;
+ default:
+ SAL_WARN("vcl.layout", "The type of widget " <<
+ pChild->GetHelpId() << " is currently not handled");
+ break;
+ }
+ //The default is to stick the focus into the first widget
+ //that accepts it, and if that happens and its a button
+ //then that becomes the new default button, so explicitly
+ //put the focus into the default button
+ if (pChild->GetStyle() & WB_DEFBUTTON)
+ pChild->GrabFocus();
+ }
+}
+
+short MessageDialog::Execute()
+{
+ setDeferredProperties();
+
+ if (!m_pGrid)
+ {
+ VclContainer *pContainer = get_content_area();
+ assert(pContainer);
+
+ m_pGrid = new VclGrid(pContainer);
+ m_pGrid->set_column_spacing(12);
+
+ m_pImage = new FixedImage(m_pGrid, WB_CENTER | WB_VCENTER | WB_3DLOOK);
+ m_pImage->SetImage(WarningBox::GetStandardImage());
+ m_pImage->set_grid_left_attach(0);
+ m_pImage->set_grid_top_attach(0);
+ m_pImage->set_valign(VCL_ALIGN_START);
+ m_pImage->Show();
+
+ WinBits nWinStyle = WB_LEFT | WB_VCENTER | WB_WORDBREAK | WB_NOLABEL | WB_NOTABSTOP;
+
+ m_pPrimaryMessage = new VclMultiLineEdit(m_pGrid, nWinStyle);
+ m_pPrimaryMessage->SetPaintTransparent(true);
+ m_pPrimaryMessage->EnableCursor(false);
+ Font aFont = GetSettings().GetStyleSettings().GetLabelFont();
+ aFont.SetSize( Size( 0, aFont.GetSize().Height() * 1.2 ) );
+ aFont.SetWeight(WEIGHT_BOLD);
+ m_pPrimaryMessage->SetControlFont(aFont);
+ m_pPrimaryMessage->set_grid_left_attach(1);
+ m_pPrimaryMessage->set_grid_top_attach(0);
+ m_pPrimaryMessage->set_hexpand(true);
+ m_pPrimaryMessage->SetText(m_sPrimaryString);
+ m_pPrimaryMessage->Show(!m_sPrimaryString.isEmpty());
+
+ m_pSecondaryMessage = new VclMultiLineEdit(m_pGrid, nWinStyle);
+ m_pSecondaryMessage->SetPaintTransparent(true);
+ m_pSecondaryMessage->EnableCursor(false);
+ m_pSecondaryMessage->set_grid_left_attach(1);
+ m_pSecondaryMessage->set_grid_top_attach(1);
+ m_pSecondaryMessage->set_hexpand(true);
+ m_pSecondaryMessage->SetText(m_sSecondaryString);
+ m_pSecondaryMessage->Show(!m_sSecondaryString.isEmpty());
+
+ m_pGrid->Show();
+
+ setButtonHandlers();
+ }
+ return Dialog::Execute();
+}
+
+OUString MessageDialog::get_primary_text() const
+{
+ const_cast<MessageDialog*>(this)->setDeferredProperties();
+
+ return m_sPrimaryString;
+}
+
+OUString MessageDialog::get_secondary_text() const
+{
+ const_cast<MessageDialog*>(this)->setDeferredProperties();
+
+ return m_sSecondaryString;
+}
+
+bool MessageDialog::set_property(const OString &rKey, const OString &rValue)
+{
+ if (rKey == "text")
+ set_primary_text(OStringToOUString(rValue, RTL_TEXTENCODING_UTF8));
+ else if (rKey == "secondary-text")
+ set_secondary_text(OStringToOUString(rValue, RTL_TEXTENCODING_UTF8));
+ else
+ return Dialog::set_property(rKey, rValue);
+ return true;
+}
+
+void MessageDialog::set_primary_text(const OUString &rPrimaryString)
+{
+ m_sPrimaryString = rPrimaryString;
+ if (m_pPrimaryMessage)
+ {
+ m_pPrimaryMessage->SetText(m_sPrimaryString);
+ m_pPrimaryMessage->Show(!m_sPrimaryString.isEmpty());
+ }
+}
+
+void MessageDialog::set_secondary_text(const OUString &rSecondaryString)
+{
+ m_sSecondaryString = rSecondaryString;
+ if (m_pSecondaryMessage)
+ {
+ m_pSecondaryMessage->SetText(OUString("\n") + m_sSecondaryString);
+ m_pSecondaryMessage->Show(!m_sSecondaryString.isEmpty());
+ }
+}
+
Size getLegacyBestSizeForChildren(const Window &rWindow)
{
Rectangle aBounds;
commit 26bda9f4a82c9b1956a10e3dc52a99bc2f850ada
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed May 1 10:08:20 2013 +0100
convert message box return types to an enum
Change-Id: I20889dc94aac1119c1ee9da873ce911887c1c335
diff --git a/basctl/source/basicide/baside3.cxx b/basctl/source/basicide/baside3.cxx
index 6cafb44..debf652 100644
--- a/basctl/source/basicide/baside3.cxx
+++ b/basctl/source/basicide/baside3.cxx
@@ -931,7 +931,7 @@ LanguageMismatchQueryBox::LanguageMismatchQueryBox( Window* pParent,
BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_OKBUTTON | BUTTONDIALOG_FOCUSBUTTON );
AddButton( IDE_RESSTR(RID_STR_DLGIMP_MISMATCH_OMIT), RET_NO, 0 );
AddButton( BUTTON_CANCEL, RET_CANCEL, BUTTONDIALOG_CANCELBUTTON );
- AddButton( BUTTON_HELP, BUTTONID_HELP, BUTTONDIALOG_HELPBUTTON, 4 );
+ AddButton( BUTTON_HELP, RET_HELP, BUTTONDIALOG_HELPBUTTON, 4 );
SetImage( QueryBox::GetStandardImage() );
}
diff --git a/dbaccess/source/ui/dlg/sqlmessage.cxx b/dbaccess/source/ui/dlg/sqlmessage.cxx
index d263417..c35fba5 100644
--- a/dbaccess/source/ui/dlg/sqlmessage.cxx
+++ b/dbaccess/source/ui/dlg/sqlmessage.cxx
@@ -39,7 +39,7 @@
#include <tools/urlobj.hxx>
-#define BUTTONID_MORE BUTTONID_RETRY + 1
+#define RET_MORE RET_RETRY + 1
#define DIALOG_WIDTH 220
#define OUTER_MARGIN 6
@@ -458,12 +458,12 @@ namespace
sal_uInt16 nButtonID = 0;
switch ( _eType )
{
- case BUTTON_YES: nButtonID = BUTTONID_YES; break;
- case BUTTON_NO: nButtonID = BUTTONID_NO; break;
- case BUTTON_OK: nButtonID = BUTTONID_OK; break;
- case BUTTON_CANCEL: nButtonID = BUTTONID_CANCEL; break;
- case BUTTON_RETRY: nButtonID = BUTTONID_RETRY; break;
- case BUTTON_HELP: nButtonID = BUTTONID_HELP; break;
+ case BUTTON_YES: nButtonID = RET_YES; break;
+ case BUTTON_NO: nButtonID = RET_NO; break;
+ case BUTTON_OK: nButtonID = RET_OK; break;
+ case BUTTON_CANCEL: nButtonID = RET_CANCEL; break;
+ case BUTTON_RETRY: nButtonID = RET_RETRY; break;
+ case BUTTON_HELP: nButtonID = RET_HELP; break;
default:
OSL_FAIL( "lcl_addButton: invalid button id!" );
break;
@@ -623,7 +623,7 @@ void OSQLMessageBox::impl_createStandardButtons( WinBits _nStyle )
else
{
OSL_ENSURE( WB_OK & _nStyle, "OSQLMessageBox::impl_createStandardButtons: unsupported dialog style requested!" );
- AddButton( BUTTON_OK, BUTTONID_OK, BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_FOCUSBUTTON );
+ AddButton( BUTTON_OK, RET_OK, BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_FOCUSBUTTON );
}
if ( !m_sHelpURL.isEmpty() )
@@ -666,8 +666,8 @@ void OSQLMessageBox::impl_addDetailsButton()
if ( bMoreDetailsAvailable )
{
- AddButton( BUTTON_MORE, BUTTONID_MORE, 0 );
- PushButton* pButton = GetPushButton( BUTTONID_MORE );
+ AddButton( BUTTON_MORE, RET_MORE, 0 );
+ 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 ) );
pButton->SetUniqueId( UID_SQLERROR_BUTTONMORE );
diff --git a/dbaccess/source/ui/relationdesign/RelationTableView.cxx b/dbaccess/source/ui/relationdesign/RelationTableView.cxx
index 5a3d724..f6a0ac6 100644
--- a/dbaccess/source/ui/relationdesign/RelationTableView.cxx
+++ b/dbaccess/source/ui/relationdesign/RelationTableView.cxx
@@ -365,9 +365,9 @@ void ORelationTableView::lookForUiActivities()
OSQLMessageBox aDlg(this,ModuleRes(STR_QUERY_REL_EDIT_RELATION),String(),0);
aDlg.SetText(sTitle);
aDlg.RemoveButton(aDlg.GetButtonId(0));
- aDlg.AddButton( ModuleRes(STR_QUERY_REL_EDIT), BUTTONID_OK, BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_FOCUSBUTTON);
- aDlg.AddButton( ModuleRes(STR_QUERY_REL_CREATE), BUTTONID_YES, 0);
- aDlg.AddButton(BUTTON_CANCEL,BUTTONID_CANCEL,0);
+ aDlg.AddButton( ModuleRes(STR_QUERY_REL_EDIT), RET_OK, BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_FOCUSBUTTON);
+ aDlg.AddButton( ModuleRes(STR_QUERY_REL_CREATE), RET_YES, 0);
+ aDlg.AddButton(BUTTON_CANCEL,RET_CANCEL,0);
sal_uInt16 nRet = aDlg.Execute();
if( nRet == RET_CANCEL)
{
diff --git a/include/vcl/msgbox.hxx b/include/vcl/msgbox.hxx
index 594d248..93689f8 100644
--- a/include/vcl/msgbox.hxx
+++ b/include/vcl/msgbox.hxx
@@ -29,28 +29,6 @@ class VclMultiLineEdit;
class FixedImage;
class CheckBox;
-// -----------------
-// - MessBox-Types -
-// -----------------
-
-// Return-Werte von Execute
-//!!! bei Aenderungen \basic\source\runtime\methods.cxx msgbox anpassen
-
-#define RET_CANCEL 0
-#define RET_OK 1
-#define RET_YES 2
-#define RET_NO 3
-#define RET_RETRY 4
-#define RET_IGNORE 5
-
-#define BUTTONID_OK RET_OK
-#define BUTTONID_CANCEL RET_CANCEL
-#define BUTTONID_YES RET_YES
-#define BUTTONID_NO RET_NO
-#define BUTTONID_RETRY RET_RETRY
-#define BUTTONID_IGNORE RET_IGNORE
-#define BUTTONID_HELP 10
-
// -----------
// - MessBox -
// -----------
diff --git a/include/vcl/vclenum.hxx b/include/vcl/vclenum.hxx
index e0760b1..d37b11b 100644
--- a/include/vcl/vclenum.hxx
+++ b/include/vcl/vclenum.hxx
@@ -132,6 +132,20 @@ enum VclPackType
VCL_PACK_END = 1
};
+// Return Values from Dialog::Execute
+//!!! bei Aenderungen \basic\source\runtime\methods.cxx msgbox anpassen
+
+enum VclResponseType
+{
+ RET_CANCEL = 0,
+ RET_OK = 1,
+ RET_YES = 2,
+ RET_NO = 3,
+ RET_RETRY = 4,
+ RET_IGNORE = 5,
+ RET_HELP = 10
+};
+
#endif // _VCL_VCLENUM_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/dbgui/pvfundlg.cxx b/sc/source/ui/dbgui/pvfundlg.cxx
index 42d048f..f9e468b 100644
--- a/sc/source/ui/dbgui/pvfundlg.cxx
+++ b/sc/source/ui/dbgui/pvfundlg.cxx
@@ -817,7 +817,7 @@ ScDPShowDetailDlg::ScDPShowDetailDlg( Window* pParent, ScDPObject& rDPObj, sal_u
short ScDPShowDetailDlg::Execute()
{
- return maLbDims.GetEntryCount() ? ModalDialog::Execute() : RET_CANCEL;
+ return maLbDims.GetEntryCount() ? ModalDialog::Execute() : static_cast<short>(RET_CANCEL);
}
OUString ScDPShowDetailDlg::GetDimensionName() const
diff --git a/sd/source/ui/annotations/annotationmanager.cxx b/sd/source/ui/annotations/annotationmanager.cxx
index 2153af4..3a50ba4 100644
--- a/sd/source/ui/annotations/annotationmanager.cxx
+++ b/sd/source/ui/annotations/annotationmanager.cxx
@@ -729,8 +729,8 @@ void AnnotationManagerImpl::SelectNextAnnotation(bool bForeward)
// The dialog is made modal with respect to the whole application.
QueryBox aQuestionBox ( NULL, (WB_YES_NO | WB_DEF_YES), String(SdResId(nStringId)));
aQuestionBox.SetImage (QueryBox::GetStandardImage());
- sal_uInt16 nBoxResult = aQuestionBox.Execute();
- if(nBoxResult != BUTTONID_YES)
+ short nBoxResult = aQuestionBox.Execute();
+ if (nBoxResult != RET_YES)
break;
}
while( true );
diff --git a/sd/source/ui/func/fuoaprms.cxx b/sd/source/ui/func/fuoaprms.cxx
index bb03105..3efc8ae 100644
--- a/sd/source/ui/func/fuoaprms.cxx
+++ b/sd/source/ui/func/fuoaprms.cxx
@@ -450,7 +450,7 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& rReq )
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
SfxAbstractDialog* pDlg = pFact ? pFact->CreatSdActionDialog( NULL, &aSet, mpView ) : 0;
- sal_uInt16 nResult = pDlg ? pDlg->Execute() : RET_CANCEL;
+ short nResult = pDlg ? pDlg->Execute() : static_cast<short>(RET_CANCEL);
if( nResult == RET_OK )
{
diff --git a/sd/source/ui/func/fuprlout.cxx b/sd/source/ui/func/fuprlout.cxx
index 9df2ef1..67ae4ca 100644
--- a/sd/source/ui/func/fuprlout.cxx
+++ b/sd/source/ui/func/fuprlout.cxx
@@ -149,7 +149,7 @@ void FuPresentationLayout::DoExecute( SfxRequest& rReq )
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
AbstractSdPresLayoutDlg* pDlg = pFact ? pFact->CreateSdPresLayoutDlg(mpDocSh, NULL, aSet ) : 0;
- sal_uInt16 nResult = pDlg ? pDlg->Execute() : RET_CANCEL;
+ sal_uInt16 nResult = pDlg ? pDlg->Execute() : static_cast<short>(RET_CANCEL);
switch (nResult)
{
diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx
index 1bd2eff..d6b9e60 100644
--- a/sd/source/ui/view/Outliner.cxx
+++ b/sd/source/ui/view/Outliner.cxx
@@ -1151,7 +1151,7 @@ bool Outliner::ShowWrapArroundDialog (void)
String(SdResId(nStringId)));
aQuestionBox.SetImage (QueryBox::GetStandardImage());
sal_uInt16 nBoxResult = ShowModalMessageBox(aQuestionBox);
- bDoWrapArround = (nBoxResult == BUTTONID_YES);
+ bDoWrapArround = (nBoxResult == RET_YES);
}
return bDoWrapArround;
diff --git a/svx/source/form/datanavi.cxx b/svx/source/form/datanavi.cxx
index b523d22..71986a6 100644
--- a/svx/source/form/datanavi.cxx
+++ b/svx/source/form/datanavi.cxx
@@ -3689,8 +3689,8 @@ namespace svxform
{
SetText( Application::GetDisplayName() );
SetImage( QueryBox::GetStandardImage() );
- AddButton( SVX_RESSTR( RID_STR_DATANAV_LINKWARN_BUTTON ), BUTTONID_OK, BUTTONDIALOG_DEFBUTTON );
- AddButton( BUTTON_CANCEL, BUTTONID_CANCEL, BUTTONDIALOG_CANCELBUTTON );
+ AddButton( SVX_RESSTR( RID_STR_DATANAV_LINKWARN_BUTTON ), RET_OK, BUTTONDIALOG_DEFBUTTON );
+ AddButton( BUTTON_CANCEL, RET_CANCEL, BUTTONDIALOG_CANCELBUTTON );
}
//............................................................................
diff --git a/sw/source/ui/fldui/fldedt.cxx b/sw/source/ui/fldui/fldedt.cxx
index 41320d4..b376360 100644
--- a/sw/source/ui/fldui/fldedt.cxx
+++ b/sw/source/ui/fldui/fldedt.cxx
@@ -248,7 +248,7 @@ IMPL_LINK_NOARG(SwFldEditDlg, OKHdl)
short SwFldEditDlg::Execute()
{
// without TabPage no dialog
- return GetTabPage() ? Dialog::Execute() : RET_CANCEL;
+ return GetTabPage() ? Dialog::Execute() : static_cast<short>(RET_CANCEL);
}
/*--------------------------------------------------------------------
diff --git a/uui/source/iahndl-errorhandler.cxx b/uui/source/iahndl-errorhandler.cxx
index 3208d23..beedaab 100644
--- a/uui/source/iahndl-errorhandler.cxx
+++ b/uui/source/iahndl-errorhandler.cxx
@@ -106,19 +106,19 @@ executeErrorDialog(
sal_uInt16 aResult = xBox->Execute();
switch( aResult )
{
- case BUTTONID_OK:
+ case RET_OK:
aResult = ERRCODE_BUTTON_OK;
break;
- case BUTTONID_CANCEL:
+ case RET_CANCEL:
aResult = ERRCODE_BUTTON_CANCEL;
break;
- case BUTTONID_YES:
+ case RET_YES:
aResult = ERRCODE_BUTTON_YES;
break;
- case BUTTONID_NO:
+ case RET_NO:
aResult = ERRCODE_BUTTON_NO;
break;
- case BUTTONID_RETRY:
+ case RET_RETRY:
aResult = ERRCODE_BUTTON_RETRY;
break;
}
diff --git a/uui/source/iahndl.cxx b/uui/source/iahndl.cxx
index 77fa9ba..c14784b 100644
--- a/uui/source/iahndl.cxx
+++ b/uui/source/iahndl.cxx
@@ -1080,19 +1080,19 @@ executeMessageBox(
sal_uInt16 aResult = xBox.Execute();
switch( aResult )
{
- case BUTTONID_OK:
+ case RET_OK:
aResult = ERRCODE_BUTTON_OK;
break;
- case BUTTONID_CANCEL:
+ case RET_CANCEL:
aResult = ERRCODE_BUTTON_CANCEL;
break;
- case BUTTONID_YES:
+ case RET_YES:
aResult = ERRCODE_BUTTON_YES;
break;
- case BUTTONID_NO:
+ case RET_NO:
aResult = ERRCODE_BUTTON_NO;
break;
- case BUTTONID_RETRY:
+ case RET_RETRY:
aResult = ERRCODE_BUTTON_RETRY;
break;
}
diff --git a/vcl/source/window/msgbox.cxx b/vcl/source/window/msgbox.cxx
index c7f7da7..9e27767 100644
--- a/vcl/source/window/msgbox.cxx
+++ b/vcl/source/window/msgbox.cxx
@@ -83,8 +83,8 @@ void MessBox::ImplInitButtons()
else // WB_DEF_OK
nOKFlags |= BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_FOCUSBUTTON;
- AddButton( BUTTON_OK, BUTTONID_OK, nOKFlags );
- AddButton( BUTTON_CANCEL, BUTTONID_CANCEL, nCancelFlags );
+ AddButton( BUTTON_OK, RET_OK, nOKFlags );
+ AddButton( BUTTON_CANCEL, RET_CANCEL, nCancelFlags );
}
else if ( nStyle & WB_YES_NO )
{
@@ -94,8 +94,8 @@ void MessBox::ImplInitButtons()
nNoFlags |= BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_FOCUSBUTTON;
nNoFlags |= BUTTONDIALOG_CANCELBUTTON;
- AddButton( BUTTON_YES, BUTTONID_YES, nYesFlags );
- AddButton( BUTTON_NO, BUTTONID_NO, nNoFlags );
+ AddButton( BUTTON_YES, RET_YES, nYesFlags );
+ AddButton( BUTTON_NO, RET_NO, nNoFlags );
}
else if ( nStyle & WB_YES_NO_CANCEL )
{
@@ -106,9 +106,9 @@ void MessBox::ImplInitButtons()
else
nCancelFlags |= BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_FOCUSBUTTON;
- AddButton( BUTTON_YES, BUTTONID_YES, nYesFlags );
- AddButton( BUTTON_NO, BUTTONID_NO, nNoFlags );
- AddButton( BUTTON_CANCEL, BUTTONID_CANCEL, nCancelFlags );
+ AddButton( BUTTON_YES, RET_YES, nYesFlags );
+ AddButton( BUTTON_NO, RET_NO, nNoFlags );
+ AddButton( BUTTON_CANCEL, RET_CANCEL, nCancelFlags );
}
else if ( nStyle & WB_RETRY_CANCEL )
{
@@ -117,8 +117,8 @@ void MessBox::ImplInitButtons()
else // WB_DEF_RETRY
nRetryFlags |= BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_FOCUSBUTTON;
- AddButton( BUTTON_RETRY, BUTTONID_RETRY, nRetryFlags );
- AddButton( BUTTON_CANCEL, BUTTONID_CANCEL, nCancelFlags );
+ AddButton( BUTTON_RETRY, RET_RETRY, nRetryFlags );
+ AddButton( BUTTON_CANCEL, RET_CANCEL, nCancelFlags );
}
else if ( nStyle & WB_ABORT_RETRY_IGNORE )
{
@@ -132,15 +132,15 @@ void MessBox::ImplInitButtons()
else if ( nStyle & WB_DEF_IGNORE )
nIgnoreFlags |= BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_FOCUSBUTTON;
- AddButton( BUTTON_ABORT, BUTTONID_CANCEL, nAbortFlags );
- AddButton( BUTTON_RETRY, BUTTONID_RETRY, nRetryFlags );
- AddButton( BUTTON_IGNORE, BUTTONID_IGNORE, nIgnoreFlags );
+ AddButton( BUTTON_ABORT, RET_CANCEL, nAbortFlags );
+ AddButton( BUTTON_RETRY, RET_RETRY, nRetryFlags );
+ AddButton( BUTTON_IGNORE, RET_IGNORE, nIgnoreFlags );
}
else if ( nStyle & WB_OK )
{
nOKFlags |= BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_FOCUSBUTTON;
- AddButton( BUTTON_OK, BUTTONID_OK, nOKFlags );
+ AddButton( BUTTON_OK, RET_OK, nOKFlags );
}
}
@@ -208,7 +208,7 @@ void MessBox::ImplPosControls()
{
if ( !mbHelpBtn )
{
- AddButton( BUTTON_HELP, BUTTONID_HELP, BUTTONDIALOG_HELPBUTTON, 3 );
+ AddButton( BUTTON_HELP, RET_HELP, BUTTONDIALOG_HELPBUTTON, 3 );
mbHelpBtn = sal_True;
}
}
@@ -216,7 +216,7 @@ void MessBox::ImplPosControls()
{
if ( mbHelpBtn )
{
- RemoveButton( BUTTONID_HELP );
+ RemoveButton( RET_HELP );
mbHelpBtn = sal_False;
}
}
commit 1680b036c5a9bf50b10580ee995f91ca6f873ef5
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed May 1 10:58:15 2013 +0100
clear gtk enum value response ids
Change-Id: I4cf3d81bcfe31e8a2b99c0f770bc1f999205f110
diff --git a/cui/uiconfig/ui/namedialog.ui b/cui/uiconfig/ui/namedialog.ui
index 39a4e29..c21d411 100644
--- a/cui/uiconfig/ui/namedialog.ui
+++ b/cui/uiconfig/ui/namedialog.ui
@@ -113,7 +113,7 @@
</object>
</child>
<action-widgets>
- <action-widget response="-3">ok</action-widget>
+ <action-widget response="0">ok</action-widget>
<action-widget response="0">cancel</action-widget>
<action-widget response="0">help</action-widget>
</action-widgets>
diff --git a/cui/uiconfig/ui/objectnamedialog.ui b/cui/uiconfig/ui/objectnamedialog.ui
index 8f15934..4b2909e 100644
--- a/cui/uiconfig/ui/objectnamedialog.ui
+++ b/cui/uiconfig/ui/objectnamedialog.ui
@@ -114,7 +114,7 @@
</child>
<action-widgets>
<action-widget response="0">help</action-widget>
- <action-widget response="-3">ok</action-widget>
+ <action-widget response="0">ok</action-widget>
<action-widget response="0">cancel</action-widget>
</action-widgets>
</object>
diff --git a/cui/uiconfig/ui/objecttitledescdialog.ui b/cui/uiconfig/ui/objecttitledescdialog.ui
index 2e639b9..b8c09b1 100644
--- a/cui/uiconfig/ui/objecttitledescdialog.ui
+++ b/cui/uiconfig/ui/objecttitledescdialog.ui
@@ -110,7 +110,6 @@
<property name="xalign">0</property>
<property name="label" translatable="yes">_Description</property>
<property name="use_underline">True</property>
- <property name="mnemonic_widget">desc_entry</property>
</object>
<packing>
<property name="expand">False</property>
@@ -150,7 +149,7 @@
</child>
<action-widgets>
<action-widget response="0">help</action-widget>
- <action-widget response="-3">ok</action-widget>
+ <action-widget response="0">ok</action-widget>
<action-widget response="0">cancel</action-widget>
</action-widgets>
</object>
More information about the Libreoffice-commits
mailing list