[Libreoffice-commits] .: 282 commits - accessibility/source basctl/source canvas/source chart2/source cui/AllLangResTarget_cui.mk cui/Module_cui.mk cui/source cui/uiconfig cui/UI_cui.mk dbaccess/source extensions/source framework/source l10ntools/Executable_uiex.mk l10ntools/inc l10ntools/Module_l10ntools.mk l10ntools/source postprocess/checkxml postprocess/packconfig reportdesign/source Repository.mk sal/inc sc/Module_sc.mk scp2/source sc/source sc/uiconfig sc/UI_scalc.mk sd/inc sd/Module_sd.mk sd/source sd/uiconfig sd/UI_sdraw.mk sd/UI_simpress.mk sfx2/inc sfx2/source slideshow/source solenv/bin solenv/gbuild starmath/Module_starmath.mk starmath/source starmath/uiconfig starmath/UI_smath.mk svl/inc svl/source svtools/inc svtools/source svx/inc svx/source sw/AllLangResTarget_sw.mk sw/inc sw/Module_sw.mk sw/Package_uiconfig.mk sw/source sw/uiconfig sw/UI_sw.mk sw/UI_swriter.mk toolkit/source tools/inc tools/source vcl/Executable_ui-previewer.mk vcl/inc vcl/Library_vcl.mk vcl/Module_vcl.mk vcl/Package_inc.mk vcl/qa vcl/source vcl/uiconfig vcl/UI_vcl.mk vcl/unx

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Sep 28 00:49:45 PDT 2012


 Repository.mk                                                      |    2 
 accessibility/source/standard/vclxaccessibleradiobutton.cxx        |    5 
 basctl/source/basicide/basicrenderable.cxx                         |   28 
 canvas/source/directx/dx_9rm.cxx                                   |    4 
 chart2/source/controller/main/ChartController_Window.cxx           |    4 
 cui/AllLangResTarget_cui.mk                                        |    3 
 cui/Module_cui.mk                                                  |    1 
 cui/UI_cui.mk                                                      |   21 
 cui/source/dialogs/charmap.hrc                                     |   41 
 cui/source/dialogs/charmap.src                                     |  129 
 cui/source/dialogs/cuicharmap.cxx                                  |  263 -
 cui/source/dialogs/zoom.cxx                                        |  258 -
 cui/source/dialogs/zoom.src                                        |  159 
 cui/source/factory/dlgfact.cxx                                     |   17 
 cui/source/inc/chardlg.hxx                                         |  140 
 cui/source/inc/cuicharmap.hxx                                      |   55 
 cui/source/inc/cuires.hrc                                          |    8 
 cui/source/inc/helpid.hrc                                          |    3 
 cui/source/inc/zoom.hxx                                            |   32 
 cui/source/tabpages/autocdlg.cxx                                   |    2 
 cui/source/tabpages/chardlg.cxx                                    | 1465 +++----
 cui/source/tabpages/chardlg.hrc                                    |  174 
 cui/source/tabpages/chardlg.src                                    | 1018 ----
 cui/source/tabpages/strings.src                                    |   25 
 cui/uiconfig/ui/charnamepage.ui                                    |  654 +++
 cui/uiconfig/ui/effectspage.ui                                     |  668 +++
 cui/uiconfig/ui/positionpage.ui                                    |  532 ++
 cui/uiconfig/ui/specialcharacters.ui                               |  284 +
 cui/uiconfig/ui/twolinespage.ui                                    |  249 +
 cui/uiconfig/ui/zoomdialog.ui                                      |  380 +
 dbaccess/source/ui/control/VertSplitView.cxx                       |    4 
 dbaccess/source/ui/dlg/adminpages.cxx                              |    2 
 dbaccess/source/ui/inc/TableWindow.hxx                             |    3 
 extensions/source/propctrlr/standardcontrol.cxx                    |    6 
 framework/source/helper/vclstatusindicator.cxx                     |    2 
 l10ntools/Executable_uiex.mk                                       |   34 
 l10ntools/Module_l10ntools.mk                                      |    1 
 l10ntools/inc/export.hxx                                           |    6 
 l10ntools/source/localize.cxx                                      |    3 
 l10ntools/source/merge.cxx                                         |    6 
 l10ntools/source/uimerge.cxx                                       |  311 +
 postprocess/checkxml/checkxml.pl                                   |    4 
 postprocess/packconfig/packconfig.pl                               |    2 
 reportdesign/source/ui/dlg/CondFormat.cxx                          |   12 
 reportdesign/source/ui/dlg/Condition.cxx                           |   24 
 sal/inc/sal/log-areas.dox                                          |    1 
 sc/Module_sc.mk                                                    |    1 
 sc/UI_scalc.mk                                                     |   16 
 sc/source/ui/dbgui/csvruler.cxx                                    |    4 
 sc/source/ui/dbgui/csvtablebox.cxx                                 |   12 
 sc/source/ui/inc/csvruler.hxx                                      |    3 
 sc/source/ui/inc/undobase.hxx                                      |    4 
 sc/source/ui/inc/undodraw.hxx                                      |    4 
 sc/source/ui/navipi/navipi.cxx                                     |    2 
 sc/source/ui/undo/undobase.cxx                                     |    5 
 sc/source/ui/undo/undodraw.cxx                                     |    5 
 sc/source/ui/unoobj/docuno.cxx                                     |   66 
 sc/uiconfig/scalc/ui/printeroptions.ui                             |   51 
 scp2/source/ooo/file_ooo.scp                                       |   11 
 scp2/source/ooo/module_hidden_ooo.scp                              |    1 
 sd/Module_sd.mk                                                    |    2 
 sd/UI_sdraw.mk                                                     |   16 
 sd/UI_simpress.mk                                                  |   16 
 sd/inc/undo/undomanager.hxx                                        |    2 
 sd/source/core/undo/undomanager.cxx                                |    2 
 sd/source/ui/animations/CustomAnimationDialog.cxx                  |    4 
 sd/source/ui/annotations/annotationwindow.cxx                      |    8 
 sd/source/ui/dlg/navigatr.cxx                                      |    4 
 sd/source/ui/view/DocumentRenderer.cxx                             |  100 
 sd/uiconfig/sdraw/ui/printeroptions.ui                             |  283 +
 sd/uiconfig/simpress/ui/printeroptions.ui                          |  300 +
 sfx2/inc/sfx2/basedlgs.hxx                                         |    8 
 sfx2/inc/sfx2/tabdlg.hxx                                           |   53 
 sfx2/source/appl/sfxhelp.cxx                                       |    4 
 sfx2/source/control/thumbnailview.cxx                              |    2 
 sfx2/source/dialog/basedlgs.cxx                                    |   37 
 sfx2/source/dialog/mgetempl.cxx                                    |    2 
 sfx2/source/dialog/tabdlg.cxx                                      |  281 -
 slideshow/source/engine/OGLTrans/unx/OGLTrans_TransitionerImpl.cxx |    2 
 solenv/bin/uilangfilter.xslt                                       |   38 
 solenv/gbuild/TargetLocations.mk                                   |    6 
 solenv/gbuild/UI.mk                                                |  215 +
 solenv/gbuild/gbuild.mk                                            |    1 
 starmath/Module_starmath.mk                                        |    1 
 starmath/UI_smath.mk                                               |   16 
 starmath/source/unomodel.cxx                                       |   39 
 starmath/uiconfig/smath/ui/printeroptions.ui                       |  210 +
 svl/inc/svl/undo.hxx                                               |   38 
 svl/source/undo/undo.cxx                                           |   35 
 svtools/inc/svtools/ctrlbox.hxx                                    |    1 
 svtools/inc/svtools/fileview.hxx                                   |    1 
 svtools/source/control/calendar.cxx                                |    2 
 svtools/source/control/ctrlbox.cxx                                 |   70 
 svtools/source/control/filectrl.cxx                                |    4 
 svtools/source/control/tabbar.cxx                                  |    2 
 svtools/source/control/valueset.cxx                                |    2 
 svtools/source/dialogs/wizdlg.cxx                                  |    4 
 svtools/source/hatchwindow/hatchwindow.cxx                         |    2 
 svx/inc/svx/charmap.hxx                                            |    5 
 svx/inc/svx/dialogs.hrc                                            |    3 
 svx/inc/svx/fntctrl.hxx                                            |    5 
 svx/inc/svx/langbox.hxx                                            |    3 
 svx/inc/svx/stddlg.hxx                                             |    1 
 svx/inc/svx/svdundo.hxx                                            |   66 
 svx/source/dialog/charmap.cxx                                      |   41 
 svx/source/dialog/docrecovery.cxx                                  |    2 
 svx/source/dialog/fntctrl.cxx                                      |   25 
 svx/source/dialog/langbox.cxx                                      |   17 
 svx/source/dialog/stddlg.cxx                                       |    9 
 svx/source/svdraw/svdundo.cxx                                      |   77 
 svx/source/tbxctrls/tbcontrl.cxx                                   |    2 
 sw/AllLangResTarget_sw.mk                                          |    7 
 sw/Module_sw.mk                                                    |    2 
 sw/Package_uiconfig.mk                                             |    2 
 sw/UI_sw.mk                                                        |   18 
 sw/UI_swriter.mk                                                   |   27 
 sw/inc/colwd.hxx                                                   |   10 
 sw/inc/dialog.hrc                                                  |    2 
 sw/inc/globals.hrc                                                 |    1 
 sw/inc/helpid.h                                                    |    5 
 sw/inc/swabstdlg.hxx                                               |   15 
 sw/inc/swcommands.h                                                |    1 
 sw/source/core/view/printdata.cxx                                  |  164 
 sw/source/ui/app/app.src                                           |   95 
 sw/source/ui/cctrl/actctrl.cxx                                     |   19 
 sw/source/ui/chrdlg/chardlg.cxx                                    |  108 
 sw/source/ui/chrdlg/chardlg.hrc                                    |   34 
 sw/source/ui/chrdlg/chardlg.src                                    |  131 
 sw/source/ui/dbui/dbinsdlg.cxx                                     |    2 
 sw/source/ui/dialog/swdlgfact.cxx                                  |   93 
 sw/source/ui/dialog/swdlgfact.hxx                                  |   15 
 sw/source/ui/dialog/wordcountdialog.cxx                            |   98 
 sw/source/ui/dialog/wordcountdialog.hrc                            |   38 
 sw/source/ui/dialog/wordcountdialog.src                            |  146 
 sw/source/ui/dialog/wordcountwrapper.cxx                           |    3 
 sw/source/ui/docvw/SidebarWin.cxx                                  |   14 
 sw/source/ui/inc/actctrl.hxx                                       |   14 
 sw/source/ui/inc/app.hrc                                           |   25 
 sw/source/ui/inc/chrdlg.hxx                                        |   28 
 sw/source/ui/inc/convert.hxx                                       |   35 
 sw/source/ui/inc/instable.hxx                                      |   34 
 sw/source/ui/inc/linenum.hxx                                       |   78 
 sw/source/ui/inc/numberingtypelistbox.hxx                          |    3 
 sw/source/ui/inc/scroll.hxx                                        |    1 
 sw/source/ui/inc/splittbl.hxx                                      |   12 
 sw/source/ui/inc/srtdlg.hxx                                        |   75 
 sw/source/ui/inc/table.hrc                                         |   13 
 sw/source/ui/inc/tautofmt.hxx                                      |   29 
 sw/source/ui/inc/titlepage.hxx                                     |   48 
 sw/source/ui/inc/wordcountdialog.hxx                               |   48 
 sw/source/ui/misc/linenum.cxx                                      |  238 -
 sw/source/ui/misc/linenum.hrc                                      |   41 
 sw/source/ui/misc/linenum.src                                      |  239 -
 sw/source/ui/misc/numberingtypelistbox.cxx                         |   26 
 sw/source/ui/misc/srtdlg.cxx                                       |  363 -
 sw/source/ui/misc/srtdlg.src                                       |  315 -
 sw/source/ui/misc/titlepage.cxx                                    |  129 
 sw/source/ui/shells/basesh.cxx                                     |    5 
 sw/source/ui/shells/tabsh.cxx                                      |    2 
 sw/source/ui/table/colwd.cxx                                       |   46 
 sw/source/ui/table/colwd.hrc                                       |   27 
 sw/source/ui/table/colwd.src                                       |  102 
 sw/source/ui/table/convert.cxx                                     |  167 
 sw/source/ui/table/convert.hrc                                     |   39 
 sw/source/ui/table/convert.src                                     |  189 
 sw/source/ui/table/instable.cxx                                    |  131 
 sw/source/ui/table/instable.hrc                                    |   18 
 sw/source/ui/table/instable.src                                    |  187 
 sw/source/ui/table/splittbl.cxx                                    |   32 
 sw/source/ui/table/splittbl.hrc                                    |   25 
 sw/source/ui/table/splittbl.src                                    |   86 
 sw/source/ui/table/tablemgr.cxx                                    |    2 
 sw/source/ui/table/tautofmt.cxx                                    |  263 -
 sw/source/ui/table/tautofmt.hrc                                    |   68 
 sw/source/ui/table/tautofmt.src                                    |  255 -
 sw/source/ui/utlui/navipi.cxx                                      |    6 
 sw/source/ui/utlui/textcontrolcombo.cxx                            |    4 
 sw/uiconfig/sw/ui/20705.ui                                         |  253 +
 sw/uiconfig/sw/ui/20872.ui                                         |  446 ++
 sw/uiconfig/sw/ui/20876.ui                                         |  341 +
 sw/uiconfig/swriter/ui/autoformattable.ui                          |  346 +
 sw/uiconfig/swriter/ui/charurlpage.ui                              |  293 +
 sw/uiconfig/swriter/ui/columnwidth.ui                              |  184 
 sw/uiconfig/swriter/ui/converttexttable.ui                         |  444 ++
 sw/uiconfig/swriter/ui/inserttable.ui                              |  434 ++
 sw/uiconfig/swriter/ui/linenumbering.ui                            |  583 ++
 sw/uiconfig/swriter/ui/printeroptions.ui                           |  211 +
 sw/uiconfig/swriter/ui/sortdialog.ui                               |  786 +++
 sw/uiconfig/swriter/ui/splittable.ui                               |  198 
 sw/uiconfig/swriter/ui/stringinput.ui                              |  111 
 sw/uiconfig/swriter/ui/titlepage.ui                                |  510 ++
 sw/uiconfig/swriter/ui/wordcount.ui                                |  352 +
 toolkit/source/awt/vclxwindow.cxx                                  |    2 
 tools/inc/tools/resmgr.hxx                                         |    3 
 tools/inc/tools/wintypes.hxx                                       |    5 
 tools/source/rc/resmgr.cxx                                         |    5 
 vcl/Executable_ui-previewer.mk                                     |   58 
 vcl/Library_vcl.mk                                                 |    3 
 vcl/Module_vcl.mk                                                  |    2 
 vcl/Package_inc.mk                                                 |    2 
 vcl/UI_vcl.mk                                                      |   16 
 vcl/inc/brdwin.hxx                                                 |    2 
 vcl/inc/ilstbox.hxx                                                |   12 
 vcl/inc/printdlg.hxx                                               |  139 
 vcl/inc/svids.hrc                                                  |   31 
 vcl/inc/vcl/builder.hxx                                            |  228 +
 vcl/inc/vcl/button.hxx                                             |   39 
 vcl/inc/vcl/combobox.hxx                                           |    7 
 vcl/inc/vcl/ctrl.hxx                                               |    1 
 vcl/inc/vcl/dialog.hxx                                             |   27 
 vcl/inc/vcl/dockwin.hxx                                            |    4 
 vcl/inc/vcl/edit.hxx                                               |   12 
 vcl/inc/vcl/field.hxx                                              |   20 
 vcl/inc/vcl/fixed.hxx                                              |    2 
 vcl/inc/vcl/layout.hxx                                             |  484 ++
 vcl/inc/vcl/lstbox.hxx                                             |    8 
 vcl/inc/vcl/print.hxx                                              |  109 
 vcl/inc/vcl/settings.hxx                                           |   40 
 vcl/inc/vcl/spinfld.hxx                                            |    3 
 vcl/inc/vcl/tabctrl.hxx                                            |   18 
 vcl/inc/vcl/tabdlg.hxx                                             |    2 
 vcl/inc/vcl/tabpage.hxx                                            |   15 
 vcl/inc/vcl/vclenum.hxx                                            |   14 
 vcl/inc/vcl/window.hxx                                             |  231 +
 vcl/inc/window.h                                                   |   23 
 vcl/qa/cppunit/builder/demo.ui                                     | 2066 ++++++++++
 vcl/source/app/settings.cxx                                        |    4 
 vcl/source/control/button.cxx                                      |  282 +
 vcl/source/control/combobox.cxx                                    |   25 
 vcl/source/control/ctrl.cxx                                        |   19 
 vcl/source/control/edit.cxx                                        |   74 
 vcl/source/control/field.cxx                                       |  111 
 vcl/source/control/fixed.cxx                                       |   27 
 vcl/source/control/ilstbox.cxx                                     |   80 
 vcl/source/control/lstbox.cxx                                      |   50 
 vcl/source/control/spinfld.cxx                                     |   42 
 vcl/source/control/tabctrl.cxx                                     |  130 
 vcl/source/edit/vclmedit.cxx                                       |    8 
 vcl/source/gdi/print3.cxx                                          |  152 
 vcl/source/src/btntext.src                                         |   15 
 vcl/source/src/print.src                                           |  443 --
 vcl/source/src/units.src                                           |    2 
 vcl/source/uipreviewer/previewer.cxx                               |   94 
 vcl/source/window/brdwin.cxx                                       |   18 
 vcl/source/window/builder.cxx                                      | 1370 ++++++
 vcl/source/window/dialog.cxx                                       |  401 +
 vcl/source/window/dlgctrl.cxx                                      |   48 
 vcl/source/window/dockmgr.cxx                                      |   15 
 vcl/source/window/dockwin.cxx                                      |   10 
 vcl/source/window/layout.cxx                                       | 1096 +++++
 vcl/source/window/menu.cxx                                         |   10 
 vcl/source/window/printdlg.cxx                                     | 1484 ++-----
 vcl/source/window/syswin.cxx                                       |    2 
 vcl/source/window/tabdlg.cxx                                       |   35 
 vcl/source/window/tabpage.cxx                                      |   61 
 vcl/source/window/window.cxx                                       |  136 
 vcl/source/window/window2.cxx                                      |  548 ++
 vcl/source/window/window3.cxx                                      |   17 
 vcl/uiconfig/ui/printdialog.ui                                     | 1573 +++++++
 vcl/unx/gtk/a11y/atkwindow.cxx                                     |    2 
 vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx                           |   55 
 vcl/unx/gtk/window/gtkframe.cxx                                    |   16 
 262 files changed, 22921 insertions(+), 8456 deletions(-)

New commits:
commit 62384d5898c3775c141409a7399a612ef6dd9ecb
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Sep 28 00:17:55 2012 +0100

    convert GetRepeatComment to OUString
    
    Change-Id: Ibf75533d04b3c68b875f44ad22639934578867e3

diff --git a/sc/source/ui/inc/undobase.hxx b/sc/source/ui/inc/undobase.hxx
index d625464..f9ab46c 100644
--- a/sc/source/ui/inc/undobase.hxx
+++ b/sc/source/ui/inc/undobase.hxx
@@ -189,8 +189,8 @@ public:
     virtual void            Repeat(SfxRepeatTarget& rTarget);
     virtual sal_Bool        CanRepeat(SfxRepeatTarget& rTarget) const;
     virtual sal_Bool        Merge( SfxUndoAction *pNextAction );
-    virtual rtl::OUString   GetComment() const;
-    virtual String          GetRepeatComment(SfxRepeatTarget&) const;
+    virtual OUString        GetComment() const;
+    virtual OUString        GetRepeatComment(SfxRepeatTarget&) const;
     virtual sal_uInt16      GetId() const;
 };
 
diff --git a/sc/source/ui/inc/undodraw.hxx b/sc/source/ui/inc/undodraw.hxx
index 7155215..62e3666 100644
--- a/sc/source/ui/inc/undodraw.hxx
+++ b/sc/source/ui/inc/undodraw.hxx
@@ -55,8 +55,8 @@ public:
     virtual void            Repeat(SfxRepeatTarget& rTarget);
     virtual sal_Bool        CanRepeat(SfxRepeatTarget& rTarget) const;
     virtual sal_Bool        Merge( SfxUndoAction *pNextAction );
-    virtual rtl::OUString   GetComment() const;
-    virtual String          GetRepeatComment(SfxRepeatTarget&) const;
+    virtual OUString        GetComment() const;
+    virtual OUString        GetRepeatComment(SfxRepeatTarget&) const;
     virtual sal_uInt16      GetId() const;
 };
 
diff --git a/sc/source/ui/undo/undobase.cxx b/sc/source/ui/undo/undobase.cxx
index ef473c3..853340b 100644
--- a/sc/source/ui/undo/undobase.cxx
+++ b/sc/source/ui/undo/undobase.cxx
@@ -555,12 +555,11 @@ rtl::OUString ScUndoWrapper::GetComment() const
     return rtl::OUString();
 }
 
-String ScUndoWrapper::GetRepeatComment(SfxRepeatTarget& rTarget) const
+OUString ScUndoWrapper::GetRepeatComment(SfxRepeatTarget& rTarget) const
 {
     if (pWrappedUndo)
         return pWrappedUndo->GetRepeatComment(rTarget);
-    else
-        return String();
+    return OUString();
 }
 
 sal_uInt16 ScUndoWrapper::GetId() const
diff --git a/sc/source/ui/undo/undodraw.cxx b/sc/source/ui/undo/undodraw.cxx
index 42bd30b..0dbd87b 100644
--- a/sc/source/ui/undo/undodraw.cxx
+++ b/sc/source/ui/undo/undodraw.cxx
@@ -57,12 +57,11 @@ rtl::OUString ScUndoDraw::GetComment() const
     return rtl::OUString();
 }
 
-String ScUndoDraw::GetRepeatComment(SfxRepeatTarget& rTarget) const
+OUString ScUndoDraw::GetRepeatComment(SfxRepeatTarget& rTarget) const
 {
     if (pDrawUndo)
         return pDrawUndo->GetRepeatComment(rTarget);
-    else
-        return String();
+    return OUString();
 }
 
 sal_uInt16 ScUndoDraw::GetId() const
diff --git a/sd/inc/undo/undomanager.hxx b/sd/inc/undo/undomanager.hxx
index 7b1f428..3aa9efd 100644
--- a/sd/inc/undo/undomanager.hxx
+++ b/sd/inc/undo/undomanager.hxx
@@ -31,7 +31,7 @@ class UndoManager : public SfxUndoManager
 public:
     UndoManager( sal_uInt16 nMaxUndoActionCount = 20 );
 
-    virtual void            EnterListAction(const UniString &rComment, const UniString& rRepeatComment, sal_uInt16 nId=0);
+    virtual void            EnterListAction(const OUString &rComment, const OUString& rRepeatComment, sal_uInt16 nId=0);
 
     virtual void            AddUndoAction( SfxUndoAction *pAction, sal_Bool bTryMerg=sal_False );
 
diff --git a/sd/source/core/undo/undomanager.cxx b/sd/source/core/undo/undomanager.cxx
index c8fda8f..35d91cc 100644
--- a/sd/source/core/undo/undomanager.cxx
+++ b/sd/source/core/undo/undomanager.cxx
@@ -27,7 +27,7 @@ UndoManager::UndoManager( sal_uInt16 nMaxUndoActionCount /* = 20 */ )
 {
 }
 
-void UndoManager::EnterListAction(const UniString &rComment, const UniString& rRepeatComment, sal_uInt16 nId /* =0 */)
+void UndoManager::EnterListAction(const OUString &rComment, const OUString& rRepeatComment, sal_uInt16 nId /* =0 */)
 {
     if( !IsDoing() )
     {
diff --git a/svl/inc/svl/undo.hxx b/svl/inc/svl/undo.hxx
index 096b05e..7059ab8 100644
--- a/svl/inc/svl/undo.hxx
+++ b/svl/inc/svl/undo.hxx
@@ -66,8 +66,8 @@ public:
 
     virtual sal_Bool            Merge( SfxUndoAction *pNextAction );
 
-    virtual rtl::OUString   GetComment() const;
-    virtual UniString       GetRepeatComment(SfxRepeatTarget&) const;
+    virtual OUString    GetComment() const;
+    virtual OUString    GetRepeatComment(SfxRepeatTarget&) const;
     virtual sal_uInt16  GetId() const;
 
 private:
@@ -162,8 +162,8 @@ class SVL_DLLPUBLIC SfxListUndoAction : public SfxUndoAction, public SfxUndoArra
     public:
                             TYPEINFO();
 
-                            SfxListUndoAction( const UniString &rComment,
-                                const UniString rRepeatComment, sal_uInt16 Id, SfxUndoArray *pFather);
+                            SfxListUndoAction( const OUString &rComment,
+                                const OUString rRepeatComment, sal_uInt16 Id, SfxUndoArray *pFather);
     virtual void            Undo();
     virtual void            UndoWithContext( SfxUndoContext& i_context );
     virtual void            Redo();
@@ -173,17 +173,17 @@ class SVL_DLLPUBLIC SfxListUndoAction : public SfxUndoAction, public SfxUndoArra
 
     virtual sal_Bool            Merge( SfxUndoAction *pNextAction );
 
-    virtual rtl::OUString   GetComment() const;
-    virtual UniString       GetRepeatComment(SfxRepeatTarget&) const;
+    virtual OUString    GetComment() const;
+    virtual OUString    GetRepeatComment(SfxRepeatTarget&) const;
     virtual sal_uInt16  GetId() const;
 
-    void SetComment( const UniString& rComment );
+    void SetComment(const OUString& rComment);
 
     private:
 
     sal_uInt16          nId;
-    UniString               aComment;
-    UniString               aRepeatComment;
+    OUString            aComment;
+    OUString            aRepeatComment;
 
 };
 
@@ -232,11 +232,11 @@ namespace svl
 
         virtual size_t          GetUndoActionCount( bool const i_currentLevel = CurrentLevel ) const = 0;
         virtual sal_uInt16      GetUndoActionId() const = 0;
-        virtual rtl::OUString   GetUndoActionComment( size_t nNo=0, bool const i_currentLevel = CurrentLevel ) const = 0;
+        virtual OUString        GetUndoActionComment( size_t nNo=0, bool const i_currentLevel = CurrentLevel ) const = 0;
         virtual SfxUndoAction*  GetUndoAction( size_t nNo=0 ) const = 0;
 
         virtual size_t          GetRedoActionCount( bool const i_currentLevel = CurrentLevel ) const = 0;
-        virtual rtl::OUString   GetRedoActionComment( size_t nNo=0, bool const i_currentLevel = CurrentLevel ) const = 0;
+        virtual OUString        GetRedoActionComment( size_t nNo=0, bool const i_currentLevel = CurrentLevel ) const = 0;
 
         virtual sal_Bool        Undo() = 0;
         virtual sal_Bool        Redo() = 0;
@@ -267,11 +267,11 @@ namespace svl
         virtual bool            IsDoing() const = 0;
 
         virtual size_t          GetRepeatActionCount() const = 0;
-        virtual UniString       GetRepeatActionComment( SfxRepeatTarget &rTarget) const = 0;
+        virtual OUString        GetRepeatActionComment( SfxRepeatTarget &rTarget) const = 0;
         virtual sal_Bool        Repeat( SfxRepeatTarget &rTarget ) = 0;
         virtual sal_Bool        CanRepeat( SfxRepeatTarget &rTarget ) const = 0;
 
-        virtual void            EnterListAction(const UniString &rComment, const UniString& rRepeatComment, sal_uInt16 nId=0) = 0;
+        virtual void            EnterListAction(const OUString &rComment, const OUString& rRepeatComment, sal_uInt16 nId=0) = 0;
 
         /** leaves the list action entered with EnterListAction
             @return the number of the sub actions in the list which has just been left. Note that in case no such
@@ -351,10 +351,10 @@ public:
     virtual void            AddUndoAction( SfxUndoAction *pAction, sal_Bool bTryMerg=sal_False );
     virtual size_t          GetUndoActionCount( bool const i_currentLevel = CurrentLevel ) const;
     virtual sal_uInt16      GetUndoActionId() const;
-    virtual rtl::OUString   GetUndoActionComment( size_t nNo=0, bool const i_currentLevel = CurrentLevel ) const;
+    virtual OUString        GetUndoActionComment( size_t nNo=0, bool const i_currentLevel = CurrentLevel ) const;
     virtual SfxUndoAction*  GetUndoAction( size_t nNo=0 ) const;
     virtual size_t          GetRedoActionCount( bool const i_currentLevel = CurrentLevel ) const;
-    virtual rtl::OUString   GetRedoActionComment( size_t nNo=0, bool const i_currentLevel = CurrentLevel ) const;
+    virtual OUString        GetRedoActionComment( size_t nNo=0, bool const i_currentLevel = CurrentLevel ) const;
     virtual sal_Bool        Undo();
     virtual sal_Bool        Redo();
     virtual void            Clear();
@@ -362,10 +362,10 @@ public:
     virtual void            Reset();
     virtual bool            IsDoing() const;
     virtual size_t          GetRepeatActionCount() const;
-    virtual UniString       GetRepeatActionComment( SfxRepeatTarget &rTarget) const;
+    virtual OUString        GetRepeatActionComment( SfxRepeatTarget &rTarget) const;
     virtual sal_Bool        Repeat( SfxRepeatTarget &rTarget );
     virtual sal_Bool        CanRepeat( SfxRepeatTarget &rTarget ) const;
-    virtual void            EnterListAction(const UniString &rComment, const UniString& rRepeatComment, sal_uInt16 nId=0);
+    virtual void            EnterListAction(const OUString &rComment, const OUString& rRepeatComment, sal_uInt16 nId=0);
     virtual size_t          LeaveListAction();
     virtual size_t          LeaveAndMergeListAction();
     virtual bool            IsInListAction() const;
@@ -457,8 +457,8 @@ public:
 
     virtual void            Repeat(SfxRepeatTarget&r);
 
-    virtual rtl::OUString   GetComment() const;
-    virtual UniString       GetRepeatComment(SfxRepeatTarget&r) const;
+    virtual OUString    GetComment() const;
+    virtual OUString    GetRepeatComment(SfxRepeatTarget&r) const;
     virtual sal_uInt16  GetId() const;
 
     SfxUndoAction*          GetAction() const { return pAction; }
diff --git a/svl/source/undo/undo.cxx b/svl/source/undo/undo.cxx
index c1f32cc..379a327 100644
--- a/svl/source/undo/undo.cxx
+++ b/svl/source/undo/undo.cxx
@@ -94,10 +94,10 @@ sal_Bool SfxUndoAction::Merge( SfxUndoAction * )
 
 //------------------------------------------------------------------------
 
-rtl::OUString SfxUndoAction::GetComment() const
+OUString SfxUndoAction::GetComment() const
 {
     DBG_CHKTHIS(SfxUndoAction, 0);
-    return rtl::OUString();
+    return OUString();
 }
 
 //------------------------------------------------------------------------
@@ -111,7 +111,7 @@ sal_uInt16 SfxUndoAction::GetId() const
 
 //------------------------------------------------------------------------
 
-XubString SfxUndoAction::GetRepeatComment(SfxRepeatTarget&) const
+OUString SfxUndoAction::GetRepeatComment(SfxRepeatTarget&) const
 {
     DBG_CHKTHIS(SfxUndoAction, 0);
     return GetComment();
@@ -681,11 +681,11 @@ size_t SfxUndoManager::GetUndoActionCount( bool const i_currentLevel ) const
 
 //------------------------------------------------------------------------
 
-rtl::OUString SfxUndoManager::GetUndoActionComment( size_t nNo, bool const i_currentLevel ) const
+OUString SfxUndoManager::GetUndoActionComment( size_t nNo, bool const i_currentLevel ) const
 {
     UndoManagerGuard aGuard( *m_pData );
 
-    rtl::OUString sComment;
+    OUString sComment;
     const SfxUndoArray* pUndoArray = i_currentLevel ? m_pData->pActUndoArray : m_pData->pUndoArray;
     DBG_ASSERT( nNo < pUndoArray->nCurUndoAction, "svl::SfxUndoManager::GetUndoActionComment: illegal index!" );
     if( nNo < pUndoArray->nCurUndoAction )
@@ -840,7 +840,7 @@ size_t SfxUndoManager::ImplGetRedoActionCount_Lock( bool const i_currentLevel )
 
 //------------------------------------------------------------------------
 
-rtl::OUString SfxUndoManager::GetRedoActionComment( size_t nNo, bool const i_currentLevel ) const
+OUString SfxUndoManager::GetRedoActionComment( size_t nNo, bool const i_currentLevel ) const
 {
     UndoManagerGuard aGuard( *m_pData );
     const SfxUndoArray* pUndoArray = i_currentLevel ? m_pData->pActUndoArray : m_pData->pUndoArray;
@@ -933,7 +933,7 @@ size_t SfxUndoManager::GetRepeatActionCount() const
 
 //------------------------------------------------------------------------
 
-XubString SfxUndoManager::GetRepeatActionComment( SfxRepeatTarget &rTarget) const
+OUString SfxUndoManager::GetRepeatActionComment(SfxRepeatTarget &rTarget) const
 {
     UndoManagerGuard aGuard( *m_pData );
     return m_pData->pActUndoArray->aUndoActions[ m_pData->pActUndoArray->aUndoActions.size() - 1 ].pAction
@@ -999,7 +999,7 @@ void SfxUndoManager::RemoveUndoListener( SfxUndoListener& i_listener )
 //------------------------------------------------------------------------
 
 void SfxUndoManager::EnterListAction(
-    const XubString& rComment, const XubString &rRepeatComment, sal_uInt16 nId )
+    const OUString& rComment, const OUString &rRepeatComment, sal_uInt16 nId )
 
 /*  [Beschreibung]
 
@@ -1282,21 +1282,21 @@ sal_uInt16 SfxListUndoAction::GetId() const
 
 //------------------------------------------------------------------------
 
-rtl::OUString SfxListUndoAction::GetComment() const
+OUString SfxListUndoAction::GetComment() const
 {
     return aComment;
 }
 
 //------------------------------------------------------------------------
 
-void SfxListUndoAction::SetComment( const UniString& rComment )
+void SfxListUndoAction::SetComment(const OUString& rComment)
 {
     aComment = rComment;
 }
 
 //------------------------------------------------------------------------
 
-XubString SfxListUndoAction::GetRepeatComment(SfxRepeatTarget &) const
+OUString SfxListUndoAction::GetRepeatComment(SfxRepeatTarget &) const
 {
     return aRepeatComment;
 }
@@ -1306,8 +1306,8 @@ XubString SfxListUndoAction::GetRepeatComment(SfxRepeatTarget &) const
 
 SfxListUndoAction::SfxListUndoAction
 (
-    const XubString &rComment,
-    const XubString rRepeatComment,
+    const OUString &rComment,
+    const OUString rRepeatComment,
     sal_uInt16 Id,
     SfxUndoArray *pFather
 )
@@ -1442,22 +1442,21 @@ void SfxLinkUndoAction::Repeat(SfxRepeatTarget&r)
 
 //------------------------------------------------------------------------
 
-rtl::OUString SfxLinkUndoAction::GetComment() const
+OUString SfxLinkUndoAction::GetComment() const
 {
     if ( pAction )
         return pAction->GetComment();
-    return rtl::OUString();
+    return OUString();
 }
 
 
 //------------------------------------------------------------------------
 
-XubString SfxLinkUndoAction::GetRepeatComment(SfxRepeatTarget&r) const
+OUString SfxLinkUndoAction::GetRepeatComment(SfxRepeatTarget&r) const
 {
     if ( pAction )
         return pAction->GetRepeatComment(r);
-    else
-        return XubString();
+    return OUString();
 }
 
 //------------------------------------------------------------------------
diff --git a/svx/inc/svx/svdundo.hxx b/svx/inc/svx/svdundo.hxx
index 4c13737..805edb6 100644
--- a/svx/inc/svx/svdundo.hxx
+++ b/svx/inc/svx/svdundo.hxx
@@ -77,8 +77,8 @@ public:
     virtual sal_Bool CanRepeat(SfxRepeatTarget& rView) const;
     virtual void Repeat(SfxRepeatTarget& rView);
 
-    virtual String GetRepeatComment(SfxRepeatTarget& rView) const;
-    virtual String GetSdrRepeatComment(SdrView& rView) const;
+    virtual OUString GetRepeatComment(SfxRepeatTarget& rView) const;
+    virtual OUString GetSdrRepeatComment(SdrView& rView) const;
 
     virtual bool CanSdrRepeat(SdrView& rView) const;
     virtual void SdrRepeat(SdrView& rView);
@@ -100,8 +100,8 @@ protected:
     std::vector<SdrUndoAction*> aBuf;
 
     // Beschreibung der Action, nicht expandiert (beinhaltet %O)
-    String                      aComment;
-    String                      aObjDescription;
+    OUString                    aComment;
+    OUString                    aObjDescription;
 
     SdrRepeatFunc               eFunction;
 
@@ -114,10 +114,10 @@ public:
     SdrUndoAction* GetAction(sal_uIntPtr nNum) const { return aBuf[nNum]; }
     void AddAction(SdrUndoAction* pAct);
 
-    void SetComment(const String& rStr) { aComment=rStr; }
-    void SetObjDescription(const String& rStr) { aObjDescription=rStr; }
-    virtual rtl::OUString GetComment() const;
-    virtual String GetSdrRepeatComment(SdrView& rView) const;
+    void SetComment(const OUString& rStr) { aComment=rStr; }
+    void SetObjDescription(const OUString& rStr) { aObjDescription=rStr; }
+    virtual OUString GetComment() const;
+    virtual OUString GetSdrRepeatComment(SdrView& rView) const;
 
     virtual void Undo();
     virtual void Redo();
@@ -189,8 +189,8 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
-    virtual String GetSdrRepeatComment(SdrView& rView) const;
+    virtual OUString GetComment() const;
+    virtual OUString GetSdrRepeatComment(SdrView& rView) const;
 
     virtual void SdrRepeat(SdrView& rView);
     virtual bool CanSdrRepeat(SdrView& rView) const;
@@ -220,8 +220,8 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
-    virtual String GetSdrRepeatComment(SdrView& rView) const;
+    virtual OUString GetComment() const;
+    virtual OUString GetSdrRepeatComment(SdrView& rView) const;
 
     virtual void SdrRepeat(SdrView& rView);
     virtual bool CanSdrRepeat(SdrView& rView) const;
@@ -250,7 +250,7 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 };
 
 //************************************************************
@@ -336,8 +336,8 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
-    virtual String GetSdrRepeatComment(SdrView& rView) const;
+    virtual OUString GetComment() const;
+    virtual OUString GetSdrRepeatComment(SdrView& rView) const;
 
     virtual void SdrRepeat(SdrView& rView);
     virtual bool CanSdrRepeat(SdrView& rView) const;
@@ -360,9 +360,9 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 
-    static  rtl::OUString GetComment( const SdrObject& _rForObject );
+    static  OUString GetComment(const SdrObject& _rForObject);
 };
 
 //************************************************************
@@ -411,7 +411,7 @@ public:
     SdrUndoCopyObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
     :   SdrUndoNewObj(rNewObj,bOrdNumDirect) {}
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 };
 
 //************************************************************
@@ -430,7 +430,7 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 };
 
 //////////////////////////////////////////////////////////////////////////////
@@ -472,8 +472,8 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
-    virtual String GetSdrRepeatComment(SdrView& rView) const;
+    virtual OUString GetComment() const;
+    virtual OUString GetSdrRepeatComment(SdrView& rView) const;
 
     virtual void SdrRepeat(SdrView& rView);
     virtual bool CanSdrRepeat(SdrView& rView) const;
@@ -504,7 +504,7 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 };
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -555,7 +555,7 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 };
 
 //************************************************************
@@ -574,7 +574,7 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 };
 
 //************************************************************
@@ -595,7 +595,7 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 };
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -676,8 +676,8 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
-    virtual String GetSdrRepeatComment(SdrView& rView) const;
+    virtual OUString GetComment() const;
+    virtual OUString GetSdrRepeatComment(SdrView& rView) const;
 
     virtual void SdrRepeat(SdrView& rView);
     virtual bool CanSdrRepeat(SdrView& rView) const;
@@ -699,7 +699,7 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 };
 
 //************************************************************
@@ -715,8 +715,8 @@ class SdrUndoCopyPage : public SdrUndoNewPage
 public:
     SdrUndoCopyPage(SdrPage& rNewPg): SdrUndoNewPage(rNewPg) {}
 
-    virtual rtl::OUString GetComment() const;
-    virtual String GetSdrRepeatComment(SdrView& rView) const;
+    virtual OUString GetComment() const;
+    virtual OUString GetSdrRepeatComment(SdrView& rView) const;
 
     virtual void SdrRepeat(SdrView& rView);
     virtual bool CanSdrRepeat(SdrView& rView) const;
@@ -743,7 +743,7 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 };
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -796,7 +796,7 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 };
 
 //************************************************************
@@ -820,7 +820,7 @@ public:
     virtual void Undo();
     virtual void Redo();
 
-    virtual rtl::OUString GetComment() const;
+    virtual OUString GetComment() const;
 };
 
 ///////////////////////////////////////////////////////////////////////
diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx
index d58b170..4f74529 100644
--- a/svx/source/svdraw/svdundo.cxx
+++ b/svx/source/svdraw/svdundo.cxx
@@ -80,11 +80,11 @@ void SdrUndoAction::Repeat(SfxRepeatTarget& rView)
     DBG_ASSERT(pV!=NULL,"Repeat: SfxRepeatTarget that was handed over is not a SdrView");
 }
 
-XubString SdrUndoAction::GetRepeatComment(SfxRepeatTarget& rView) const
+OUString SdrUndoAction::GetRepeatComment(SfxRepeatTarget& rView) const
 {
     SdrView* pV=PTR_CAST(SdrView,&rView);
     if (pV!=NULL) return GetSdrRepeatComment(*pV);
-    return String();
+    return OUString();
 }
 
 bool SdrUndoAction::CanSdrRepeat(SdrView& /*rView*/) const
@@ -96,7 +96,7 @@ void SdrUndoAction::SdrRepeat(SdrView& /*rView*/)
 {
 }
 
-XubString SdrUndoAction::GetSdrRepeatComment(SdrView& /*rView*/) const
+OUString SdrUndoAction::GetSdrRepeatComment(SdrView& /*rView*/) const
 {
     return String();
 }
@@ -145,15 +145,9 @@ void SdrUndoGroup::Redo()
     }
 }
 
-rtl::OUString SdrUndoGroup::GetComment() const
+OUString SdrUndoGroup::GetComment() const
 {
-    XubString aRet(aComment);
-
-    String aSearchString(RTL_CONSTASCII_USTRINGPARAM("%1"));
-
-    aRet.SearchAndReplace(aSearchString, aObjDescription);
-
-    return aRet;
+    return aComment.replaceAll("%1", aObjDescription);
 }
 
 bool SdrUndoGroup::CanSdrRepeat(SdrView& rView) const
@@ -203,15 +197,9 @@ void SdrUndoGroup::SdrRepeat(SdrView& rView)
     } // switch
 }
 
-XubString SdrUndoGroup::GetSdrRepeatComment(SdrView& /*rView*/) const
+OUString SdrUndoGroup::GetSdrRepeatComment(SdrView& /*rView*/) const
 {
-    XubString aRet(aComment);
-
-    String aSearchString(RTL_CONSTASCII_USTRINGPARAM("%1"));
-
-    aRet.SearchAndReplace(aSearchString, ImpGetResStr(STR_ObjNameSingulPlural));
-
-    return aRet;
+    return aComment.replaceAll("%1", ImpGetResStr(STR_ObjNameSingulPlural));
 }
 
 SdrUndoObj::SdrUndoObj(SdrObject& rNewObj):
@@ -239,7 +227,6 @@ void SdrUndoObj::GetDescriptionStringForObject( const SdrObject& _rForObject, sa
         else
         {
             XubString aStr;
-
             _rForObject.TakeObjNameSingul(aStr);
             rStr.Insert(aStr, nPos);
         }
@@ -508,7 +495,7 @@ void SdrUndoAttrObj::Redo()
     ImpShowPageOfThisObject();
 }
 
-rtl::OUString SdrUndoAttrObj::GetComment() const
+OUString SdrUndoAttrObj::GetComment() const
 {
     XubString aStr;
 
@@ -537,7 +524,7 @@ bool SdrUndoAttrObj::CanSdrRepeat(SdrView& rView) const
     return (pRepeatSet!=0L && rView.AreObjectsMarked());
 }
 
-XubString SdrUndoAttrObj::GetSdrRepeatComment(SdrView& /*rView*/) const
+OUString SdrUndoAttrObj::GetSdrRepeatComment(SdrView& /*rView*/) const
 {
     XubString aStr;
 
@@ -573,7 +560,7 @@ void SdrUndoMoveObj::Redo()
     ImpShowPageOfThisObject();
 }
 
-rtl::OUString SdrUndoMoveObj::GetComment() const
+OUString SdrUndoMoveObj::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_EditMove,aStr);
@@ -590,7 +577,7 @@ bool SdrUndoMoveObj::CanSdrRepeat(SdrView& rView) const
     return rView.AreObjectsMarked();
 }
 
-XubString SdrUndoMoveObj::GetSdrRepeatComment(SdrView& /*rView*/) const
+OUString SdrUndoMoveObj::GetSdrRepeatComment(SdrView& /*rView*/) const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_EditMove,aStr,sal_True);
@@ -668,7 +655,7 @@ void SdrUndoGeoObj::Redo()
     ImpShowPageOfThisObject();
 }
 
-rtl::OUString SdrUndoGeoObj::GetComment() const
+OUString SdrUndoGeoObj::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_DragMethObjOwn,aStr);
@@ -822,7 +809,7 @@ void SdrUndoDelObj::Redo()
     SetOwner(sal_True);
 }
 
-rtl::OUString SdrUndoDelObj::GetComment() const
+OUString SdrUndoDelObj::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_EditDelete,aStr);
@@ -839,7 +826,7 @@ bool SdrUndoDelObj::CanSdrRepeat(SdrView& rView) const
     return rView.AreObjectsMarked();
 }
 
-XubString SdrUndoDelObj::GetSdrRepeatComment(SdrView& /*rView*/) const
+OUString SdrUndoDelObj::GetSdrRepeatComment(SdrView& /*rView*/) const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_EditDelete,aStr,sal_True);
@@ -862,14 +849,14 @@ void SdrUndoNewObj::Redo()
     SetOwner(sal_False);
 }
 
-rtl::OUString SdrUndoNewObj::GetComment( const SdrObject& _rForObject )
+OUString SdrUndoNewObj::GetComment( const SdrObject& _rForObject )
 {
     String sComment;
     GetDescriptionStringForObject( _rForObject, STR_UndoInsertObj, sComment );
     return sComment;
 }
 
-rtl::OUString SdrUndoNewObj::GetComment() const
+OUString SdrUndoNewObj::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoInsertObj,aStr);
@@ -967,7 +954,7 @@ void SdrUndoReplaceObj::SetOldOwner(bool bNew)
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
-rtl::OUString SdrUndoCopyObj::GetComment() const
+OUString SdrUndoCopyObj::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoCopyObj,aStr);
@@ -1031,7 +1018,7 @@ void SdrUndoObjOrdNum::Redo()
     ImpShowPageOfThisObject();
 }
 
-rtl::OUString SdrUndoObjOrdNum::GetComment() const
+OUString SdrUndoObjOrdNum::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoObjOrdNum,aStr);
@@ -1114,14 +1101,14 @@ void SdrUndoObjSetText::Redo()
     ImpShowPageOfThisObject();
 }
 
-rtl::OUString SdrUndoObjSetText::GetComment() const
+OUString SdrUndoObjSetText::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoObjSetText,aStr);
     return aStr;
 }
 
-XubString SdrUndoObjSetText::GetSdrRepeatComment(SdrView& /*rView*/) const
+OUString SdrUndoObjSetText::GetSdrRepeatComment(SdrView& /*rView*/) const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoObjSetText,aStr);
@@ -1233,7 +1220,7 @@ void SdrUndoObjStrAttr::Redo()
     ImpShowPageOfThisObject();
 }
 
-rtl::OUString SdrUndoObjStrAttr::GetComment() const
+OUString SdrUndoObjStrAttr::GetComment() const
 {
     String aStr;
     switch ( meObjStrAttr )
@@ -1299,7 +1286,7 @@ void SdrUndoNewLayer::Redo()
     pLayerAdmin->InsertLayer(pLayer,nNum);
 }
 
-rtl::OUString SdrUndoNewLayer::GetComment() const
+OUString SdrUndoNewLayer::GetComment() const
 {
     return ImpGetResStr(STR_UndoNewLayer);
 }
@@ -1324,7 +1311,7 @@ void SdrUndoDelLayer::Redo()
     DBG_ASSERT(pCmpLayer==pLayer,"SdrUndoDelLayer::Redo(): Removed layer is != pLayer.");
 }
 
-rtl::OUString SdrUndoDelLayer::GetComment() const
+OUString SdrUndoDelLayer::GetComment() const
 {
     return ImpGetResStr(STR_UndoDelLayer);
 }
@@ -1351,7 +1338,7 @@ void SdrUndoMoveLayer::Redo()
     pLayerAdmin->InsertLayer(pLayer,nNeuPos);
 }
 
-rtl::OUString SdrUndoMoveLayer::GetComment() const
+OUString SdrUndoMoveLayer::GetComment() const
 {
     return ImpGetResStr(STR_UndoMovLayer);
 }
@@ -1484,14 +1471,14 @@ void SdrUndoDelPage::Redo()
     bItsMine=sal_True;
 }
 
-rtl::OUString SdrUndoDelPage::GetComment() const
+OUString SdrUndoDelPage::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoDelPage,aStr,0,sal_False);
     return aStr;
 }
 
-XubString SdrUndoDelPage::GetSdrRepeatComment(SdrView& /*rView*/) const
+OUString SdrUndoDelPage::GetSdrRepeatComment(SdrView& /*rView*/) const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoDelPage,aStr,0,sal_False);
@@ -1523,7 +1510,7 @@ void SdrUndoNewPage::Redo()
     bItsMine=sal_False;
 }
 
-rtl::OUString SdrUndoNewPage::GetComment() const
+OUString SdrUndoNewPage::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoNewPage,aStr,0,sal_False);
@@ -1532,14 +1519,14 @@ rtl::OUString SdrUndoNewPage::GetComment() const
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
-rtl::OUString SdrUndoCopyPage::GetComment() const
+OUString SdrUndoCopyPage::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoCopPage,aStr,0,sal_False);
     return aStr;
 }
 
-XubString SdrUndoCopyPage::GetSdrRepeatComment(SdrView& /*rView*/) const
+OUString SdrUndoCopyPage::GetSdrRepeatComment(SdrView& /*rView*/) const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoCopPage,aStr,0,sal_False);
@@ -1568,7 +1555,7 @@ void SdrUndoSetPageNum::Redo()
     ImpMovePage(nOldPageNum,nNewPageNum);
 }
 
-rtl::OUString SdrUndoSetPageNum::GetComment() const
+OUString SdrUndoSetPageNum::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoMovPage,aStr,0,sal_False);
@@ -1612,7 +1599,7 @@ void SdrUndoPageRemoveMasterPage::Redo()
     mrPage.TRG_ClearMasterPage();
 }
 
-rtl::OUString SdrUndoPageRemoveMasterPage::GetComment() const
+OUString SdrUndoPageRemoveMasterPage::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoDelPageMasterDscr,aStr,0,sal_False);
@@ -1657,7 +1644,7 @@ void SdrUndoPageChangeMasterPage::Redo()
     }
 }
 
-rtl::OUString SdrUndoPageChangeMasterPage::GetComment() const
+OUString SdrUndoPageChangeMasterPage::GetComment() const
 {
     XubString aStr;
     ImpTakeDescriptionStr(STR_UndoChgPageMasterDscr,aStr,0,sal_False);
commit fac4bed44bb22d4ccdab1dd08fac597b39ea2ba4
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 27 15:06:29 2012 +0100

    fix up merge
    
    Change-Id: I1ce7e72c2c0d1a2cf56df66197510e6870c18047

diff --git a/sw/source/ui/cctrl/actctrl.cxx b/sw/source/ui/cctrl/actctrl.cxx
index 34f9d5d..18c2ac4 100644
--- a/sw/source/ui/cctrl/actctrl.cxx
+++ b/sw/source/ui/cctrl/actctrl.cxx
@@ -67,7 +67,7 @@ NoSpaceEdit::NoSpaceEdit( Window* pParent, const ResId& rResId)
 
 NoSpaceEdit::NoSpaceEdit(Window* pParent)
     : Edit(pParent),
-    sForbiddenChars(String::CreateFromAscii(" "))
+    sForbiddenChars(rtl::OUString(" "))
 {
 }
 
diff --git a/sw/source/ui/dialog/wordcountdialog.cxx b/sw/source/ui/dialog/wordcountdialog.cxx
index 98703d6..c8778c9 100644
--- a/sw/source/ui/dialog/wordcountdialog.cxx
+++ b/sw/source/ui/dialog/wordcountdialog.cxx
@@ -125,7 +125,7 @@ void SwWordCountFloatDlg::UpdateCounts()
 
 void SwWordCountFloatDlg::SetCounts(const SwDocStat &rCurrCnt, const SwDocStat &rDocStat)
 {
-    aDlg.SetValues(rCurrCnt, rDocStat);
+    SetValues(rCurrCnt, rDocStat);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/misc/srtdlg.cxx b/sw/source/ui/misc/srtdlg.cxx
index 8e8c9fb..419dbc2 100644
--- a/sw/source/ui/misc/srtdlg.cxx
+++ b/sw/source/ui/misc/srtdlg.cxx
@@ -233,7 +233,7 @@ SwSortDlg::SwSortDlg(Window* pParent, SwWrtShell &rShell)
     if(!m_pDelimTabRB->IsChecked())
     {
         m_pDelimEdt->SetText(rtl::OUString(cDeli));
-        m_pDelimEdt->Check(sal_True);
+        m_pDelimFreeRB->Check(sal_True);
         DelimHdl(m_pDelimFreeRB);
     }
     else
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index b125c2d..c6761c0 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -128,10 +128,6 @@ Size VclBox::calculateRequisition() const
 
 void VclBox::setAllocation(const Size &rAllocation)
 {
-    //SetBackground( Color(0x00, 0xFF, 0x00) );
-
-    rtl::OString sExpand(RTL_CONSTASCII_STRINGPARAM("expand"));
-
     sal_uInt16 nVisibleChildren = 0, nExpandChildren = 0;
     for (Window *pChild = GetWindow(WINDOW_FIRSTCHILD); pChild; pChild = pChild->GetWindow(WINDOW_NEXT))
     {
@@ -160,10 +156,6 @@ void VclBox::setAllocation(const Size &rAllocation)
         nExtraSpace = (getPrimaryDimension(rAllocation) - getPrimaryDimension(aRequisition)) / nExpandChildren;
     }
 
-    rtl::OString sPadding(RTL_CONSTASCII_STRINGPARAM("padding"));
-    rtl::OString sPackType(RTL_CONSTASCII_STRINGPARAM("pack-type"));
-    rtl::OString sFill(RTL_CONSTASCII_STRINGPARAM("fill"));
-
     for (sal_Int32 ePackType = VCL_PACK_START; ePackType <= VCL_PACK_END; ++ePackType)
     {
         Point aPos(0, 0);
commit 478a4a3ca4e5b540aacfb3b7e6464eb54336cb67
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 27 14:24:07 2012 +0100

    adapt ThumbnailView::ImplInitScrollBar
    
    Change-Id: I6b675874fd683f1c9311322c4662f33380f9c113

diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index 5d05f67..6741b59 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -184,7 +184,7 @@ void ThumbnailView::ImplInitScrollBar()
         {
             // adapt the width because of the changed settings
             long nScrBarWidth = GetSettings().GetStyleSettings().GetScrollBarSize();
-            mpScrBar->SetPosSizePixel( 0, 0, nScrBarWidth, 0, WINDOW_POSSIZE_WIDTH );
+            mpScrBar->setPosSizePixel( 0, 0, nScrBarWidth, 0, WINDOW_POSSIZE_WIDTH );
         }
     }
 }
commit aee968e3540faefeaba27832a3b537a512ba1fed
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 27 14:09:21 2012 +0100

    adapt uipreviewer for ucbhelper change
    
    Change-Id: I60463d107d49ecc78053dd2592fc207164708040

diff --git a/vcl/source/uipreviewer/previewer.cxx b/vcl/source/uipreviewer/previewer.cxx
index 2432986..dc16a2a 100644
--- a/vcl/source/uipreviewer/previewer.cxx
+++ b/vcl/source/uipreviewer/previewer.cxx
@@ -10,11 +10,10 @@
 #include <com/sun/star/lang/XComponent.hpp>
 #include <com/sun/star/lang/XMultiComponentFactory.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/ucb/UniversalContentBroker.hpp>
 #include <comphelper/processfactory.hxx>
 #include <cppuhelper/bootstrap.hxx>
 #include <osl/file.hxx>
-#include <ucbhelper/configurationkeys.hxx>
-#include <ucbhelper/contentbroker.hxx>
 #include <vcl/builder.hxx>
 #include <vcl/dialog.hxx>
 #include <vcl/help.hxx>
@@ -52,11 +51,10 @@ int UIPreviewApp::Main()
         uno::Reference<lang::XMultiServiceFactory> (xFactory, uno::UNO_QUERY_THROW);
     comphelper::setProcessServiceFactory(xSFactory);
 
-    // Create UCB.
-    uno::Sequence< uno::Any > aArgs(2);
-    aArgs[ 0 ] <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UCB_CONFIGURATION_KEY1_LOCAL));
-    aArgs[ 1 ] <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UCB_CONFIGURATION_KEY2_OFFICE));
-    ::ucbhelper::ContentBroker::initialize(xSFactory, aArgs);
+    // Create UCB (for backwards compatibility, in case some code still uses
+    // plain createInstance w/o args directly to obtain an instance):
+    ::ucb::UniversalContentBroker::create(
+        comphelper::getProcessComponentContext() );
 
     // turn on tooltips
     Help::EnableQuickHelp();
@@ -88,9 +86,6 @@ int UIPreviewApp::Main()
     }
     return false;
 
-
-    ::ucbhelper::ContentBroker::deinitialize();
-
     return EXIT_SUCCESS;
 }
 
commit 9582aa03c5631f1a2b3fbe9a3001644f8ec3f33d
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 27 13:52:37 2012 +0100

    mbHasFocus renamed to mbHasControlFocus
    
    Change-Id: I44d37c490ca0554d9f5b286ffb79b65f1c3d1914

diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx
index 537d856..6bf3e15 100644
--- a/vcl/source/control/ctrl.cxx
+++ b/vcl/source/control/ctrl.cxx
@@ -93,7 +93,7 @@ void Control::take_properties(Window &rOther)
 
     Control &rOtherControl = static_cast<Control&>(rOther);
     std::swap(mpControlData, rOtherControl.mpControlData);
-    mbHasFocus = rOtherControl.mbHasFocus;
+    mbHasControlFocus = rOtherControl.mbHasControlFocus;
 }
 
 // -----------------------------------------------------------------------
commit 0cd2f00aeecf7bd9d017a3d5719196a422b0c64c
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 27 13:38:37 2012 +0100

    have to register exslt handlers for string::tokenize
    
    Change-Id: If761ebd095ef0ac14c6d659411eb63157eb8dd27

diff --git a/l10ntools/Executable_uiex.mk b/l10ntools/Executable_uiex.mk
index 4d3d245..847d89a 100644
--- a/l10ntools/Executable_uiex.mk
+++ b/l10ntools/Executable_uiex.mk
@@ -27,7 +27,7 @@ $(eval $(call gb_Executable_add_exception_objects,uiex,\
 ))
 
 $(eval $(call gb_Executable_use_externals,uiex,\
-    libxslt \
+    libexslt \
     libxml2 \
 ))
 
diff --git a/l10ntools/source/uimerge.cxx b/l10ntools/source/uimerge.cxx
index 7334b40..bdf536a 100644
--- a/l10ntools/source/uimerge.cxx
+++ b/l10ntools/source/uimerge.cxx
@@ -11,6 +11,7 @@
 
 #include <rtl/strbuf.hxx>
 
+#include <libexslt/exslt.h>
 #include <libxslt/transform.h>
 #include <libxslt/xslt.h>
 #include <libxslt/xsltutils.h>
@@ -129,6 +130,8 @@ int extractTranslations()
         return 1;
     }
 
+    exsltRegisterAll();
+
     rtl::OString sActFileName = common::pathnameToken(sInputFileName.getStr(), sPrjRoot.getStr());
 
     rtl::OString sStyleSheet = rtl::OString(getenv("SRC_ROOT"))  + rtl::OString("/solenv/bin/uilangfilter.xslt");
commit be23f7fbb872eb9e1151a722348b039bc65ea4cb
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 27 09:38:41 2012 +0100

    sort child positions within parents according to grid position
    
    so that tabbing between widgets jumps between then in a sensible
    order
    
    Change-Id: I852f4fb08781da2b703f8f87e84abdf4c366fa26

diff --git a/vcl/inc/vcl/builder.hxx b/vcl/inc/vcl/builder.hxx
index bd5cd6e..a84f6d1 100644
--- a/vcl/inc/vcl/builder.hxx
+++ b/vcl/inc/vcl/builder.hxx
@@ -1,30 +1,12 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*
- * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ * This file is part of the LibreOffice project.
  *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Initial Developer of the Original Code is
- *        Caolán McNamara <caolanm at redhat.com> (Red Hat, Inc.)
- * Portions created by the Initial Developer are Copyright (C) 2011 the
- * Initial Developer. All Rights Reserved.
- *
- * Contributor(s): Caolán McNamara <caolanm at redhat.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
- * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
- * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
- * instead of those above.
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
+
 #ifndef _VCLBUILDER_HXX
 #define _VCLBUILDER_HXX
 
diff --git a/vcl/inc/vcl/layout.hxx b/vcl/inc/vcl/layout.hxx
index 4735528..9e869a3 100644
--- a/vcl/inc/vcl/layout.hxx
+++ b/vcl/inc/vcl/layout.hxx
@@ -1,30 +1,12 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*
- * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ * This file is part of the LibreOffice project.
  *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Initial Developer of the Original Code is
- *        Caolán McNamara <caolanm at redhat.com> (Red Hat, Inc.)
- * Portions created by the Initial Developer are Copyright (C) 2011 the
- * Initial Developer. All Rights Reserved.
- *
- * Contributor(s): Caolán McNamara <caolanm at redhat.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
- * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
- * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
- * instead of those above.
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
+
 #ifndef _VCLLAYOUT_HXX
 #define _VCLLAYOUT_HXX
 
diff --git a/vcl/source/uipreviewer/previewer.cxx b/vcl/source/uipreviewer/previewer.cxx
index 42c0353..2432986 100644
--- a/vcl/source/uipreviewer/previewer.cxx
+++ b/vcl/source/uipreviewer/previewer.cxx
@@ -1,29 +1,10 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*
- * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ * This file is part of the LibreOffice project.
  *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Initial Developer of the Original Code is
- *        Caolán McNamara <caolanm at redhat.com> (Red Hat, Inc.)
- * Portions created by the Initial Developer are Copyright (C) 2011 the
- * Initial Developer. All Rights Reserved.
- *
- * Contributor(s): Caolán McNamara <caolanm at redhat.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
- * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
- * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
- * instead of those above.
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
 #include <com/sun/star/lang/XComponent.hpp>
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 31e72ce..33e43b6 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -1,29 +1,10 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*
- * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ * This file is part of the LibreOffice project.
  *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Initial Developer of the Original Code is
- *        Caolán McNamara <caolanm at redhat.com> (Red Hat, Inc.)
- * Portions created by the Initial Developer are Copyright (C) 2012 the
- * Initial Developer. All Rights Reserved.
- *
- * Contributor(s): Caolán McNamara <caolanm at redhat.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
- * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
- * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
- * instead of those above.
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
 #include <osl/module.hxx>
@@ -767,6 +748,22 @@ void VclBuilder::handleTabChild(Window *pParent, xmlreader::XmlReader &reader)
         pTabControl->RemovePage(pTabControl->GetCurPageId());
 }
 
+namespace
+{
+    bool sortByGridPositions(Window *pA, Window *pB)
+    {
+        sal_Int32 nTopA = pA->get_grid_top_attach();
+        sal_Int32 nTopB = pB->get_grid_top_attach();
+        if (nTopA < nTopB)
+            return true;
+        if (nTopA > nTopB)
+            return false;
+        sal_Int32 nLeftA = pA->get_grid_left_attach();
+        sal_Int32 nLeftB = pB->get_grid_left_attach();
+        return nLeftA < nLeftB;
+    }
+}
+
 void VclBuilder::handleChild(Window *pParent, xmlreader::XmlReader &reader)
 {
     Window *pCurrentChild = NULL;
@@ -818,8 +815,6 @@ void VclBuilder::handleChild(Window *pParent, xmlreader::XmlReader &reader)
                     {
                         //To-Do make reorder a virtual in Window, move this foo
                         //there and see above
-
-                        rtl::OString sPosition(RTL_CONSTASCII_STRINGPARAM("position"));
                         std::vector<Window*> aChilds;
                         for (Window* pChild = pCurrentChild->GetWindow(WINDOW_FIRSTCHILD); pChild;
                             pChild = pChild->GetWindow(WINDOW_NEXT))
@@ -827,26 +822,20 @@ void VclBuilder::handleChild(Window *pParent, xmlreader::XmlReader &reader)
                             aChilds.push_back(pChild);
                         }
 
+                        //sort child order within parent list by grid position
+                        //so that tabbing between controls goes in a visually sensible sequence
+                        std::stable_sort(aChilds.begin(), aChilds.end(), sortByGridPositions);
                         for (size_t i = 0; i < aChilds.size(); ++i)
-                        {
-                            sal_Int32 nPosition = get_window_packing_position(aChilds[i]);
-                            if (nPosition == -1)
-                                continue;
-                            reorderWithinParent(*aChilds[i], nPosition);
-                        }
+                            reorderWithinParent(*aChilds[i], i);
 
-#if TODO
-//sort by ltr ttb
-                        rtl::OString sLeftAttach(RTL_CONSTASCII_STRINGPARAM("left-attach"));
-                        rtl::OString sTopAttach(RTL_CONSTASCII_STRINGPARAM("top-attach"));
+                        //honour box positions if there is any
                         for (size_t i = 0; i < aChilds.size(); ++i)
                         {
-                            sal_uInt16 nPosition = aChilds[i]->getWidgetProperty<sal_uInt16>(sPosition, 0xFFFF);
-                            if (nPosition == 0xFFFF)
+                            sal_Int32 nPosition = get_window_packing_position(aChilds[i]);
+                            if (nPosition == -1)
                                 continue;
                             reorderWithinParent(*aChilds[i], nPosition);
                         }
-#endif
                     }
                 }
             }
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index d20cede..b125c2d 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -1,29 +1,10 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*
- * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ * This file is part of the LibreOffice project.
  *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Initial Developer of the Original Code is
- *        Caolán McNamara <caolanm at redhat.com> (Red Hat, Inc.)
- * Portions created by the Initial Developer are Copyright (C) 2011 the
- * Initial Developer. All Rights Reserved.
- *
- * Contributor(s): Caolán McNamara <caolanm at redhat.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
- * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
- * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
- * instead of those above.
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
 #include <vcl/dialog.hxx>
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 07311a9..d874d81 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -640,8 +640,8 @@ void Window::ImplInitWindowData( WindowType nType )
     mpWindowImpl->mePackType          = VCL_PACK_START;
     mpWindowImpl->mnPadding           = 0;
     mpWindowImpl->mnGridHeight        = 1;
-    mpWindowImpl->mnGridLeftAttach    = 0;
-    mpWindowImpl->mnGridTopAttach     = 0;
+    mpWindowImpl->mnGridLeftAttach    = -1;
+    mpWindowImpl->mnGridTopAttach     = -1;
     mpWindowImpl->mnGridWidth         = 1;
     mpWindowImpl->mnBorderWidth       = 0;
     mpWindowImpl->mnMarginLeft        = 0;
commit 0c430547d8eaca42e0a4875c9a201c202f1d2aa6
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Sep 26 21:35:55 2012 +0100

    truly skip unshown widgets in tab traversal
    
    make tab traversal of dialog widgets hidden because their containers are hidden
    and/or disabled
    
    Change-Id: I1947584717030f3703c018cbf05235811df7835e

diff --git a/vcl/inc/vcl/layout.hxx b/vcl/inc/vcl/layout.hxx
index 34c5696..4735528 100644
--- a/vcl/inc/vcl/layout.hxx
+++ b/vcl/inc/vcl/layout.hxx
@@ -483,6 +483,12 @@ Window* getNonLayoutParent(Window *pParent);
 //Get first real parent which is not a layout widget
 Window* getNonLayoutRealParent(Window *pParent);
 
+//return true if this window and its stack of containers are all shown
+bool isVisibleInLayout(const Window *pWindow);
+
+//return true if this window and its stack of containers are all enabled
+bool isEnabledInLayout(const Window *pWindow);
+
 //Get next window after pChild of a pTopLevel window as
 //if any intermediate layout widgets didn't exist
 //i.e. acts like pChild = pChild->GetWindow(WINDOW_NEXT);
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index 807f9d6..da9482c 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -1123,8 +1123,8 @@ void Dialog::GrabFocusToFirstControl()
     // Control in der TabSteuerung den Focus geben
     if ( !pFocusControl ||
          !(pFocusControl->GetStyle() & WB_TABSTOP) ||
-         !pFocusControl->IsVisible() ||
-         !pFocusControl->IsEnabled() || !pFocusControl->IsInputEnabled() )
+         !isVisibleInLayout(pFocusControl) ||
+         !isEnabledInLayout(pFocusControl) || !pFocusControl->IsInputEnabled() )
     {
         sal_uInt16 n = 0;
         pFocusControl = ImplGetDlgWindow( n, DLGWINDOW_FIRST );
diff --git a/vcl/source/window/dlgctrl.cxx b/vcl/source/window/dlgctrl.cxx
index 8a47e59..a1b2f81 100644
--- a/vcl/source/window/dlgctrl.cxx
+++ b/vcl/source/window/dlgctrl.cxx
@@ -94,7 +94,7 @@ static Window* ImplGetSubChildWindow( Window* pParent, sal_uInt16 n, sal_uInt16&
         pWindow = pWindow->ImplGetWindow();
 
         // Unsichtbare und disablte Fenster werden uebersprungen
-        if ( pTabPage || pWindow->IsVisible() )
+        if ( pTabPage || isVisibleInLayout(pWindow) )
         {
             // Wenn das letzte Control ein TabControl war, wird von
             // diesem die TabPage genommen
@@ -167,7 +167,7 @@ static Window* ImplGetChildWindow( Window* pParent, sal_uInt16 n, sal_uInt16& nI
     if ( bTestEnable )
     {
         sal_uInt16 n2 = nIndex;
-        while ( pWindow && (!pWindow->IsEnabled() || !pWindow->IsInputEnabled()) )
+        while ( pWindow && (!isEnabledInLayout(pWindow) || !pWindow->IsInputEnabled()) )
         {
             n2 = nIndex+1;
             nIndex = 0;
@@ -184,7 +184,7 @@ static Window* ImplGetChildWindow( Window* pParent, sal_uInt16 n, sal_uInt16& nI
                 nIndex = 0;
                 pWindow = ImplGetSubChildWindow( pParent, n, nIndex );
             }
-            while ( pWindow && n && (!pWindow->IsEnabled() || !pWindow->IsInputEnabled()) );
+            while ( pWindow && n && (!isEnabledInLayout(pWindow) || !pWindow->IsInputEnabled()) );
         }
     }
     return pWindow;
@@ -278,7 +278,7 @@ Window* Window::ImplGetDlgWindow( sal_uInt16 nIndex, sal_uInt16 nType,
                 while ( (i != nStartIndex) && (i != nStartIndex2) );
 
                 if ( (i == nStartIndex2) &&
-                     (!(pWindow->GetStyle() & WB_TABSTOP) || !pWindow->IsEnabled()) )
+                     (!(pWindow->GetStyle() & WB_TABSTOP) || !isEnabledInLayout(pWindow)) )
                     i = nStartIndex;
             }
         }
@@ -816,7 +816,7 @@ sal_Bool Window::ImplDlgCtrl( const KeyEvent& rKEvt, sal_Bool bKeyInput )
 
                     nStyle = pWindow->GetStyle();
 
-                    if ( pWindow->IsVisible() && pWindow->IsEnabled() && pWindow->IsInputEnabled() )
+                    if ( isVisibleInLayout(pWindow) && isEnabledInLayout(pWindow) && pWindow->IsInputEnabled() )
                     {
                         if ( pWindow != pSWindow )
                             pWindow->ImplControlFocus( GETFOCUS_CURSOR | GETFOCUS_BACKWARD );
@@ -842,7 +842,7 @@ sal_Bool Window::ImplDlgCtrl( const KeyEvent& rKEvt, sal_Bool bKeyInput )
                 if ( nStyle & WB_GROUP )
                     break;
 
-                if ( pWindow->IsVisible() && pWindow->IsEnabled() && pWindow->IsInputEnabled() )
+                if ( isVisibleInLayout(pWindow) && isEnabledInLayout(pWindow) && pWindow->IsInputEnabled() )
                 {
                     pWindow->ImplControlFocus( GETFOCUS_CURSOR | GETFOCUS_BACKWARD );
                     return sal_True;
@@ -869,7 +869,7 @@ sal_Bool Window::ImplDlgCtrl( const KeyEvent& rKEvt, sal_Bool bKeyInput )
         }
     }
 
-    if ( pButtonWindow && pButtonWindow->IsVisible() && pButtonWindow->IsEnabled() && pButtonWindow->IsInputEnabled() )
+    if ( pButtonWindow && isVisibleInLayout(pButtonWindow) && isEnabledInLayout(pButtonWindow) && pButtonWindow->IsInputEnabled() )
     {
         if ( bKeyInput )
         {
@@ -1102,7 +1102,7 @@ static Window* ImplGetLabelFor( Window* pFrameWindow, WindowType nMyType, Window
                                                  nIndex,
                                                  nIndex,
                                                  sal_False );
-                if( pSWindow && pSWindow->IsVisible() && ! (pSWindow->GetStyle() & WB_NOLABEL) )
+                if( pSWindow && isVisibleInLayout(pSWindow) && ! (pSWindow->GetStyle() & WB_NOLABEL) )
                 {
                     WindowType nType = pSWindow->GetType();
                     if( nType != WINDOW_FIXEDTEXT   &&
@@ -1192,7 +1192,7 @@ static Window* ImplGetLabeledBy( Window* pFrameWindow, WindowType nMyType, Windo
                                                  nSearchIndex,
                                                  nFoundIndex,
                                                  sal_False );
-                if( pSWindow && pSWindow->IsVisible() && !(pSWindow->GetStyle() & WB_NOLABEL) )
+                if( pSWindow && isVisibleInLayout(pSWindow) && !(pSWindow->GetStyle() & WB_NOLABEL) )
                 {
                     WindowType nType = pSWindow->GetType();
                     if ( ( nType == WINDOW_FIXEDTEXT    ||
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index 2fa259b..d20cede 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -1094,4 +1094,30 @@ Window* getNonLayoutRealParent(Window *pWindow)
     return pWindow;
 }
 
+bool isVisibleInLayout(const Window *pWindow)
+{
+    bool bVisible = true;
+    while (bVisible)
+    {
+        bVisible = pWindow->IsVisible();
+        pWindow = pWindow->GetParent();
+        if (!pWindow || pWindow->GetType() != WINDOW_CONTAINER)
+            break;
+    }
+    return bVisible;
+}
+
+bool isEnabledInLayout(const Window *pWindow)
+{
+    bool bEnabled = true;
+    while (bEnabled)
+    {
+        bEnabled = pWindow->IsEnabled();
+        pWindow = pWindow->GetParent();
+        if (!pWindow || pWindow->GetType() != WINDOW_CONTAINER)
+            break;
+    }
+    return bEnabled;
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 03e4a93815b3ab60d767c9b8cdc3b816cde24706
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Sep 26 16:14:28 2012 +0100

    defer initializing dialog until sizeable/unsizeable is known
    
    we have to defer initializing the dialog until we have determined the
    sizeable/unsizable info as we can't change it after the fact
    
    Change-Id: I27c90f8f92953d919b36cddc6a99fae9d7db47eb

diff --git a/vcl/inc/vcl/dialog.hxx b/vcl/inc/vcl/dialog.hxx
index deea9c7..6316322 100644
--- a/vcl/inc/vcl/dialog.hxx
+++ b/vcl/inc/vcl/dialog.hxx
@@ -80,6 +80,7 @@ protected:
 public:
     SAL_DLLPRIVATE sal_Bool    IsInClose() const { return mbInClose; }
     SAL_DLLPRIVATE bool hasPendingLayout() const { return maLayoutTimer.IsActive(); }
+    SAL_DLLPRIVATE void doDeferredInit(bool bResizable);
 
 protected:
                     Dialog( WindowType nType );
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 3e9ed91..31e72ce 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -203,6 +203,18 @@ namespace
         return sPattern;
     }
 
+    bool extractResizable(VclBuilder::stringmap &rMap)
+    {
+        bool bResizable = true;
+        VclBuilder::stringmap::iterator aFind = rMap.find(rtl::OString(RTL_CONSTASCII_STRINGPARAM("resizable")));
+        if (aFind != rMap.end())
+        {
+            bResizable = toBool(aFind->second);
+            rMap.erase(aFind);
+        }
+        return bResizable;
+    }
+
     bool extractOrientation(VclBuilder::stringmap &rMap)
     {
         bool bVertical = false;
@@ -432,7 +444,12 @@ Window *VclBuilder::makeObject(Window *pParent, const rtl::OString &name, const
 
     Window *pWindow = NULL;
     if (name.equalsL(RTL_CONSTASCII_STRINGPARAM("GtkDialog")))
-        pWindow = new Dialog(pParent, WB_SIZEMOVE|WB_3DLOOK|WB_CLOSEABLE);
+    {
+        WinBits nBits = WB_MOVEABLE|WB_3DLOOK|WB_CLOSEABLE;
+        if (extractResizable(rMap))
+            nBits |= WB_SIZEABLE;
+        pWindow = new Dialog(pParent, nBits);
+    }
     else if (name.equalsL(RTL_CONSTASCII_STRINGPARAM("GtkBox")))
     {
         if (extractOrientation(rMap))
@@ -601,7 +618,10 @@ Window *VclBuilder::insertObject(Window *pParent, const rtl::OString &rClass, co
         pCurrentChild = m_pParent;
         //toplevels default to resizable
         if (pCurrentChild->IsDialog())
-            pCurrentChild->SetStyle(pCurrentChild->GetStyle() | WB_SIZEMOVE | WB_3DLOOK);
+        {
+            Dialog *pDialog = (Dialog*)pCurrentChild;
+            pDialog->doDeferredInit(extractResizable(rMap));
+        }
         if (pCurrentChild->GetHelpId().isEmpty())
         {
             pCurrentChild->SetHelpId(m_sHelpRoot + m_sID);
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index a47f338..807f9d6 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -504,19 +504,31 @@ rtl::OUString VclBuilderContainer::getUIRootDir()
     return sShareLayer;
 }
 
+//we can't change sizeable after the fact, so need to defer until we know and then
+//do the init. Find the real parent stashed in mpDialogParent.
+void Dialog::doDeferredInit(bool bResizable)
+{
+    WinBits nBits = WB_3DLOOK|WB_CLOSEABLE|WB_MOVEABLE;
+    if (bResizable)
+        nBits |= WB_SIZEABLE;
+    Window *pParent = mpDialogParent;
+    mpDialogParent = NULL;
+    ImplInit(pParent, nBits);
+}
+
 Dialog::Dialog(Window* pParent, const rtl::OString& rID, const rtl::OUString& rUIXMLDescription)
     : SystemWindow( WINDOW_DIALOG )
+    , mpDialogParent(pParent) //will be unset in doDeferredInit
 {
     ImplInitDialogData();
-    ImplInit(pParent, WB_SIZEMOVE|WB_3DLOOK|WB_CLOSEABLE);
     m_pUIBuilder = new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID);
 }
 
 Dialog::Dialog(Window* pParent, const rtl::OString& rID, const rtl::OUString& rUIXMLDescription, WindowType nType)
     : SystemWindow( nType )
+    , mpDialogParent(pParent) //will be unset in doDeferredInit
 {
     ImplInitDialogData();
-    ImplInit(pParent, WB_SIZEMOVE|WB_3DLOOK|WB_CLOSEABLE);
     m_pUIBuilder = new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID);
 }
 
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index 4edc3e9..c7189d3 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -1967,9 +1967,9 @@ bool Window::set_property(const rtl::OString &rKey, const rtl::OString &rValue)
     else if (rKey.equalsL(RTL_CONSTASCII_STRINGPARAM("resizable")))
     {
         WinBits nBits = GetStyle();
-        nBits &= ~(WB_SIZEMOVE);
+        nBits &= ~(WB_SIZEABLE);
         if (toBool(rValue))
-            nBits |= WB_SIZEMOVE;
+            nBits |= WB_SIZEABLE;
         SetStyle(nBits);
     }
     else if (rKey.equalsL(RTL_CONSTASCII_STRINGPARAM("xalign")))
commit 2f6e8daf883fe67a1cebc2cdf9d54e41b064a55c
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Sep 26 15:31:01 2012 +0100

    adapt insert character dialog to new layout
    
    Change-Id: I5561c2684d0957b65aef0d139e9210ebdd703153

diff --git a/cui/AllLangResTarget_cui.mk b/cui/AllLangResTarget_cui.mk
index 840193f..4af4058 100644
--- a/cui/AllLangResTarget_cui.mk
+++ b/cui/AllLangResTarget_cui.mk
@@ -55,7 +55,6 @@ $(eval $(call gb_SrsTarget_add_files,cui/res,\
     cui/source/customize/macropg.src \
     cui/source/customize/selector.src \
     cui/source/dialogs/about.src \
-    cui/source/dialogs/charmap.src \
     cui/source/dialogs/colorpicker.src \
     cui/source/dialogs/commonlingui.src \
     cui/source/dialogs/cuiimapdlg.src \
diff --git a/cui/UI_cui.mk b/cui/UI_cui.mk
index 89e1a6a..c2d51e6 100644
--- a/cui/UI_cui.mk
+++ b/cui/UI_cui.mk
@@ -13,6 +13,7 @@ $(eval $(call gb_UI_add_uifiles,cui,\
 	cui/uiconfig/ui/charnamepage \
 	cui/uiconfig/ui/effectspage \
 	cui/uiconfig/ui/positionpage \
+	cui/uiconfig/ui/specialcharacters \
 	cui/uiconfig/ui/twolinespage \
 	cui/uiconfig/ui/zoomdialog \
 ))
diff --git a/cui/source/dialogs/charmap.hrc b/cui/source/dialogs/charmap.hrc
deleted file mode 100644
index c317612..0000000
--- a/cui/source/dialogs/charmap.hrc
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-#ifndef _SVX_CHARMAP_HRC
-#define _SVX_CHARMAP_HRC
-
-// defines ------------------------------------------------------------------
-
-#define CT_SHOWSET      10
-#define FT_FONT         11
-#define LB_FONT         12
-#define CT_SHOWTEXT     13
-#define FT_SYMBOLE      14
-#define CT_SHOWCHAR     15
-#define FT_CHARCODE     16
-#define BTN_CHAR_OK     17
-#define BTN_CHAR_CANCEL 18
-#define BTN_CHAR_HELP   19
-#define BTN_DELETE      20
-#define FT_SUBSET       30
-#define LB_SUBSET       31
-#define ED_SHORTCUT     32
-#define BT_ASSIGN       33
-#define FT_ASSIGN       34
-
-#endif
-
diff --git a/cui/source/dialogs/charmap.src b/cui/source/dialogs/charmap.src
deleted file mode 100644
index 845b5d2..0000000
--- a/cui/source/dialogs/charmap.src
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <cuires.hrc>
-#include "charmap.hrc"
-#include "helpid.hrc"
-#include <svx/dialogs.hrc> // for RID_SVXDLG_CHARMAP
-
- // RID_SVXDLG_CHARMAP ----------------------------------------------------
-ModalDialog RID_SVXDLG_CHARMAP
-{
-    HelpId = CMD_SID_CHARMAP ;
-    SvLook = TRUE ;
-    Text [ en-US ] = "Special Characters";
-    Size = MAP_APPFONT ( 297 , 153 ) ;
-    OutputSize = TRUE ;
-    Moveable = TRUE ;
-    Control CT_SHOWSET
-    {
-        HelpId = HID_CHARMAP_CTL_SHOWSET ;
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 , 24 ) ;
-        Size = MAP_APPFONT ( 230 , 112 ) ;
-        TabStop = TRUE ;
-        Group = TRUE ;
-    };
-    FixedText FT_FONT
-    {
-        Pos = MAP_APPFONT ( 6 , 8 ) ;
-        Size = MAP_APPFONT ( 33 , 8 ) ;
-        Text [ en-US ] = "~Font" ;
-        Left = TRUE ;
-        Group = TRUE ;
-    };
-    ListBox LB_FONT
-    {
-        HelpID = "cui:ListBox:RID_SVXDLG_CHARMAP:LB_FONT";
-        Pos = MAP_APPFONT ( 42 , 6 ) ;
-        Size = MAP_APPFONT ( 70 , 58 ) ;
-        Sort = TRUE ;
-        TabStop = TRUE ;
-        DropDown = TRUE ;
-    };
-    FixedText FT_SUBSET
-    {
-        Pos = MAP_APPFONT ( 118 , 8 ) ;
-        Size = MAP_APPFONT ( 42 , 8 ) ;
-        Text [ en-US ] = "~Subset";
-    };
-    ListBox LB_SUBSET
-    {
-        HelpID = "cui:ListBox:RID_SVXDLG_CHARMAP:LB_SUBSET";
-        Pos = MAP_APPFONT ( 161 , 6 ) ;
-        Size = MAP_APPFONT ( 63 , 68 ) ;
-        Sort = FALSE ;
-        TabStop = TRUE ;
-        DropDown = TRUE ;
-    };
-    FixedText FT_SYMBOLE
-    {
-        Pos = MAP_APPFONT ( 6 , 140 ) ;
-        Size = MAP_APPFONT ( 38 , 8 ) ;
-        Left = TRUE ;
-        Text [ en-US ] = "Characters:";
-    };
-    Control CT_SHOWTEXT
-    {
-        HelpId = HID_CHARMAP_CTL_SHOWTEXT ;
-        Pos = MAP_APPFONT ( 46 , 137 ) ;
-        Size = MAP_APPFONT ( 244 , 16 ) ;
-        Group = TRUE ;
-    };
-    Control CT_SHOWCHAR
-    {
-        HelpId = HID_CHARMAP_CTL_SHOWCHAR ;
-        Pos = MAP_APPFONT ( 241 , 79 ) ;
-        Size = MAP_APPFONT ( 50 , 44 ) ;
-        Group = TRUE ;
-    };
-    FixedText FT_CHARCODE
-    {
-        Pos = MAP_APPFONT ( 241 , 126 ) ;
-        Size = MAP_APPFONT ( 50 , 8 ) ;
-        Center = TRUE ;
-    };
-    OKButton BTN_CHAR_OK
-    {
-        Pos = MAP_APPFONT ( 242 , 6 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-        DefButton = TRUE ;
-    };
-    CancelButton BTN_CHAR_CANCEL
-    {
-        Pos = MAP_APPFONT ( 242 , 23 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    HelpButton BTN_CHAR_HELP
-    {
-        Pos = MAP_APPFONT ( 242 , 43 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    PushButton BTN_DELETE
-    {
-        HelpID = "cui:PushButton:RID_SVXDLG_CHARMAP:BTN_DELETE";
-        Pos = MAP_APPFONT ( 242 , 63 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        Text [ en-US ] = "~Delete";
-    };
-};
-
-// ********************************************************************** EOF
diff --git a/cui/source/dialogs/cuicharmap.cxx b/cui/source/dialogs/cuicharmap.cxx
index c900b45..06be057 100644
--- a/cui/source/dialogs/cuicharmap.cxx
+++ b/cui/source/dialogs/cuicharmap.cxx
@@ -48,29 +48,28 @@
 #include <sfx2/sfxsids.hrc>
 #include <sfx2/app.hxx>
 #include <editeng/fontitem.hxx>
-#include "charmap.hrc"
 #include "macroass.hxx"
 
 // class SvxCharacterMap =================================================
 
 SvxCharacterMap::SvxCharacterMap( Window* pParent, sal_Bool bOne_, const SfxItemSet* pSet )
-    : SfxModalDialog( pParent, CUI_RES( RID_SVXDLG_CHARMAP ) ),
-    aShowSet        ( this, CUI_RES( CT_SHOWSET ) ),
-    aShowText       ( this, CUI_RES( CT_SHOWTEXT ) ),
-    aOKBtn          ( this, CUI_RES( BTN_CHAR_OK ) ),
-    aCancelBtn      ( this, CUI_RES( BTN_CHAR_CANCEL ) ),
-    aHelpBtn        ( this, CUI_RES( BTN_CHAR_HELP ) ),
-    aDeleteBtn      ( this, CUI_RES( BTN_DELETE ) ),
-    aFontText       ( this, CUI_RES( FT_FONT ) ),
-    aFontLB         ( this, CUI_RES( LB_FONT ) ),
-    aSubsetText     ( this, CUI_RES( FT_SUBSET ) ),
-    aSubsetLB       ( this, CUI_RES( LB_SUBSET ) ),
-    aSymbolText     ( this, CUI_RES( FT_SYMBOLE ) ),
-    aShowChar       ( this, CUI_RES( CT_SHOWCHAR ), sal_True ),
-    aCharCodeText   ( this, CUI_RES( FT_CHARCODE ) ),
-    bOne( bOne_ ),
-    pSubsetMap( NULL )
+    : SfxModalDialog(pParent, "SpecialCharactersDialog", "cui/ui/specialcharacters.ui")
+    , bOne( bOne_ )
+    , pSubsetMap( NULL )
 {
+    get(m_pShowSet, "showcharset");
+    get(m_pShowChar, "showchar");
+    m_pShowChar->SetCentered(true);
+    get(m_pShowText, "showtext");
+    get(m_pOKBtn, "ok");
+    get(m_pDeleteBtn, "delete");
+    get(m_pFontText, "fontft");
+    get(m_pFontLB, "fontlb");
+    get(m_pSubsetText, "subsetft");
+    get(m_pSubsetLB, "subsetlb");
+    get(m_pCharCodeText, "charcodeft");
+    get(m_pSymbolText, "symboltext");
+
     SFX_ITEMSET_ARG( pSet, pItem, SfxBoolItem, FN_PARAM_1, sal_False );
     if ( pItem )
         bOne = pItem->GetValue();
@@ -101,7 +100,6 @@ SvxCharacterMap::SvxCharacterMap( Window* pParent, sal_Bool bOne_, const SfxItem
         SetCharFont( aTmpFont );
     }
 
-    FreeResource();
     CreateOutputItemSet( pSet ? *pSet->GetPool() : SFX_APP()->GetPool() );
 }
 
@@ -122,21 +120,21 @@ const Font& SvxCharacterMap::GetCharFont() const
 
 void SvxCharacterMap::SetChar( sal_UCS4 c )
 {
-    aShowSet.SelectCharacter( c );
+    m_pShowSet->SelectCharacter( c );
 }
 
 // -----------------------------------------------------------------------
 
 sal_UCS4 SvxCharacterMap::GetChar() const
 {
-    return aShowSet.GetSelectCharacter();
+    return m_pShowSet->GetSelectCharacter();
 }
 
 // -----------------------------------------------------------------------
 
 String SvxCharacterMap::GetCharacters() const
 {
-    return aShowText.GetText();
+    return m_pShowText->GetText();
 }
 
 
@@ -144,8 +142,8 @@ String SvxCharacterMap::GetCharacters() const
 
 void SvxCharacterMap::DisableFontSelection()
 {
-    aFontText.Disable();
-    aFontLB.Disable();
+    m_pFontText->Disable();
+    m_pFontLB->Disable();
 }
 
 short SvxCharacterMap::Execute()
@@ -177,6 +175,16 @@ SvxShowText::SvxShowText( Window* pParent, const ResId& rResId, sal_Bool bCenter
     mbCenter( bCenter)
 {}
 
+SvxShowText::SvxShowText( Window* pParent, sal_Bool bCenter )
+:   Control( pParent ),
+    mbCenter( bCenter)
+{}
+
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSvxShowText(Window *pParent, VclBuilder::stringmap &)
+{
+    return new SvxShowText(pParent);
+}
+
 // -----------------------------------------------------------------------
 
 void SvxShowText::Paint( const Rectangle& )
@@ -246,6 +254,12 @@ void SvxShowText::SetFont( const Font& rFont )
     Invalidate();
 }
 
+void SvxShowText::Resize()
+{
+    Control::Resize();
+    SetFont(GetFont()); //force recalculation of size
+}
+
 // -----------------------------------------------------------------------
 
 void SvxShowText::SetText( const String& rText )
@@ -269,14 +283,11 @@ void SvxCharacterMap::init()
     aFont.SetPitch( PITCH_DONTKNOW );
     aFont.SetCharSet( RTL_TEXTENCODING_DONTKNOW );
 
-    if ( bOne )
+    if (bOne)
     {
-        Size aDlgSize = GetSizePixel();
-        SetSizePixel( Size( aDlgSize.Width(),
-            aDlgSize.Height()-aShowText.GetSizePixel().Height() ) );
-        aSymbolText.Hide();
-        aShowText.Hide();
-        aDeleteBtn.Hide();
+        m_pSymbolText->Hide();
+        m_pShowText->Hide();
+        m_pDeleteBtn->Hide();
     }
 
     rtl::OUString aDefStr( aFont.GetName() );
@@ -288,21 +299,21 @@ void SvxCharacterMap::init()
         if ( aFontName != aLastName )
         {
             aLastName = aFontName;
-            sal_uInt16 nPos = aFontLB.InsertEntry( aFontName );
-            aFontLB.SetEntryData( nPos, (void*)(sal_uLong)i );
+            sal_uInt16 nPos = m_pFontLB->InsertEntry( aFontName );
+            m_pFontLB->SetEntryData( nPos, (void*)(sal_uLong)i );
         }
     }
     // the font may not be in the list =>
     // try to find a font name token in list and select found font,
     // else select topmost entry
-    bool bFound = (aFontLB.GetEntryPos( aDefStr ) == LISTBOX_ENTRY_NOTFOUND );
+    bool bFound = (m_pFontLB->GetEntryPos( aDefStr ) == LISTBOX_ENTRY_NOTFOUND );
     if( !bFound )
     {
         sal_Int32 nIndex = 0;
         do
         {
             rtl::OUString aToken = aDefStr.getToken(0, ';', nIndex);
-            if ( aFontLB.GetEntryPos( aToken ) != LISTBOX_ENTRY_NOTFOUND )
+            if ( m_pFontLB->GetEntryPos( aToken ) != LISTBOX_ENTRY_NOTFOUND )
             {
                 aDefStr = aToken;
                 bFound = sal_True;
@@ -313,29 +324,24 @@ void SvxCharacterMap::init()
     }
 
     if ( bFound )
-        aFontLB.SelectEntry( aDefStr );
-    else if ( aFontLB.GetEntryCount() )
-        aFontLB.SelectEntryPos(0);
-    FontSelectHdl( &aFontLB );
-
-    aOKBtn.SetClickHdl( LINK( this, SvxCharacterMap, OKHdl ) );
-    aFontLB.SetSelectHdl( LINK( this, SvxCharacterMap, FontSelectHdl ) );
-    aSubsetLB.SetSelectHdl( LINK( this, SvxCharacterMap, SubsetSelectHdl ) );
-    aShowSet.SetDoubleClickHdl( LINK( this, SvxCharacterMap, CharDoubleClickHdl ) );
-    aShowSet.SetSelectHdl( LINK( this, SvxCharacterMap, CharSelectHdl ) );
-    aShowSet.SetHighlightHdl( LINK( this, SvxCharacterMap, CharHighlightHdl ) );
-    aShowSet.SetPreSelectHdl( LINK( this, SvxCharacterMap, CharPreSelectHdl ) );
-    aDeleteBtn.SetClickHdl( LINK( this, SvxCharacterMap, DeleteHdl ) );
+        m_pFontLB->SelectEntry( aDefStr );
+    else if ( m_pFontLB->GetEntryCount() )
+        m_pFontLB->SelectEntryPos(0);
+    FontSelectHdl(m_pFontLB);
+
+    m_pOKBtn->SetClickHdl( LINK( this, SvxCharacterMap, OKHdl ) );
+    m_pFontLB->SetSelectHdl( LINK( this, SvxCharacterMap, FontSelectHdl ) );
+    m_pSubsetLB->SetSelectHdl( LINK( this, SvxCharacterMap, SubsetSelectHdl ) );
+    m_pShowSet->SetDoubleClickHdl( LINK( this, SvxCharacterMap, CharDoubleClickHdl ) );
+    m_pShowSet->SetSelectHdl( LINK( this, SvxCharacterMap, CharSelectHdl ) );
+    m_pShowSet->SetHighlightHdl( LINK( this, SvxCharacterMap, CharHighlightHdl ) );
+    m_pShowSet->SetPreSelectHdl( LINK( this, SvxCharacterMap, CharPreSelectHdl ) );
+    m_pDeleteBtn->SetClickHdl( LINK( this, SvxCharacterMap, DeleteHdl ) );
 
     if( SvxShowCharSet::getSelectedChar() == ' ')
-        aOKBtn.Disable();
+        m_pOKBtn->Disable();
     else
-        aOKBtn.Enable();
-
-    // left align aShowText field
-    int nLeftEdge = aSymbolText.GetPosPixel().X();
-    nLeftEdge += aSymbolText.GetTextWidth( aSymbolText.GetText() );
-    aShowText.SetPosPixel( Point( nLeftEdge+4, aShowText.GetPosPixel().Y() ) );
+        m_pOKBtn->Enable();
 }
 
 // -----------------------------------------------------------------------
@@ -346,12 +352,12 @@ void SvxCharacterMap::SetCharFont( const Font& rFont )
     // like "Times New Roman;Times" resolved
     Font aTmp( GetFontMetric( rFont ) );
 
-    if ( aFontLB.GetEntryPos( aTmp.GetName() ) == LISTBOX_ENTRY_NOTFOUND )
+    if ( m_pFontLB->GetEntryPos( aTmp.GetName() ) == LISTBOX_ENTRY_NOTFOUND )
         return;
 
-    aFontLB.SelectEntry( aTmp.GetName() );
+    m_pFontLB->SelectEntry( aTmp.GetName() );
     aFont = aTmp;
-    FontSelectHdl( &aFontLB );
+    FontSelectHdl(m_pFontLB);
 
     // for compatibility reasons
     ModalDialog::SetFont( aFont );
@@ -361,14 +367,14 @@ void SvxCharacterMap::SetCharFont( const Font& rFont )
 
 IMPL_LINK_NOARG(SvxCharacterMap, OKHdl)
 {
-    String aStr = aShowText.GetText();
+    String aStr = m_pShowText->GetText();
 
     if ( !aStr.Len() )
     {
-        sal_UCS4 cChar = aShowSet.GetSelectCharacter();
+        sal_UCS4 cChar = m_pShowSet->GetSelectCharacter();
         // using the new UCS4 constructor
     rtl::OUString aOUStr( &cChar, 1 );
-        aShowText.SetText( aOUStr );
+        m_pShowText->SetText( aOUStr );
     }
     EndDialog( sal_True );
     return 0;
@@ -378,8 +384,8 @@ IMPL_LINK_NOARG(SvxCharacterMap, OKHdl)
 
 IMPL_LINK_NOARG(SvxCharacterMap, FontSelectHdl)
 {
-    sal_uInt16 nPos = aFontLB.GetSelectEntryPos(),
-        nFont = (sal_uInt16)(sal_uLong)aFontLB.GetEntryData( nPos );
+    sal_uInt16 nPos = m_pFontLB->GetSelectEntryPos(),
+        nFont = (sal_uInt16)(sal_uLong)m_pFontLB->GetEntryData( nPos );
     aFont = GetDevFont( nFont );
     aFont.SetWeight( WEIGHT_DONTKNOW );
     aFont.SetItalic( ITALIC_NONE );
@@ -388,50 +394,43 @@ IMPL_LINK_NOARG(SvxCharacterMap, FontSelectHdl)
     aFont.SetFamily( FAMILY_DONTKNOW );
 
     // notify children using this font
-    aShowSet.SetFont( aFont );
-    aShowChar.SetFont( aFont );
-    aShowText.SetFont( aFont );
-
-    // right align some fields to aShowSet
-    int nRightEdge = aShowSet.GetPosPixel().X() + aShowSet.GetOutputSizePixel().Width();
-    Size aNewSize = aSubsetLB.GetOutputSizePixel();
-    aNewSize.setWidth( nRightEdge - aSubsetLB.GetPosPixel().X() );
-    aSubsetLB.SetOutputSizePixel( aNewSize );
+    m_pShowSet->SetFont( aFont );
+    m_pShowChar->SetFont( aFont );
+    m_pShowText->SetFont( aFont );
 
     // setup unicode subset listbar with font specific subsets,
     // hide unicode subset listbar for symbol fonts
     // TODO: get info from the Font once it provides it
-    if( pSubsetMap)
-        delete pSubsetMap;
+    delete pSubsetMap;
     pSubsetMap = NULL;
 
     sal_Bool bNeedSubset = (aFont.GetCharSet() != RTL_TEXTENCODING_SYMBOL);
     if( bNeedSubset )
     {
         FontCharMap aFontCharMap;
-        aShowSet.GetFontCharMap( aFontCharMap );
+        m_pShowSet->GetFontCharMap( aFontCharMap );
         pSubsetMap = new SubsetMap( &aFontCharMap );
 
         // update subset listbox for new font's unicode subsets
-        aSubsetLB.Clear();
+        m_pSubsetLB->Clear();
         // TODO: is it worth to improve the stupid linear search?
         bool bFirst = true;
         const Subset* s;
         while( NULL != (s = pSubsetMap->GetNextSubset( bFirst ))  )
         {
-            sal_uInt16 nPos_ = aSubsetLB.InsertEntry( s->GetName() );
-            aSubsetLB.SetEntryData( nPos_, (void*)s );
+            sal_uInt16 nPos_ = m_pSubsetLB->InsertEntry( s->GetName() );
+            m_pSubsetLB->SetEntryData( nPos_, (void*)s );
             // NOTE: subset must live at least as long as the selected font
             if( bFirst )
-                aSubsetLB.SelectEntryPos( nPos_ );
+                m_pSubsetLB->SelectEntryPos( nPos_ );
             bFirst = false;
         }
-        if( aSubsetLB.GetEntryCount() <= 1 )
+        if( m_pSubsetLB->GetEntryCount() <= 1 )
             bNeedSubset = sal_False;
     }
 
-    aSubsetText.Show( bNeedSubset);
-    aSubsetLB.Show( bNeedSubset);
+    m_pSubsetText->Show( bNeedSubset);
+    m_pSubsetLB->Show( bNeedSubset);
 
     return 0;
 }
@@ -440,14 +439,14 @@ IMPL_LINK_NOARG(SvxCharacterMap, FontSelectHdl)
 
 IMPL_LINK_NOARG(SvxCharacterMap, SubsetSelectHdl)
 {
-    sal_uInt16 nPos = aSubsetLB.GetSelectEntryPos();
-    const Subset* pSubset = reinterpret_cast<const Subset*> (aSubsetLB.GetEntryData(nPos));
+    sal_uInt16 nPos = m_pSubsetLB->GetSelectEntryPos();
+    const Subset* pSubset = reinterpret_cast<const Subset*> (m_pSubsetLB->GetEntryData(nPos));
     if( pSubset )
     {
         sal_UCS4 cFirst = pSubset->GetRangeMin();
-        aShowSet.SelectCharacter( cFirst );
+        m_pShowSet->SelectCharacter( cFirst );
     }
-    aSubsetLB.SelectEntryPos( nPos );
+    m_pSubsetLB->SelectEntryPos( nPos );
     return 0;
 }
 
@@ -465,18 +464,18 @@ IMPL_LINK_NOARG(SvxCharacterMap, CharSelectHdl)
 {
     if ( !bOne )
     {
-        String aText = aShowText.GetText();
+        String aText = m_pShowText->GetText();
 
         if ( aText.Len() != CHARMAP_MAXLEN )
         {
-            sal_UCS4 cChar = aShowSet.GetSelectCharacter();
+            sal_UCS4 cChar = m_pShowSet->GetSelectCharacter();
             // using the new UCS4 constructor
             rtl::OUString aOUStr( &cChar, 1 );
-            aShowText.SetText( aText + aOUStr );
+            m_pShowText->SetText( aText + aOUStr );
         }
 
     }
-    aOKBtn.Enable();
+    m_pOKBtn->Enable();
     return 0;
 }
 
@@ -485,7 +484,7 @@ IMPL_LINK_NOARG(SvxCharacterMap, CharSelectHdl)
 IMPL_LINK_NOARG(SvxCharacterMap, CharHighlightHdl)
 {
     String aText;
-    sal_UCS4 cChar = aShowSet.GetSelectCharacter();
+    sal_UCS4 cChar = m_pShowSet->GetSelectCharacter();
     sal_Bool bSelect = (cChar > 0);
 
     // show char sample
@@ -498,12 +497,12 @@ IMPL_LINK_NOARG(SvxCharacterMap, CharHighlightHdl)
         if( pSubsetMap )
             pSubset = pSubsetMap->GetSubsetByUnicode( cChar );
         if( pSubset )
-            aSubsetLB.SelectEntry( pSubset->GetName() );
+            m_pSubsetLB->SelectEntry( pSubset->GetName() );
         else
-            aSubsetLB.SetNoSelection();
+            m_pSubsetLB->SetNoSelection();
     }
-    aShowChar.SetText( aText );
-    aShowChar.Update();
+    m_pShowChar->SetText( aText );
+    m_pShowChar->Update();
 
     // show char code
     if ( bSelect )
@@ -514,7 +513,7 @@ IMPL_LINK_NOARG(SvxCharacterMap, CharHighlightHdl)
             snprintf( aBuf+6, sizeof(aBuf)-6, " (%u)", static_cast<unsigned>(cChar) );
         aText = rtl::OUString::createFromAscii(aBuf);
     }
-    aCharCodeText.SetText( aText );
+    m_pCharCodeText->SetText( aText );
 
     return 0;
 }
@@ -526,13 +525,13 @@ IMPL_LINK_NOARG(SvxCharacterMap, CharPreSelectHdl)
     // adjust subset selection
     if( pSubsetMap )
     {
-        sal_UCS4 cChar = aShowSet.GetSelectCharacter();
+        sal_UCS4 cChar = m_pShowSet->GetSelectCharacter();
         const Subset* pSubset = pSubsetMap->GetSubsetByUnicode( cChar );
         if( pSubset )
-            aSubsetLB.SelectEntry( pSubset->GetName() );
+            m_pSubsetLB->SelectEntry( pSubset->GetName() );
     }
 
-    aOKBtn.Enable();
+    m_pOKBtn->Enable();
     return 0;
 }
 
@@ -540,8 +539,8 @@ IMPL_LINK_NOARG(SvxCharacterMap, CharPreSelectHdl)
 
 IMPL_LINK_NOARG(SvxCharacterMap, DeleteHdl)
 {
-    aShowText.SetText( String() );
-    aOKBtn.Disable();
+    m_pShowText->SetText( String() );
+    m_pOKBtn->Disable();
     return 0;
 }
 
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index e65d314..8c89003 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -1302,24 +1302,13 @@ AbstractSvxHlinkDlgMarkWnd* AbstractDialogFactory_Impl::CreateSvxHlinkDlgMarkWnd
     return 0;
 }
 
-SfxAbstractDialog* AbstractDialogFactory_Impl::CreateSfxDialog( sal_uInt32 nResId,
+SfxAbstractDialog* AbstractDialogFactory_Impl::CreateSfxDialog( sal_uInt32,
                                             Window* pParent,
                                             const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& ,
                                             const SfxItemSet* pAttrSet )
 {
-    SfxModalDialog* pDlg=NULL;
-    switch ( nResId )
-    {
-        case RID_SVXDLG_CHARMAP :
-            pDlg = new SvxCharacterMap( pParent, sal_True, pAttrSet );
-            break;
-        default:
-            break;
-    }
-
-    if ( pDlg )
-        return new AbstractSfxDialog_Impl( pDlg );
-    return 0;
+    SfxModalDialog* pDlg = new SvxCharacterMap( pParent, sal_True, pAttrSet );
+    return new AbstractSfxDialog_Impl( pDlg );
 }
 
 SfxAbstractTabDialog* AbstractDialogFactory_Impl::CreateTabItemDialog( Window* pParent,
diff --git a/cui/source/inc/cuicharmap.hxx b/cui/source/inc/cuicharmap.hxx
index f9628f1..b556a40 100644
--- a/cui/source/inc/cuicharmap.hxx
+++ b/cui/source/inc/cuicharmap.hxx
@@ -51,10 +51,15 @@ public:
                     SvxShowText( Window* pParent,
                                  const ResId& rResId,
                                  sal_Bool bCenter = sal_False );
+                    SvxShowText( Window* pParent,
+                                 sal_Bool bCenter = sal_False );
                     ~SvxShowText();
 
     void            SetFont( const Font& rFont );
     void            SetText( const String& rText );
+    void            SetCentered(bool bCenter) { mbCenter = bCenter; }
+
+    virtual void    Resize();
 
 protected:
     virtual void    Paint( const Rectangle& );
@@ -73,19 +78,17 @@ private:
 
     void            init();
 
-    SvxShowCharSet  aShowSet;
-    SvxShowText     aShowText;
-    OKButton        aOKBtn;
-    CancelButton    aCancelBtn;
-    HelpButton      aHelpBtn;
-    PushButton      aDeleteBtn;
-    FixedText       aFontText;
-    ListBox         aFontLB;
-    FixedText       aSubsetText;
-    ListBox         aSubsetLB;
-    FixedText       aSymbolText;
-    SvxShowText     aShowChar;
-    FixedText       aCharCodeText;
+    SvxShowCharSet* m_pShowSet;
+    SvxShowText*    m_pShowText;
+    OKButton*       m_pOKBtn;
+    PushButton*     m_pDeleteBtn;
+    FixedText*      m_pFontText;
+    ListBox*        m_pFontLB;
+    FixedText*      m_pSubsetText;
+    ListBox*        m_pSubsetLB;
+    FixedText*      m_pSymbolText;
+    SvxShowText*    m_pShowChar;
+    FixedText*      m_pCharCodeText;
     Font            aFont;
     sal_Bool        bOne;
     const SubsetMap* pSubsetMap;
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index a2ac623..c2a0228 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -3338,26 +3338,20 @@ void SvxCharTwoLinesPage::Initialize()
 
 void SvxCharTwoLinesPage::SelectCharacter( ListBox* pBox )
 {
-
     bool bStart = pBox == m_pStartBracketLB;
-    //SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
-    //if(pFact)
-    {
-        //AbstractSvxCharacterMap* aDlg = pFact->CreateSvxCharacterMap( this,  RID_SVXDLG_CHARMAP );
-        SvxCharacterMap* aDlg = new SvxCharacterMap( this );
-        aDlg->DisableFontSelection();
+    SvxCharacterMap* aDlg = new SvxCharacterMap( this );
+    aDlg->DisableFontSelection();
 
-        if ( aDlg->Execute() == RET_OK )
-        {
-            sal_Unicode cChar = (sal_Unicode) aDlg->GetChar();
-            SetBracket( cChar, bStart );
-        }
-        else
-        {
-            pBox->SelectEntryPos( bStart ? m_nStartBracketPosition : m_nEndBracketPosition );
-        }
-        delete aDlg;
+    if ( aDlg->Execute() == RET_OK )
+    {
+        sal_Unicode cChar = (sal_Unicode) aDlg->GetChar();
+        SetBracket( cChar, bStart );
+    }
+    else
+    {
+        pBox->SelectEntryPos( bStart ? m_nStartBracketPosition : m_nEndBracketPosition );
     }
+    delete aDlg;
 }
 
 // -----------------------------------------------------------------------
diff --git a/svx/inc/svx/charmap.hxx b/svx/inc/svx/charmap.hxx
index c3efd8e..9fe9049 100644
--- a/svx/inc/svx/charmap.hxx
+++ b/svx/inc/svx/charmap.hxx
@@ -53,6 +53,7 @@ class SVX_DLLPUBLIC SvxShowCharSet : public Control
 {
 public:
                     SvxShowCharSet( Window* pParent, const ResId& rResId );
+                    SvxShowCharSet( Window* pParent );
                     ~SvxShowCharSet();
 
     void            SetFont( const Font& rFont );
@@ -87,6 +88,8 @@ public:
     sal_Int32                   getMaxCharCount() const;
 #endif // _SVX_CHARMAP_CXX_
 
+    virtual void    Resize();
+
 protected:
     virtual void    Paint( const Rectangle& );
     virtual void    MouseButtonDown( const MouseEvent& rMEvt );
@@ -130,6 +133,8 @@ private:
     // abstraction layers are: Unicode<->MapIndex<->Pixel
     Point           MapIndexToPixel( int) const;
     DECL_LINK(VscrollHdl, void *);
+
+    void            init();
 };
 
 #endif
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
index 409d5cb..45590db 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -65,10 +65,25 @@ sal_uInt32& SvxShowCharSet::getSelectedChar()
 
 #define SBWIDTH 16
 
-SvxShowCharSet::SvxShowCharSet( Window* pParent, const ResId& rResId ) :
-    Control( pParent, rResId )
-    ,m_pAccessible(NULL)
-    ,aVscrollSB( this, WB_VERT)
+SvxShowCharSet::SvxShowCharSet(Window* pParent, const ResId& rResId)
+    : Control(pParent, rResId)
+    , m_pAccessible(NULL)
+    , aVscrollSB(this, WB_VERT)
+{
+    init();
+    InitSettings( sal_True, sal_True );
+}
+
+SvxShowCharSet::SvxShowCharSet(Window* pParent)
+    : Control(pParent)
+    , m_pAccessible(NULL)
+    , aVscrollSB( this, WB_VERT)
+{
+    init();
+    InitSettings( sal_True, sal_True );
+}
+
+void SvxShowCharSet::init()
 {
     nSelectedIndex = -1;    // TODO: move into init list when it is no longer static
 
@@ -81,7 +96,21 @@ SvxShowCharSet::SvxShowCharSet( Window* pParent, const ResId& rResId ) :
     // other settings like aVscroll depend on selected font => see SetFont
 
     bDrag = sal_False;
-    InitSettings( sal_True, sal_True );
+}
+
+void SvxShowCharSet::Resize()
+{
+    aOrigSize = GetOutputSizePixel();
+    aOrigPos = GetPosPixel();
+
+    Control::Resize();
+
+    SetFont(GetFont()); //force recalculation of correct fontsize
+}
+
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSvxShowCharSet(Window *pParent, VclBuilder::stringmap &)
+{
+    return new SvxShowCharSet(pParent);
 }
 
 // -----------------------------------------------------------------------
commit de43297de3b81fd60894e4aed8574d51c68a4800
Author: Gokul <gokul.cdac at gmail.com>
Date:   Wed Sep 26 15:23:26 2012 +0100

    add special character dialog
    
    Change-Id: I9f5e6846593ab34995518598294950b34f91b83f

diff --git a/cui/uiconfig/ui/specialcharacters.ui b/cui/uiconfig/ui/specialcharacters.ui
new file mode 100644
index 0000000..94287d8
--- /dev/null
+++ b/cui/uiconfig/ui/specialcharacters.ui
@@ -0,0 +1,284 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkDialog" id="SpecialCharactersDialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Special Characters</property>
+    <property name="resizable">False</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox1">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="ok">
+                <property name="label">gtk-ok</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">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="cancel">
+                <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <property name="xalign">0.50999999046325684</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="help">
+                <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</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>
+            <child>
+              <object class="GtkButton" id="delete">
+                <property name="label">gtk-delete</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</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">3</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>
+        <child>
+          <object class="GtkBox" id="box1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
+            <child>
+              <object class="GtkGrid" id="grid1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="row_spacing">6</property>
+                <property name="column_spacing">6</property>
+                <child>
+                  <object class="GtkGrid" id="grid2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="column_spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="fontft">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Font</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list