[Libreoffice-commits] .: 4 commits - cui/source desktop/unx filter/AllLangResTarget_xsltdlg.mk filter/Module_filter.mk filter/source filter/uiconfig filter/UI_xsltdlg.mk sal/osl svtools/inc svtools/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Nov 20 08:47:55 PST 2012


 cui/source/dialogs/cuicharmap.cxx                     |    1 
 desktop/unx/source/start.c                            |   22 -
 filter/AllLangResTarget_xsltdlg.mk                    |    1 
 filter/Module_filter.mk                               |    1 
 filter/UI_xsltdlg.mk                                  |   16 +
 filter/source/xsltdialog/hidother.src                 |    8 
 filter/source/xsltdialog/xmlfiltercommon.hrc          |    9 
 filter/source/xsltdialog/xmlfilterdialogcomponent.cxx |   27 +
 filter/source/xsltdialog/xmlfilterdialogstrings.hrc   |    2 
 filter/source/xsltdialog/xmlfilterdialogstrings.src   |    5 
 filter/source/xsltdialog/xmlfilterhelpids.hrc         |    8 
 filter/source/xsltdialog/xmlfiltersettingsdialog.cxx  |  280 ++++++++----------
 filter/source/xsltdialog/xmlfiltersettingsdialog.hrc  |   34 --
 filter/source/xsltdialog/xmlfiltersettingsdialog.hxx  |   70 ++--
 filter/source/xsltdialog/xmlfiltersettingsdialog.src  |  123 -------
 filter/source/xsltdialog/xmlfiltertabdialog.cxx       |    1 
 filter/uiconfig/ui/xmlfiltersettings.ui               |  182 +++++++++++
 sal/osl/unx/profile.c                                 |    7 
 svtools/inc/svtools/treelist.hxx                      |   14 
 svtools/inc/svtools/treelistbox.hxx                   |   16 -
 svtools/source/contnr/treelistbox.cxx                 |   70 +++-
 21 files changed, 489 insertions(+), 408 deletions(-)

New commits:
commit 0894db6f532a0a27d8da57d3e191d2ccb198ebf0
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Nov 20 16:32:14 2012 +0000

    Resolves: fdo#56882 font list in insert symbols not sorted
    
    Change-Id: I1f793bf2656ee7feb59927962dc2c38587dba272

diff --git a/cui/source/dialogs/cuicharmap.cxx b/cui/source/dialogs/cuicharmap.cxx
index 18e9bf8..f457ba3 100644
--- a/cui/source/dialogs/cuicharmap.cxx
+++ b/cui/source/dialogs/cuicharmap.cxx
@@ -56,6 +56,7 @@ SvxCharacterMap::SvxCharacterMap( Window* pParent, sal_Bool bOne_, const SfxItem
     get(m_pDeleteBtn, "delete");
     get(m_pFontText, "fontft");
     get(m_pFontLB, "fontlb");
+    m_pFontLB->SetStyle(m_pFontLB->GetStyle() | WB_SORT);
     get(m_pSubsetText, "subsetft");
     get(m_pSubsetLB, "subsetlb");
     get(m_pCharCodeText, "charcodeft");
commit bcafd193e743fca4ab6198092b34d000787e06f0
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Nov 16 11:03:57 2012 +0000

    convert xslt filter dialog to .ui
    
    Change-Id: Ia07df75b00b7d34da9dfeeddb47280ddba23b897

diff --git a/filter/AllLangResTarget_xsltdlg.mk b/filter/AllLangResTarget_xsltdlg.mk
index 22cbffe..30d73ba 100644
--- a/filter/AllLangResTarget_xsltdlg.mk
+++ b/filter/AllLangResTarget_xsltdlg.mk
@@ -34,7 +34,6 @@ $(eval $(call gb_SrsTarget_set_include,filter/xsltdlg,\
 ))
 
 $(eval $(call gb_SrsTarget_add_files,filter/xsltdlg,\
-	filter/source/xsltdialog/xmlfiltersettingsdialog.src \
 	filter/source/xsltdialog/xmlfiltertabdialog.src \
 	filter/source/xsltdialog/xmlfiltertabpagebasic.src \
 	filter/source/xsltdialog/xmlfiltertabpagexslt.src \
diff --git a/filter/Module_filter.mk b/filter/Module_filter.mk
index 463af63..2f02504 100644
--- a/filter/Module_filter.mk
+++ b/filter/Module_filter.mk
@@ -64,6 +64,7 @@ $(eval $(call gb_Module_add_targets,filter,\
 	Package_inc \
 	Package_docbook \
 	Package_xslt \
+	UI_xsltdlg \
 ))
 
 ifneq (,$(filter DESKTOP,$(BUILD_TYPE)))
diff --git a/filter/UI_xsltdlg.mk b/filter/UI_xsltdlg.mk
new file mode 100644
index 0000000..8d98876
--- /dev/null
+++ b/filter/UI_xsltdlg.mk
@@ -0,0 +1,16 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_UI_UI,filter))
+
+$(eval $(call gb_UI_add_uifiles,filter,\
+	filter/uiconfig/ui/xmlfiltersettings \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/filter/source/xsltdialog/hidother.src b/filter/source/xsltdialog/hidother.src
index 84ec50d..cf2816d 100644
--- a/filter/source/xsltdialog/hidother.src
+++ b/filter/source/xsltdialog/hidother.src
@@ -20,15 +20,7 @@
 
 hidspecial HID_XML_SOURCE_FILE_DIALOG                   { HelpId = HID_XML_SOURCE_FILE_DIALOG; };
 hidspecial HID_XML_SOURCE_FILE_VALIDATE                 { HelpId = HID_XML_SOURCE_FILE_VALIDATE; };
-hidspecial HID_XML_FILTER_SETTINGS_DIALOG               { HelpId = HID_XML_FILTER_SETTINGS_DIALOG; };
 hidspecial HID_XML_FILTER_LIST                          { HelpId = HID_XML_FILTER_LIST; };
-hidspecial HID_XML_FILTER_NEW                           { HelpId = HID_XML_FILTER_NEW; };
-hidspecial HID_XML_FILTER_EDIT                          { HelpId = HID_XML_FILTER_EDIT; };
-hidspecial HID_XML_FILTER_TEST                          { HelpId = HID_XML_FILTER_TEST; };
-hidspecial HID_XML_FILTER_DELETE                        { HelpId = HID_XML_FILTER_DELETE; };
-hidspecial HID_XML_FILTER_SAVE                          { HelpId = HID_XML_FILTER_SAVE; };
-hidspecial HID_XML_FILTER_OPEN                          { HelpId = HID_XML_FILTER_OPEN; };
-hidspecial HID_XML_FILTER_CLOSE                         { HelpId = HID_XML_FILTER_CLOSE; };
 
 hidspecial HID_XML_FILTER_TABDIALOG                     { HelpId = HID_XML_FILTER_TABDIALOG; };
 hidspecial HID_XML_FILTER_TABPAGE_BASIC                 { HelpId = HID_XML_FILTER_TABPAGE_BASIC; };
diff --git a/filter/source/xsltdialog/xmlfiltercommon.hrc b/filter/source/xsltdialog/xmlfiltercommon.hrc
index 991f6d9..ad1be04 100644
--- a/filter/source/xsltdialog/xmlfiltercommon.hrc
+++ b/filter/source/xsltdialog/xmlfiltercommon.hrc
@@ -21,10 +21,9 @@
 #include "filter.hrc"
 
 #define DLG_XML_SOURCE_FILE_DIALOG      (RID_XSLT_DIALOG_START+0)
-#define DLG_XML_FILTER_SETTINGS_DIALOG  (RID_XSLT_DIALOG_START+1)
-#define DLG_XML_FILTER_TABDIALOG        (RID_XSLT_DIALOG_START+2)
-#define RID_XML_FILTER_TABPAGE_BASIC    (RID_XSLT_DIALOG_START+3)
-#define RID_XML_FILTER_TABPAGE_XSLT     (RID_XSLT_DIALOG_START+4)
-#define DLG_XML_FILTER_TEST_DIALOG      (RID_XSLT_DIALOG_START+5)
+#define DLG_XML_FILTER_TABDIALOG        (RID_XSLT_DIALOG_START+1)
+#define RID_XML_FILTER_TABPAGE_BASIC    (RID_XSLT_DIALOG_START+2)
+#define RID_XML_FILTER_TABPAGE_XSLT     (RID_XSLT_DIALOG_START+3)
+#define DLG_XML_FILTER_TEST_DIALOG      (RID_XSLT_DIALOG_START+4)
 
 #endif
diff --git a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
index 3d9a340..773219e 100644
--- a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
+++ b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
@@ -105,13 +105,20 @@ private:
     com::sun::star::uno::Reference<com::sun::star::awt::XWindow> mxParent;  /// parent window
     com::sun::star::uno::Reference< XMultiServiceFactory > mxMSF;
 
-    static ResMgr* mpResMgr;
     XMLFilterSettingsDialog* mpDialog;
 };
 
 //-------------------------------------------------------------------------
 
-ResMgr* XMLFilterDialogComponent::mpResMgr = NULL;
+namespace
+{
+    static ResMgr* pXSLTResMgr = NULL;
+}
+
+ResMgr* getXSLTDialogResMgr()
+{
+    return pXSLTResMgr;
+}
 
 XMLFilterDialogComponent::XMLFilterDialogComponent( const com::sun::star::uno::Reference< XMultiServiceFactory >& rxMSF ) :
     OComponentHelper( maMutex ),
@@ -291,10 +298,10 @@ void SAL_CALL XMLFilterDialogComponent::disposing()
         mpDialog = NULL;
     }
 
-    if( mpResMgr )
+    if (pXSLTResMgr)
     {
-        delete mpResMgr;
-        mpResMgr = NULL;
+        delete pXSLTResMgr;
+        pXSLTResMgr = NULL;
     }
 }
 
@@ -335,9 +342,9 @@ sal_Int16 SAL_CALL XMLFilterDialogComponent::execute(  ) throw(RuntimeException)
 {
     ::SolarMutexGuard aGuard;
 
-    if( NULL == mpResMgr )
+    if( NULL == pXSLTResMgr )
     {
-        mpResMgr = ResMgr::CreateResMgr( "xsltdlg", Application::GetSettings().GetUILocale() );
+        pXSLTResMgr = ResMgr::CreateResMgr( "xsltdlg", Application::GetSettings().GetUILocale() );
     }
 
     if( NULL == mpDialog )
@@ -351,12 +358,12 @@ sal_Int16 SAL_CALL XMLFilterDialogComponent::execute(  ) throw(RuntimeException)
         }
 
         Reference< XComponent > xComp( this );
-        mpDialog = new XMLFilterSettingsDialog( pParent, *mpResMgr, mxMSF );
-        mpDialog->ShowWindow();
+        mpDialog = new XMLFilterSettingsDialog(pParent, mxMSF);
+        mpDialog->Execute();
     }
     else if( !mpDialog->IsVisible() )
     {
-        mpDialog->ShowWindow();
+        mpDialog->Execute();
     }
     mpDialog->ToTop();
 
diff --git a/filter/source/xsltdialog/xmlfilterdialogstrings.hrc b/filter/source/xsltdialog/xmlfilterdialogstrings.hrc
index ec0f45f..2e34787 100644
--- a/filter/source/xsltdialog/xmlfilterdialogstrings.hrc
+++ b/filter/source/xsltdialog/xmlfilterdialogstrings.hrc
@@ -60,4 +60,6 @@
 #define STR_APPL_NAME_OASIS_IMPRESS             (RID_XSLT_DIALOG_START + 36)
 #define STR_APPL_NAME_OASIS_DRAW                (RID_XSLT_DIALOG_START + 37)
 
+#define STR_XML_FILTER_LISTBOX                  (RID_XSLT_DIALOG_START + 38)
+
 #endif
diff --git a/filter/source/xsltdialog/xmlfilterdialogstrings.src b/filter/source/xsltdialog/xmlfilterdialogstrings.src
index 18c5246..ec0d9b6 100644
--- a/filter/source/xsltdialog/xmlfilterdialogstrings.src
+++ b/filter/source/xsltdialog/xmlfilterdialogstrings.src
@@ -183,3 +183,8 @@ String STR_NO_FILTERS_FOUND
 {
     Text [ en-US ]  = "No XML filter could be installed because the package '%s' does not contain any XML filters.";
 };
+
+String STR_XML_FILTER_LISTBOX
+{
+    Text [ en-US ]  = "XML Filter List";
+};
diff --git a/filter/source/xsltdialog/xmlfilterhelpids.hrc b/filter/source/xsltdialog/xmlfilterhelpids.hrc
index d4ea134..712a8ef 100644
--- a/filter/source/xsltdialog/xmlfilterhelpids.hrc
+++ b/filter/source/xsltdialog/xmlfilterhelpids.hrc
@@ -20,15 +20,7 @@
 
 #define HID_XML_SOURCE_FILE_DIALOG                          "FILTER_HID_XML_SOURCE_FILE_DIALOG"
 #define HID_XML_SOURCE_FILE_VALIDATE                        "FILTER_HID_XML_SOURCE_FILE_VALIDATE"
-#define HID_XML_FILTER_SETTINGS_DIALOG                      "FILTER_HID_XML_FILTER_SETTINGS_DIALOG"
 #define HID_XML_FILTER_LIST                                 "FILTER_HID_XML_FILTER_LIST"
-#define HID_XML_FILTER_NEW                                  "FILTER_HID_XML_FILTER_NEW"
-#define HID_XML_FILTER_EDIT                                 "FILTER_HID_XML_FILTER_EDIT"
-#define HID_XML_FILTER_TEST                                 "FILTER_HID_XML_FILTER_TEST"
-#define HID_XML_FILTER_DELETE                               "FILTER_HID_XML_FILTER_DELETE"
-#define HID_XML_FILTER_SAVE                                 "FILTER_HID_XML_FILTER_SAVE"
-#define HID_XML_FILTER_OPEN                                 "FILTER_HID_XML_FILTER_OPEN"
-#define HID_XML_FILTER_CLOSE                                "FILTER_HID_XML_FILTER_CLOSE"
 
 #define HID_XML_FILTER_TABDIALOG                            "FILTER_HID_XML_FILTER_TABDIALOG"
 #define HID_XML_FILTER_TABPAGE_BASIC                        "FILTER_HID_XML_FILTER_TABPAGE_BASIC"
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
index 64f1baa..fc04e65 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
@@ -38,7 +38,6 @@
 
 #include "xmlfilterdialogstrings.hrc"
 #include "xmlfiltersettingsdialog.hxx"
-#include "xmlfiltersettingsdialog.hrc"
 #include "xmlfiltertabdialog.hxx"
 #include "xmlfiltertestdialog.hxx"
 #include "xmlfilterjar.hxx"
@@ -56,43 +55,38 @@ using namespace com::sun::star::util;
 using ::rtl::OUString;
 using ::rtl::Uri;
 
-ResMgr* XMLFilterSettingsDialog::mpResMgr = NULL;
-
-XMLFilterSettingsDialog::XMLFilterSettingsDialog( Window* pParent, ResMgr& rResMgr, const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rxMSF ) :
-    WorkWindow( pParent, ResId( DLG_XML_FILTER_SETTINGS_DIALOG, rResMgr ) ),
-    mxMSF( rxMSF ),
-    maCtrlFilterList( this, ResId( CTRL_XML_FILTER_LIST, rResMgr ) ),
-    maPBNew( this, ResId( PB_XML_FILTER_NEW, rResMgr ) ),
-    maPBEdit( this, ResId( PB_XML_FILTER_EDIT, rResMgr ) ),
-    maPBTest( this, ResId( PB_XML_FILTER_TEST, rResMgr ) ),
-    maPBDelete( this, ResId( PB_XML_FILTER_DELETE, rResMgr ) ),
-    maPBSave( this, ResId( PB_XML_FILTER_SAVE, rResMgr ) ),
-    maPBOpen( this, ResId( PB_XML_FILTER_OPEN, rResMgr ) ),
-    maPBHelp( this, ResId( BTN_XML_FILTER_HELP, rResMgr ) ),
-    maPBClose( this, ResId( PB_XML_FILTER_CLOSE, rResMgr ) ),
-    mbIsClosable(true),
-    sTemplatePath( RTL_CONSTASCII_USTRINGPARAM( "$(user)/template/") ),
-    sDocTypePrefix( RTL_CONSTASCII_USTRINGPARAM( "doctype:") )
+XMLFilterSettingsDialog::XMLFilterSettingsDialog(Window* pParent,
+    const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rxMSF)
+    : Dialog(pParent, "XMLFilterSettingsDialog", "filter/ui/xmlfiltersettings.ui")
+    , mxMSF( rxMSF )
+    , m_bIsClosable(true)
+    , m_sTemplatePath("$(user)/template/")
+    , m_sDocTypePrefix("doctype:")
 {
-    mpResMgr = &rResMgr;
-
-    mpFilterListBox = new XMLFilterListBox( &maCtrlFilterList );
-    mpFilterListBox->SetSelectHdl( LINK( this, XMLFilterSettingsDialog, SelectionChangedHdl_Impl ) );
-    mpFilterListBox->SetDeselectHdl( LINK( this, XMLFilterSettingsDialog, SelectionChangedHdl_Impl ) );
-    mpFilterListBox->SetDoubleClickHdl( LINK( this, XMLFilterSettingsDialog, DoubleClickHdl_Impl ) );
-    mpFilterListBox->SetAccessibleName(RESIDSTR(STR_XML_FILTER_LISTBOX));
-    maCtrlFilterList.SetAccessibleName(RESIDSTR(STR_XML_FILTER_LISTBOX));
-    mpFilterListBox->SetHelpId( HID_XML_FILTER_LIST );
-
-    FreeResource();
-
-    maPBNew.SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
-    maPBEdit.SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
-    maPBTest.SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
-    maPBDelete.SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
-    maPBSave.SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
-    maPBOpen.SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
-    maPBClose.SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
+    get(m_pCtrlFilterList, "filterlist");
+    get(m_pPBNew, "new");
+    get(m_pPBEdit, "edit");
+    get(m_pPBTest, "test");
+    get(m_pPBDelete, "delete");
+    get(m_pPBSave, "save");
+    get(m_pPBOpen, "open");
+    get(m_pPBClose, "close");
+
+    m_pFilterListBox = m_pCtrlFilterList->getListBox();
+    m_pFilterListBox->SetSelectHdl( LINK( this, XMLFilterSettingsDialog, SelectionChangedHdl_Impl ) );
+    m_pFilterListBox->SetDeselectHdl( LINK( this, XMLFilterSettingsDialog, SelectionChangedHdl_Impl ) );
+    m_pFilterListBox->SetDoubleClickHdl( LINK( this, XMLFilterSettingsDialog, DoubleClickHdl_Impl ) );
+    m_pFilterListBox->SetAccessibleName(RESIDSTR(STR_XML_FILTER_LISTBOX));
+    m_pCtrlFilterList->SetAccessibleName(RESIDSTR(STR_XML_FILTER_LISTBOX));
+    m_pFilterListBox->SetHelpId( HID_XML_FILTER_LIST );
+
+    m_pPBNew->SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
+    m_pPBEdit->SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
+    m_pPBTest->SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
+    m_pPBDelete->SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
+    m_pPBSave->SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
+    m_pPBOpen->SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
+    m_pPBClose->SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
 
     try
     {
@@ -103,7 +97,7 @@ XMLFilterSettingsDialog::XMLFilterSettingsDialog( Window* pParent, ResMgr& rResM
         Reference< XConfigManager > xCfgMgr( mxMSF->createInstance(OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.config.SpecialConfigManager" )) ), UNO_QUERY );
         if( xCfgMgr.is() )
         {
-            sTemplatePath = xCfgMgr->substituteVariables( sTemplatePath );
+            m_sTemplatePath = xCfgMgr->substituteVariables( m_sTemplatePath );
         }
     }
     catch(const Exception&)
@@ -114,47 +108,40 @@ XMLFilterSettingsDialog::XMLFilterSettingsDialog( Window* pParent, ResMgr& rResM
 
 // -----------------------------------------------------------------------
 
-XMLFilterSettingsDialog::~XMLFilterSettingsDialog()
-{
-    delete mpFilterListBox;
-}
-
-// -----------------------------------------------------------------------
-
 IMPL_LINK(XMLFilterSettingsDialog, ClickHdl_Impl, PushButton *, pButton )
 {
-    mbIsClosable = false;
+    m_bIsClosable = false;
 
-    if( &maPBNew == pButton )
+    if (m_pPBNew == pButton)
     {
         onNew();
     }
-    else if( &maPBEdit == pButton )
+    else if (m_pPBEdit == pButton)
     {
         onEdit();
     }
-    else if( &maPBTest == pButton )
+    else if (m_pPBTest == pButton)
     {
         onTest();
     }
-    else if( &maPBDelete == pButton )
+    else if (m_pPBDelete == pButton)
     {
         onDelete();
     }
-    else if( &maPBSave == pButton )
+    else if (m_pPBSave == pButton)
     {
         onSave();
     }
-    else if( &maPBOpen == pButton )
+    else if (m_pPBOpen == pButton)
     {
         onOpen();
     }
-    else if( &maPBClose == pButton )
+    else if (m_pPBClose == pButton)
     {
         onClose();
     }
 
-    mbIsClosable = true;
+    m_bIsClosable = true;
     return 0;
 }
 
@@ -176,32 +163,31 @@ IMPL_LINK_NOARG(XMLFilterSettingsDialog, DoubleClickHdl_Impl)
 
 bool XMLFilterSettingsDialog::isClosable()
 {
-    return mbIsClosable;
+    return m_bIsClosable;
 }
 
 // -----------------------------------------------------------------------
 
-void XMLFilterSettingsDialog::ShowWindow()
+short XMLFilterSettingsDialog::Execute()
 {
-    maCtrlFilterList.GrabFocus();
+    m_pCtrlFilterList->GrabFocus();
     disposeFilterList();
-    mpFilterListBox->Clear();
+    m_pFilterListBox->Clear();
     initFilterList();
     updateStates();
-    mpFilterListBox->Reset();
 
-    WorkWindow::Show( sal_True );
+    return Dialog::Execute();
 }
 
 // -----------------------------------------------------------------------
 
 void XMLFilterSettingsDialog::updateStates()
 {
-    SvTreeListEntry* pSelectedEntry = mpFilterListBox->FirstSelected();
+    SvTreeListEntry* pSelectedEntry = m_pFilterListBox->FirstSelected();
 
     bool bHasSelection = pSelectedEntry != NULL;
 
-    bool bMultiSelection = bHasSelection && (mpFilterListBox->NextSelected( pSelectedEntry ) != NULL );
+    bool bMultiSelection = bHasSelection && (m_pFilterListBox->NextSelected( pSelectedEntry ) != NULL );
     bool bIsReadonly = false;
     bool bIsDefault = false;
     if(pSelectedEntry)
@@ -221,10 +207,10 @@ void XMLFilterSettingsDialog::updateStates()
             ++nFact;
         }
     }
-    maPBEdit.Enable( bHasSelection && !bMultiSelection && !bIsReadonly);
-    maPBTest.Enable( bHasSelection && !bMultiSelection );
-    maPBDelete.Enable( bHasSelection && !bMultiSelection && !bIsReadonly && !bIsDefault);
-    maPBSave.Enable( bHasSelection );
+    m_pPBEdit->Enable( bHasSelection && !bMultiSelection && !bIsReadonly);
+    m_pPBTest->Enable( bHasSelection && !bMultiSelection );
+    m_pPBDelete->Enable( bHasSelection && !bMultiSelection && !bIsReadonly && !bIsDefault);
+    m_pPBSave->Enable( bHasSelection );
 }
 
 // -----------------------------------------------------------------------
@@ -248,7 +234,7 @@ void XMLFilterSettingsDialog::onNew()
     aTempInfo.maDocumentService = OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.text.TextDocument" ));
 
     // execute XML Filter Dialog
-    XMLFilterTabDialog aDlg( this, *mpResMgr, mxMSF, &aTempInfo );
+    XMLFilterTabDialog aDlg( this, *getXSLTDialogResMgr(), mxMSF, &aTempInfo );
     if ( aDlg.Execute() == RET_OK )
     {
         // insert the new filter
@@ -262,14 +248,14 @@ void XMLFilterSettingsDialog::onNew()
 void XMLFilterSettingsDialog::onEdit()
 {
     // get selected filter entry
-    SvTreeListEntry* pEntry = mpFilterListBox->FirstSelected();
+    SvTreeListEntry* pEntry = m_pFilterListBox->FirstSelected();
     if( pEntry )
     {
         // get its filter info
         filter_info_impl* pOldInfo = (filter_info_impl*)pEntry->GetUserData();
 
         // execute XML Filter Dialog
-        XMLFilterTabDialog aDlg( this, *mpResMgr, mxMSF, pOldInfo );
+        XMLFilterTabDialog aDlg( this, *getXSLTDialogResMgr(), mxMSF, pOldInfo );
         if ( aDlg.Execute() == RET_OK )
         {
             filter_info_impl* pNewInfo = aDlg.getNewFilterInfo();
@@ -497,12 +483,12 @@ bool XMLFilterSettingsDialog::insertOrEdit( filter_info_impl* pNewInfo, const fi
     // check if we need to copy the template
     if( !pFilterEntry->maImportTemplate.isEmpty() )
     {
-        if( !pFilterEntry->maImportTemplate.matchIgnoreAsciiCase( sTemplatePath ) )
+        if( !pFilterEntry->maImportTemplate.matchIgnoreAsciiCase( m_sTemplatePath ) )
         {
             INetURLObject aSourceURL( pFilterEntry->maImportTemplate );
             if( !aSourceURL.GetName().isEmpty() )
             {
-                OUString aDestURL( sTemplatePath );
+                OUString aDestURL( m_sTemplatePath );
                 aDestURL += pFilterEntry->maFilterName;
                 aDestURL += OUString( sal_Unicode('/') );
                 if( createDirectory( aDestURL ) )
@@ -607,16 +593,16 @@ bool XMLFilterSettingsDialog::insertOrEdit( filter_info_impl* pNewInfo, const fi
         aValues[0].Value <<= pFilterEntry->maInterfaceName;
         aValues[1].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "ClipboardFormat" ) );
         OUString aDocType;
-        if( !pFilterEntry->maDocType.match( sDocTypePrefix ) )
+        if( !pFilterEntry->maDocType.match( m_sDocTypePrefix ) )
         {
-            aDocType = sDocTypePrefix;
+            aDocType = m_sDocTypePrefix;
             aDocType += pFilterEntry->maDocType;
         }
         else
         {
             aDocType = pFilterEntry->maDocType;
         }
-        if (aDocType == sDocTypePrefix)
+        if (aDocType == m_sDocTypePrefix)
             aValues[1].Value <<= OUString();
         else
             aValues[1].Value <<= aDocType;
@@ -628,7 +614,7 @@ bool XMLFilterSettingsDialog::insertOrEdit( filter_info_impl* pNewInfo, const fi
         aValues[3].Value <<= createExtensionsSequence( pFilterEntry->maExtension );
 
         // the detect service will only be registered, if a doctype/search token was specified
-        if (aDocType.getLength() > sDocTypePrefix.getLength())
+        if (aDocType.getLength() > m_sDocTypePrefix.getLength())
         {
             aValues.realloc(5);
             aValues[4].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "DetectService" ) );
@@ -774,11 +760,11 @@ bool XMLFilterSettingsDialog::insertOrEdit( filter_info_impl* pNewInfo, const fi
     {
         if( pOldInfo )
         {
-            mpFilterListBox->changeEntry( pFilterEntry );
+            m_pFilterListBox->changeEntry( pFilterEntry );
         }
         else
         {
-            mpFilterListBox->addFilterEntry( pFilterEntry );
+            m_pFilterListBox->addFilterEntry( pFilterEntry );
             maFilterVector.push_back( pFilterEntry );
         }
     }
@@ -792,12 +778,12 @@ bool XMLFilterSettingsDialog::insertOrEdit( filter_info_impl* pNewInfo, const fi
 void XMLFilterSettingsDialog::onTest()
 {
     // get the first selected filter
-    SvTreeListEntry* pEntry = mpFilterListBox->FirstSelected();
+    SvTreeListEntry* pEntry = m_pFilterListBox->FirstSelected();
     if( pEntry )
     {
         filter_info_impl* pInfo = (filter_info_impl*)pEntry->GetUserData();
 
-        XMLFilterTestDialog aDlg( this, *mpResMgr, mxMSF );
+        XMLFilterTestDialog aDlg( this, *getXSLTDialogResMgr(), mxMSF );
         aDlg.test( *pInfo );
     }
 }
@@ -806,7 +792,7 @@ void XMLFilterSettingsDialog::onTest()
 
 void XMLFilterSettingsDialog::onDelete()
 {
-    SvTreeListEntry* pEntry = mpFilterListBox->FirstSelected();
+    SvTreeListEntry* pEntry = m_pFilterListBox->FirstSelected();
     if( pEntry )
     {
         filter_info_impl* pInfo = (filter_info_impl*)pEntry->GetUserData();
@@ -876,7 +862,7 @@ void XMLFilterSettingsDialog::onDelete()
                         xFlushable->flush();
 
                     // now remove entry from ui
-                    mpFilterListBox->RemoveSelection();
+                    m_pFilterListBox->RemoveSelection();
 
                     // and delete the filter entry
                     maFilterVector.erase(std::find( maFilterVector.begin(), maFilterVector.end(), pInfo ));
@@ -902,12 +888,12 @@ void XMLFilterSettingsDialog::onSave()
 
     int nFilters = 0;
 
-    SvTreeListEntry* pEntry = mpFilterListBox->FirstSelected();
+    SvTreeListEntry* pEntry = m_pFilterListBox->FirstSelected();
     while( pEntry )
     {
         filter_info_impl* pInfo = (filter_info_impl*)pEntry->GetUserData();
         aFilters.push_back( pInfo );
-        pEntry = mpFilterListBox->NextSelected( pEntry );
+        pEntry = m_pFilterListBox->NextSelected( pEntry );
         nFilters++;
     }
 
@@ -1030,7 +1016,7 @@ void XMLFilterSettingsDialog::onClose()
 long XMLFilterSettingsDialog::Notify( NotifyEvent& rNEvt )
 {
     // Zuerst Basisklasse rufen wegen TabSteuerung
-    long nRet = WorkWindow::Notify( rNEvt );
+    long nRet = Dialog::Notify( rNEvt );
     if ( !nRet )
     {
         if ( rNEvt.GetType() == EVENT_KEYINPUT )
@@ -1062,7 +1048,7 @@ void XMLFilterSettingsDialog::disposeFilterList()
     }
     maFilterVector.clear();
 
-    mpFilterListBox->Clear();
+    m_pFilterListBox->Clear();
 }
 
 // -----------------------------------------------------------------------
@@ -1184,8 +1170,8 @@ void XMLFilterSettingsDialog::initFilterList()
                                     OUString aDocType;
                                     pValues2->Value >>= aDocType;
 
-                                    if( aDocType.match( sDocTypePrefix ) )
-                                        aDocType = aDocType.copy( sDocTypePrefix.getLength() );
+                                    if( aDocType.match( m_sDocTypePrefix ) )
+                                        aDocType = aDocType.copy( m_sDocTypePrefix.getLength() );
 
                                     pTempFilter->maDocType = aDocType;
                                 }
@@ -1229,7 +1215,7 @@ void XMLFilterSettingsDialog::initFilterList()
 
                 // add entry to internal container and to ui filter list box
                 maFilterVector.push_back( pTempFilter );
-                mpFilterListBox->addFilterEntry( pTempFilter );
+                m_pFilterListBox->addFilterEntry( pTempFilter );
 
 
                 pTempFilter = new filter_info_impl;
@@ -1244,9 +1230,9 @@ void XMLFilterSettingsDialog::initFilterList()
         delete pTempFilter;
     }
 
-    SvTreeListEntry* pEntry = mpFilterListBox->GetEntry( 0 );
+    SvTreeListEntry* pEntry = m_pFilterListBox->GetEntry( 0 );
     if( pEntry )
-        mpFilterListBox->Select( pEntry );
+        m_pFilterListBox->Select( pEntry );
 }
 
 // -----------------------------------------------------------------------
@@ -1371,83 +1357,88 @@ OUString getApplicationUIName( const OUString& rServiceName )
     }
 }
 
-// -----------------------------------------------------------------------
+SvxPathControl::SvxPathControl(Window* pParent)
+    : VclVBox(pParent)
+    , bHasBeenShown(false)
+{
+    m_pHeaderBar = new HeaderBar(this, WB_BOTTOMBORDER);
+    m_pHeaderBar->set_height_request(16);
 
-ResMgr* getXSLTDialogResMgr()
+    m_pFocusCtrl = new XMLFilterListBox(this);
+    m_pFocusCtrl->set_fill(true);
+    m_pFocusCtrl->set_expand(true);
+}
+
+#define ITEMID_NAME     1
+#define ITEMID_TYPE     2
+
+void SvxPathControl::setAllocation(const Size &rAllocation)
 {
-    return XMLFilterSettingsDialog::mpResMgr;
+    VclVBox::setAllocation(rAllocation);
+
+    if (!bHasBeenShown)
+        bHasBeenShown = IsReallyShown();
+
+    if (!bHasBeenShown)
+    {
+        std::vector<long> aWidths;
+        m_pFocusCtrl->getPreferredDimensions(aWidths);
+        long nFirstColumnWidth = aWidths[1];
+        m_pHeaderBar->SetItemSize(ITEMID_NAME, nFirstColumnWidth);
+        m_pHeaderBar->SetItemSize(ITEMID_TYPE, 0xFFFF);
+        long nTabs[] = {2, 0, nFirstColumnWidth};
+        m_pFocusCtrl->SetTabs(&nTabs[0], MAP_PIXEL);
+    }
 }
 
-// -----------------------------------------------------------------------
+SvxPathControl::~SvxPathControl()
+{
+    delete m_pFocusCtrl;
+    delete m_pHeaderBar;
+}
 
-// -----------------------------------------------------------------------
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSvxPathControl(Window *pParent, VclBuilder::stringmap &)
+{
+    return new SvxPathControl(pParent);
+}
 
-long SvxPathControl_Impl::Notify( NotifyEvent& rNEvt )
+long SvxPathControl::Notify(NotifyEvent& rNEvt)
 {
-    long nRet = Control::Notify( rNEvt );
+    long nRet = VclVBox::Notify(rNEvt);
 
     if ( m_pFocusCtrl && rNEvt.GetWindow() != m_pFocusCtrl && rNEvt.GetType() == EVENT_GETFOCUS )
         m_pFocusCtrl->GrabFocus();
+
     return nRet;
 }
 
-#define ITEMID_NAME     1
-#define ITEMID_TYPE     2
-
-XMLFilterListBox::XMLFilterListBox( SvxPathControl_Impl * pParent )
-:   SvTabListBox( pParent, WB_SORT | WB_HSCROLL | WB_CLIPCHILDREN | WB_TABSTOP ),
-    mbFirstPaint( true )
+XMLFilterListBox::XMLFilterListBox(SvxPathControl* pParent)
+    : SvTabListBox(pParent, WB_SORT | WB_HSCROLL | WB_CLIPCHILDREN | WB_TABSTOP)
+    , mbFirstPaint(true)
+    , m_pHeaderBar(pParent->getHeaderBar())
 {
     Size aBoxSize( pParent->GetOutputSizePixel() );
 
-    mpHeaderBar = new HeaderBar( pParent, /*WB_BUTTONSTYLE | */ WB_BOTTOMBORDER );
-    mpHeaderBar->SetPosSizePixel( Point( 0, 0 ), Size( aBoxSize.Width(), 16 ) );
-    mpHeaderBar->SetEndDragHdl( LINK( this, XMLFilterListBox, HeaderEndDrag_Impl ) );
+    m_pHeaderBar->SetEndDragHdl( LINK( this, XMLFilterListBox, HeaderEndDrag_Impl ) );
 
     OUString aStr1(RESIDSTR(STR_COLUMN_HEADER_NAME));
     OUString aStr2(RESIDSTR(STR_COLUMN_HEADER_TYPE));
 
     long nTabSize = aBoxSize.Width() / 2;
 
-    mpHeaderBar->InsertItem( ITEMID_NAME, aStr1, nTabSize,
+    m_pHeaderBar->InsertItem( ITEMID_NAME, aStr1, nTabSize,
                             HIB_LEFT | HIB_VCENTER );
-    mpHeaderBar->InsertItem( ITEMID_TYPE, aStr2, nTabSize,
+    m_pHeaderBar->InsertItem( ITEMID_TYPE, aStr2, nTabSize,
                             HIB_LEFT | HIB_VCENTER );
 
-    static long nTabs[] = {3, 0, nTabSize, 2*nTabSize };
-    Size aHeadSize( mpHeaderBar->GetSizePixel() );
+    static long nTabs[] = {2, 0, nTabSize };
 
-    pParent->SetFocusControl( this );
-//  SetDoubleClickHdl( aLink );
-//  SetSelectHdl( LINK( this, SvxPathTabPage, PathSelect_Impl ) );
     SetSelectionMode( MULTIPLE_SELECTION );
-    SetPosSizePixel( Point( 0, aHeadSize.Height() ), Size( aBoxSize.Width(), aBoxSize.Height() - aHeadSize.Height() ) );
     SetTabs( &nTabs[0], MAP_PIXEL );
     SetScrolledHdl( LINK( this, XMLFilterListBox, TabBoxScrollHdl_Impl ) );
     SetHighlightRange();
-//  SetHelpId( HID_OPTPATH_CTL_PATH );
-//  mpHeaderBar->SetHelpId( HID_OPTPATH_HEADERBAR );
     Show();
-    mpHeaderBar->Show();
-}
-
-// -----------------------------------------------------------------------
-
-XMLFilterListBox::~XMLFilterListBox()
-{
-    delete mpHeaderBar;
-}
-
-// -----------------------------------------------------------------------
-
-void XMLFilterListBox::Reset()
-{
-    Size aBoxSize( Window::GetParent()->GetOutputSizePixel() );
-    long nTabSize = aBoxSize.Width() / 2;
-    static long nTabs[] = {3, 0, nTabSize, 2*nTabSize };
-    SetTabs( &nTabs[0], MAP_PIXEL );
-    mpHeaderBar->SetItemSize( ITEMID_NAME, nTabSize );
-    mpHeaderBar->SetItemSize( ITEMID_TYPE, nTabSize );
+    m_pHeaderBar->Show();
 }
 
 // -----------------------------------------------------------------------
@@ -1465,7 +1456,7 @@ void XMLFilterListBox::Paint( const Rectangle& rRect )
 
 IMPL_LINK( XMLFilterListBox, TabBoxScrollHdl_Impl, SvTabListBox*, /* pList */ )
 {
-    mpHeaderBar->SetOffset( -GetXOffset() );
+    m_pHeaderBar->SetOffset( -GetXOffset() );
     return 0;
 }
 
@@ -1476,22 +1467,22 @@ IMPL_LINK( XMLFilterListBox, HeaderEndDrag_Impl, HeaderBar*, pBar )
     if ( pBar && !pBar->GetCurItemId() )
         return 0;
 
-    if ( !mpHeaderBar->IsItemMode() )
+    if ( !m_pHeaderBar->IsItemMode() )
     {
         Size aSz;
-        sal_uInt16 nTabs = mpHeaderBar->GetItemCount();
+        sal_uInt16 nTabs = m_pHeaderBar->GetItemCount();
         long nTmpSz = 0;
-        long nWidth = mpHeaderBar->GetItemSize(ITEMID_NAME);
-        long nBarWidth = mpHeaderBar->GetSizePixel().Width();
+        long nWidth = m_pHeaderBar->GetItemSize(ITEMID_NAME);
+        long nBarWidth = m_pHeaderBar->GetSizePixel().Width();
 
         if(nWidth < 30)
-            mpHeaderBar->SetItemSize( ITEMID_TYPE, 30);
+            m_pHeaderBar->SetItemSize( ITEMID_TYPE, 30);
         else if ( ( nBarWidth - nWidth ) < 30 )
-            mpHeaderBar->SetItemSize( ITEMID_TYPE, nBarWidth - 30 );
+            m_pHeaderBar->SetItemSize( ITEMID_TYPE, nBarWidth - 30 );
 
         for ( sal_uInt16 i = 1; i <= nTabs; ++i )
         {
-            long nW = mpHeaderBar->GetItemSize(i);
+            long nW = m_pHeaderBar->GetItemSize(i);
             aSz.Width() =  nW + nTmpSz;
             nTmpSz += nW;
             SetTab( i, PixelToLogic( aSz, MapMode(MAP_APPFONT) ).Width(), MAP_APPFONT );
@@ -1533,7 +1524,6 @@ String XMLFilterListBox::getEntryString( const filter_info_impl* pInfo ) const
 {
     String aEntryStr( pInfo->maFilterName );
     aEntryStr += '\t';
-    // aEntryStr += String( getApplicationUIName( pInfo->maDocumentService ) );
     if ( !pInfo->maExportService.isEmpty() )
         aEntryStr += String( getApplicationUIName( pInfo->maExportService ) );
     else
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.hrc b/filter/source/xsltdialog/xmlfiltersettingsdialog.hrc
deleted file mode 100644
index 3f10ab5..0000000
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.hrc
+++ /dev/null
@@ -1,34 +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 _XMLFILTERSETTINGSDIALOG_HRC_
-#define _XMLFILTERSETTINGSDIALOG_HRC_
-
-#include "xmlfiltercommon.hrc"
-
-#define CTRL_XML_FILTER_LIST            1
-#define PB_XML_FILTER_NEW               2
-#define PB_XML_FILTER_EDIT              3
-#define PB_XML_FILTER_TEST              4
-#define PB_XML_FILTER_DELETE            5
-#define PB_XML_FILTER_SAVE              6
-#define PB_XML_FILTER_OPEN              7
-#define BTN_XML_FILTER_HELP             8
-#define PB_XML_FILTER_CLOSE             9
-#define STR_XML_FILTER_LISTBOX          10
-#endif
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
index 57330ef..006d4e0 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
@@ -23,9 +23,9 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/container/XHierarchicalName.hpp>
 #include <com/sun/star/container/XNameContainer.hpp>
-#include <vcl/wrkwin.hxx>
-
 #include <vcl/button.hxx>
+#include <vcl/dialog.hxx>
+#include <vcl/layout.hxx>
 #include <svtools/svtabbx.hxx>
 #include <svl/poolitem.hxx>
 #include <unotools/moduleoptions.hxx>
@@ -34,16 +34,22 @@
 
 // --------------------------------------------------------------------
 
-class SvxPathControl_Impl : public Control
+class HeaderBar;
+class XMLFilterListBox;
+
+class SvxPathControl : public VclVBox
 {
 private:
-    Control*        m_pFocusCtrl;
-
+    bool bHasBeenShown;
+    HeaderBar* m_pHeaderBar;
+    XMLFilterListBox* m_pFocusCtrl;
+protected:
+    virtual void setAllocation(const Size &rAllocation);
 public:
-    SvxPathControl_Impl( Window* pParent, const ResId& rId ) :
-        Control( pParent, rId ), m_pFocusCtrl( NULL ) {}
-
-    void            SetFocusControl( Control* pCtrl ) { m_pFocusCtrl = pCtrl; }
+    SvxPathControl(Window* pParent);
+    HeaderBar* getHeaderBar() { return m_pHeaderBar; }
+    XMLFilterListBox* getListBox() { return m_pFocusCtrl; }
+    ~SvxPathControl();
 
     virtual long    Notify( NotifyEvent& rNEvt );
 };
@@ -56,7 +62,7 @@ class XMLFilterListBox : public SvTabListBox
 {
 private:
     bool        mbFirstPaint;
-    HeaderBar*  mpHeaderBar;
+    HeaderBar*  m_pHeaderBar;
 
     DECL_LINK( TabBoxScrollHdl_Impl, SvTabListBox* );
     DECL_LINK( HeaderEndDrag_Impl, HeaderBar* );
@@ -64,10 +70,7 @@ private:
     String getEntryString( const filter_info_impl* pInfo ) const;
 
 public:
-    XMLFilterListBox( SvxPathControl_Impl* pParent );
-    ~XMLFilterListBox();
-
-    void Reset();
+    XMLFilterListBox(SvxPathControl* pParent);
 
     /** adds a new filter info entry to the ui filter list */
     void addFilterEntry( const filter_info_impl* pInfo );
@@ -79,17 +82,17 @@ public:
 
 // --------------------------------------------------------------------
 
-class XMLFilterSettingsDialog : public WorkWindow
+class XMLFilterSettingsDialog : public Dialog
 {
 public:
-    XMLFilterSettingsDialog( Window* pParent, ResMgr& rResMgr, const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rxMSF  );
-    virtual ~XMLFilterSettingsDialog();
+    XMLFilterSettingsDialog(Window* pParent,
+        const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rxMSF);
 
     DECL_LINK(ClickHdl_Impl, PushButton * );
     DECL_LINK(SelectionChangedHdl_Impl, void * );
     DECL_LINK(DoubleClickHdl_Impl, void * );
 
-    void ShowWindow();
+    virtual short Execute();
 
     void    onNew();
     void    onEdit();
@@ -105,8 +108,6 @@ public:
 
     bool    isClosable();
 
-    static ResMgr* mpResMgr;
-
 private:
     void    initFilterList();
     void    disposeFilterList();
@@ -126,21 +127,20 @@ private:
 
     std::vector< filter_info_impl* > maFilterVector;
 
-    XMLFilterListBox*   mpFilterListBox;
-    SvxPathControl_Impl maCtrlFilterList;
-    PushButton  maPBNew;
-    PushButton  maPBEdit;
-    PushButton  maPBTest;
-    PushButton  maPBDelete;
-    PushButton  maPBSave;
-    PushButton  maPBOpen;
-    HelpButton  maPBHelp;
-    PushButton  maPBClose;
-
-    bool    mbIsClosable;
-
-    ::rtl::OUString sTemplatePath;
-    ::rtl::OUString sDocTypePrefix;
+    XMLFilterListBox*   m_pFilterListBox;
+    SvxPathControl* m_pCtrlFilterList;
+    PushButton* m_pPBNew;
+    PushButton* m_pPBEdit;
+    PushButton* m_pPBTest;
+    PushButton* m_pPBDelete;
+    PushButton* m_pPBSave;
+    PushButton* m_pPBOpen;
+    PushButton* m_pPBClose;
+
+    bool m_bIsClosable;
+
+    OUString m_sTemplatePath;
+    OUString m_sDocTypePrefix;
 
     SvtModuleOptions maModuleOpt;
 };
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.src b/filter/source/xsltdialog/xmlfiltersettingsdialog.src
deleted file mode 100644
index 77d1d78..0000000
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.src
+++ /dev/null
@@ -1,123 +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 "xmlfiltersettingsdialog.hrc"
-#include "xmlfilterhelpids.hrc"
-
-#define BUTTONS_LEFT        248
-#define BUTTONS_TOP         6
-#define BUTTONS_SPACEING    3
-#define BUTTONS_WIDTH       66
-#define BUTTONS_HEIGHT      14
-
-WorkWindow DLG_XML_FILTER_SETTINGS_DIALOG
-{
-    Size                    = MAP_APPFONT( 320, 154 );
-    HelpId                  = HID_XML_FILTER_SETTINGS_DIALOG;
-    OutputSize              = TRUE ;
-    SVLook                  = TRUE ;
-    Moveable                = TRUE ;
-    Closeable               = TRUE ;
-    Sizeable                = FALSE;
-    DialogControl           = TRUE ;
-    Text [ en-US ]      = "XML Filter Settings" ;
-
-    Control CTRL_XML_FILTER_LIST
-    {
-        Pos                 = MAP_APPFONT ( 6 , 6 ) ;
-        Size                = MAP_APPFONT ( 235 , 142 );
-        Border              = TRUE ;
-        TabStop             = TRUE ;
-    };
-
-    PushButton PB_XML_FILTER_NEW
-    {
-        Pos                 = MAP_APPFONT ( BUTTONS_LEFT , BUTTONS_TOP + 0 * BUTTONS_HEIGHT + 0 * BUTTONS_SPACEING ) ;
-        Size                = MAP_APPFONT ( BUTTONS_WIDTH , BUTTONS_HEIGHT ) ;
-        HelpId              = HID_XML_FILTER_NEW;
-        TabStop             = TRUE ;
-        Text [ en-US ]  = "~New...";
-    };
-
-    PushButton PB_XML_FILTER_EDIT
-    {
-        Pos                 = MAP_APPFONT ( BUTTONS_LEFT , BUTTONS_TOP + 1 * BUTTONS_HEIGHT + 1 * BUTTONS_SPACEING ) ;
-        Size                = MAP_APPFONT ( BUTTONS_WIDTH , BUTTONS_HEIGHT ) ;
-        HelpId              = HID_XML_FILTER_EDIT;
-        TabStop             = TRUE ;
-        Text [ en-US ]  = "~Edit...";
-    };
-
-    PushButton PB_XML_FILTER_TEST
-    {
-        Pos                 = MAP_APPFONT ( BUTTONS_LEFT , BUTTONS_TOP + 2 * BUTTONS_HEIGHT + 2 * BUTTONS_SPACEING ) ;
-        Size                = MAP_APPFONT ( BUTTONS_WIDTH , BUTTONS_HEIGHT ) ;
-        HelpId              = HID_XML_FILTER_TEST;
-        TabStop             = TRUE ;
-        Text [ en-US ]  = "~Test XSLTs...";
-    };
-
-    PushButton PB_XML_FILTER_DELETE
-    {
-        Pos                 = MAP_APPFONT ( BUTTONS_LEFT , BUTTONS_TOP + 3 * BUTTONS_HEIGHT + 4 * BUTTONS_SPACEING ) ;
-        Size                = MAP_APPFONT ( BUTTONS_WIDTH , BUTTONS_HEIGHT ) ;
-        HelpId              = HID_XML_FILTER_DELETE;
-        TabStop             = TRUE ;
-        Text [ en-US ]  = "~Delete...";
-    };
-
-    PushButton PB_XML_FILTER_SAVE
-    {
-        Pos                 = MAP_APPFONT ( BUTTONS_LEFT , BUTTONS_TOP + 4 * BUTTONS_HEIGHT + 6 * BUTTONS_SPACEING ) ;
-        Size                = MAP_APPFONT ( BUTTONS_WIDTH , BUTTONS_HEIGHT ) ;
-        HelpId              = HID_XML_FILTER_SAVE;
-        TabStop             = TRUE ;
-        Text [ en-US ]  = "~Save as Package...";
-    };
-
-    PushButton PB_XML_FILTER_OPEN
-    {
-        Pos                 = MAP_APPFONT ( BUTTONS_LEFT , BUTTONS_TOP + 5 * BUTTONS_HEIGHT + 7 * BUTTONS_SPACEING ) ;
-        Size                = MAP_APPFONT ( BUTTONS_WIDTH , BUTTONS_HEIGHT ) ;
-        HelpId              = HID_XML_FILTER_OPEN;
-        TabStop             = TRUE ;
-        Text [ en-US ]  = "~Open Package...";
-        TabStop             = TRUE ;
-    };
-
-    HelpButton BTN_XML_FILTER_HELP
-    {
-        Pos                 = MAP_APPFONT ( BUTTONS_LEFT, BUTTONS_TOP + 6 * BUTTONS_HEIGHT + 9 * BUTTONS_SPACEING );
-        Size                = MAP_APPFONT ( BUTTONS_WIDTH, BUTTONS_HEIGHT );
-    };
-
-    PushButton PB_XML_FILTER_CLOSE
-    {
-        Pos                 = MAP_APPFONT ( BUTTONS_LEFT , BUTTONS_TOP + 7 * BUTTONS_HEIGHT + 10 * BUTTONS_SPACEING ) ;
-        Size                = MAP_APPFONT ( BUTTONS_WIDTH , BUTTONS_HEIGHT ) ;
-        HelpId              = HID_XML_FILTER_CLOSE;
-        TabStop             = TRUE ;
-        Text [ en-US ]  = "~Close";
-    };
-
-    String STR_XML_FILTER_LISTBOX
-    {
-        Text [ en-US ]  = "XML Filter List";
-    };
-
-};
diff --git a/filter/source/xsltdialog/xmlfiltertabdialog.cxx b/filter/source/xsltdialog/xmlfiltertabdialog.cxx
index ddd5041..a9152dd 100644
--- a/filter/source/xsltdialog/xmlfiltertabdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltertabdialog.cxx
@@ -31,7 +31,6 @@
 #include "xmlfiltertabpagebasic.hxx"
 #include "xmlfiltertabpagexslt.hxx"
 #include "xmlfiltersettingsdialog.hxx"
-#include "xmlfiltersettingsdialog.hrc"
 #include "xmlfilterhelpids.hrc"
 
 using namespace com::sun::star::uno;
diff --git a/filter/uiconfig/ui/xmlfiltersettings.ui b/filter/uiconfig/ui/xmlfiltersettings.ui
new file mode 100644
index 0000000..6b95c7e
--- /dev/null
+++ b/filter/uiconfig/ui/xmlfiltersettings.ui
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkDialog" id="XMLFilterSettingsDialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">XML Filter Settings</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="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
+            <property name="homogeneous">True</property>
+            <property name="layout_style">start</property>
+            <child>
+              <object class="GtkButton" id="new">
+                <property name="label">_New...</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_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="edit">
+                <property name="label">_Edit...</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_underline">True</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="test">
+                <property name="label">_Test XSLTs...</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_underline">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">_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_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="save">
+                <property name="label">_Save as Package...</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_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">4</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="open">
+                <property name="label">_Open Package...</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_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">5</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">6</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="close">
+                <property name="label">gtk-close</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_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">8</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="xsltdlglo:SvxPathControl" id="filterlist">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="height_request">100</property>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="0">new</action-widget>
+      <action-widget response="0">edit</action-widget>
+      <action-widget response="0">test</action-widget>
+      <action-widget response="0">delete</action-widget>
+      <action-widget response="0">save</action-widget>
+      <action-widget response="0">open</action-widget>
+      <action-widget response="0">help</action-widget>
+      <action-widget response="0">close</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/svtools/inc/svtools/treelist.hxx b/svtools/inc/svtools/treelist.hxx
index 77ad16f..96c78bb 100644
--- a/svtools/inc/svtools/treelist.hxx
+++ b/svtools/inc/svtools/treelist.hxx
@@ -406,7 +406,7 @@ public:
     sal_Bool            IsSelected( SvTreeListEntry* pEntry ) const;
     sal_Bool            HasEntryFocus( SvTreeListEntry* pEntry ) const;
     void                SetEntryFocus( SvTreeListEntry* pEntry, sal_Bool bFocus );
-    const SvViewData*         GetViewData( SvTreeListEntry* pEntry ) const;
+    const SvViewData*         GetViewData( const SvTreeListEntry* pEntry ) const;
     SvViewData*         GetViewData( SvTreeListEntry* pEntry );
     sal_Bool            HasViewData() const
     { return maDataTable.size() > 1; }  // There's always a ROOT
@@ -460,26 +460,18 @@ inline void SvListView::SetEntryFocus( SvTreeListEntry* pEntry, sal_Bool bFocus
     itr->second->SetFocus(bFocus);
 }
 
-inline const SvViewData* SvListView::GetViewData( SvTreeListEntry* pEntry ) const
+inline const SvViewData* SvListView::GetViewData( const SvTreeListEntry* pEntry ) const
 {
-#ifndef DBG_UTIL
-    return maDataTable.find( pEntry )->second;
-#else
-    SvDataTable::const_iterator itr = maDataTable.find( pEntry );
+    SvDataTable::const_iterator itr = maDataTable.find( const_cast<SvTreeListEntry*>(pEntry) );
     DBG_ASSERT(itr != maDataTable.end(),"Entry not in model or wrong view");
     return itr->second;
-#endif
 }
 
 inline SvViewData* SvListView::GetViewData( SvTreeListEntry* pEntry )
 {
-#ifndef DBG_UTIL
-    return maDataTable.find( pEntry )->second;
-#else
     SvDataTable::iterator itr = maDataTable.find( pEntry );
     DBG_ASSERT(itr != maDataTable.end(),"Entry not in model or wrong view");
     return itr->second;
-#endif
 }
 
 #endif
diff --git a/svtools/inc/svtools/treelistbox.hxx b/svtools/inc/svtools/treelistbox.hxx
index fda95eb..308b2b2 100644
--- a/svtools/inc/svtools/treelistbox.hxx
+++ b/svtools/inc/svtools/treelistbox.hxx
@@ -23,6 +23,7 @@
 #include "svtools/svtdllapi.h"
 
 #include <deque>
+#include <vector>
 
 #include <vcl/ctrl.hxx>
 #include <vcl/seleng.hxx>
@@ -165,10 +166,10 @@ public:
                         SvLBoxItem();
     virtual             ~SvLBoxItem();
     virtual sal_uInt16 GetType() const = 0;
-    const Size&         GetSize( SvTreeListBox* pView, SvTreeListEntry* pEntry );
-    const Size&         GetSize( SvViewDataEntry* pData, sal_uInt16 nItemPos )
+    const Size&         GetSize(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const;
+    const Size&         GetSize(const SvViewDataEntry* pData, sal_uInt16 nItemPos) const
                         {
-                            SvViewDataItem* pIData=pData->pItemData+nItemPos;
+                            const SvViewDataItem* pIData = pData->pItemData + nItemPos;
                             return pIData->aSize;
                         }
 
@@ -411,7 +412,8 @@ public:
     sal_uLong           GetLevelChildCount( SvTreeListEntry* pParent ) const;
 
     SvViewDataEntry* GetViewDataEntry( SvTreeListEntry* pEntry ) const { return (SvViewDataEntry*)SvListView::GetViewData(pEntry); }
-    SvViewDataItem*  GetViewDataItem( SvTreeListEntry*, SvLBoxItem* ) const;
+    SvViewDataItem*  GetViewDataItem(SvTreeListEntry*, SvLBoxItem*);
+    const SvViewDataItem*  GetViewDataItem(const SvTreeListEntry*, const SvLBoxItem*) const;
 
     bool IsInplaceEditingEnabled() const { return ((nImpFlags & SVLBOX_EDT_ENABLED) != 0); }
     bool IsEditingActive() const { return ((nImpFlags & SVLBOX_IN_EDT) != 0); }
@@ -787,9 +789,13 @@ public:
 
     void            EnableContextMenuHandling( void );
     void            EnableContextMenuHandling( sal_Bool bEnable );
-    sal_Bool            IsContextMenuHandlingEnabled( void ) const;
+    sal_Bool        IsContextMenuHandlingEnabled( void ) const;
 
     void            EnableList( bool _bEnable );
+
+    long getPreferredDimensions(std::vector<long> &rWidths) const;
+
+    virtual Size GetOptimalSize(WindowSizeType i_eType) const;
 };
 
 #define SV_LBOX_DD_FORMAT "SV_LBOX_DD_FORMAT"
diff --git a/svtools/source/contnr/treelistbox.cxx b/svtools/source/contnr/treelistbox.cxx
index 86fb6a5..bf9493d 100644
--- a/svtools/source/contnr/treelistbox.cxx
+++ b/svtools/source/contnr/treelistbox.cxx
@@ -359,10 +359,10 @@ SvLBoxItem::~SvLBoxItem()
     DBG_DTOR(SvLBoxItem,0);
 }
 
-const Size& SvLBoxItem::GetSize( SvTreeListBox* pView,SvTreeListEntry* pEntry )
+const Size& SvLBoxItem::GetSize(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const
 {
     DBG_CHKTHIS(SvLBoxItem,0);
-    SvViewDataItem* pViewData = pView->GetViewDataItem( pEntry, this );
+    const SvViewDataItem* pViewData = pView->GetViewDataItem( pEntry, this );
     return pViewData->aSize;
 }
 
@@ -964,14 +964,18 @@ sal_uLong SvTreeListBox::GetLevelChildCount( SvTreeListEntry* _pParent ) const
     return nCount;
 }
 
-SvViewDataItem* SvTreeListBox::GetViewDataItem( SvTreeListEntry* pEntry, SvLBoxItem* pItem ) const
+SvViewDataItem* SvTreeListBox::GetViewDataItem(SvTreeListEntry* pEntry, SvLBoxItem* pItem)
 {
-    SvViewDataEntry* pEntryData =
-        (SvViewDataEntry*)SvListView::GetViewData(pEntry);
+    return const_cast<SvViewDataItem*>(static_cast<const SvTreeListBox*>(this)->GetViewDataItem(pEntry, pItem));
+}
+
+const SvViewDataItem* SvTreeListBox::GetViewDataItem(const SvTreeListEntry* pEntry, const SvLBoxItem* pItem) const
+{
+    const SvViewDataEntry* pEntryData = (const SvViewDataEntry*)SvListView::GetViewData(pEntry);
     DBG_ASSERT(pEntryData,"Entry not in View");
     DBG_ASSERT(pEntryData->pItemData,"No ItemData");
     sal_uInt16 nItemPos = pEntry->GetPos(pItem);
-    return (pEntryData->pItemData+nItemPos);
+    return (pEntryData->pItemData + nItemPos);
 }
 
 SvViewData* SvTreeListBox::CreateViewData( SvTreeListEntry* )
@@ -2914,14 +2918,11 @@ void SvTreeListBox::InvalidateEntry( SvTreeListEntry* pEntry )
     }
 }
 
-
 long SvTreeListBox::PaintEntry(SvTreeListEntry* pEntry,long nLine,sal_uInt16 nTabFlags)
 {
     return PaintEntry1(pEntry,nLine,nTabFlags);
 }
 
-#define SV_TAB_BORDER 8
-
 long SvTreeListBox::PaintEntry1(SvTreeListEntry* pEntry,long nLine,sal_uInt16 nTabFlags,
     sal_Bool bHasClipRegion )
 {
@@ -3397,6 +3398,56 @@ SvLBoxItem* SvTreeListBox::GetItem_Impl( SvTreeListEntry* pEntry, long nX,
     return pItemClicked;
 }
 
+long SvTreeListBox::getPreferredDimensions(std::vector<long> &rWidths) const
+{
+    long nHeight = 0;
+    rWidths.clear();
+    SvTreeListEntry* pEntry = First();
+    while (pEntry)
+    {
+        sal_uInt16 nCount = pEntry->ItemCount();
+        sal_uInt16 nCurPos = 0;
+        if (nCount > rWidths.size())
+            rWidths.resize(nCount);
+        while (nCurPos < nCount)
+        {
+            SvLBoxItem* pItem = pEntry->GetItem( nCurPos );
+            long nWidth = pItem->GetSize(this, pEntry).Width();
+            if (nWidth)
+            {
+                nWidth += SV_TAB_BORDER * 2;
+                if (nWidth > rWidths[nCurPos])
+                   rWidths[nCurPos] = nWidth;
+            }
+            ++nCurPos;
+        }
+        pEntry = Next( pEntry );
+        nHeight += GetEntryHeight();
+    }
+    return nHeight;
+}
+
+Size SvTreeListBox::GetOptimalSize(WindowSizeType eType) const
+{
+    Size aRet;
+    switch (eType)
+    {
+        case WINDOWSIZE_MINIMUM:
+        case WINDOWSIZE_PREFERRED:
+        {
+            std::vector<long> aWidths;
+            aRet.Height() = getPreferredDimensions(aWidths);
+            for (size_t i = 0; i < aWidths.size(); ++i)
+                aRet.Width() += aWidths[i];
+            break;
+        }
+        default:
+            aRet = Control::GetOptimalSize(eType);
+            break;
+    }
+    return aRet;
+}
+
 SvLBoxItem* SvTreeListBox::GetItem(SvTreeListEntry* pEntry,long nX,SvLBoxTab** ppTab)
 {
     return GetItem_Impl( pEntry, nX, ppTab, 0 );
@@ -3685,6 +3736,7 @@ void SvTreeListBox::ModelNotification( sal_uInt16 nActionId, SvTreeListEntry* pE
                 nContextBmpWidthMax = nMaxWidth;
                 SetTabs();
             }
+            queue_resize();
         }
         break;
 
commit 3f2f4f15e20b7f295f26cddadfc712c189719aee
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Nov 20 08:59:07 2012 +0000

    loplugin: fixed busted indent
    
    Change-Id: I47180d899701de5436e518bebcf82620f4ce9669

diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c
index 2800ef3..2d12d89 100644
--- a/desktop/unx/source/start.c
+++ b/desktop/unx/source/start.c
@@ -465,18 +465,20 @@ send_args( int fd, rtl_uString *pCwdPath )
 
     if ( rtl_uString_getLength( pEscapedCwdPath ) )
     {
-    rtl_uStringbuffer_insert_ascii( &pBuffer, &nCapacity,
-        rtl_uString_getLength( pBuffer ),
-        RTL_CONSTASCII_STRINGPARAM( "1" ) );
-    rtl_uStringbuffer_insert( &pBuffer, &nCapacity,
-                rtl_uString_getLength( pBuffer ),
-                rtl_uString_getStr( pEscapedCwdPath ),
-                rtl_uString_getLength( pEscapedCwdPath ) );
+        rtl_uStringbuffer_insert_ascii( &pBuffer, &nCapacity,
+            rtl_uString_getLength( pBuffer ),
+            RTL_CONSTASCII_STRINGPARAM( "1" ) );
+        rtl_uStringbuffer_insert( &pBuffer, &nCapacity,
+                    rtl_uString_getLength( pBuffer ),
+                    rtl_uString_getStr( pEscapedCwdPath ),
+                    rtl_uString_getLength( pEscapedCwdPath ) );
     }
     else
-    rtl_uStringbuffer_insert_ascii( &pBuffer, &nCapacity,
-        rtl_uString_getLength( pBuffer ),
-        RTL_CONSTASCII_STRINGPARAM( "0" ) );
+    {
+        rtl_uStringbuffer_insert_ascii( &pBuffer, &nCapacity,
+            rtl_uString_getLength( pBuffer ),
+            RTL_CONSTASCII_STRINGPARAM( "0" ) );
+    }
 
     for ( nArg = 0; nArg < nArgCount; ++nArg )
     {
commit 9b6b25e71338ac298d495d9bc5f046ef0d0b980e
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Nov 20 08:54:44 2012 +0000

    WaE: -Wempty-body
    
    Change-Id: I07e0b3b466a0fac4c8ddf279b546f807501bc2e7

diff --git a/sal/osl/unx/profile.c b/sal/osl/unx/profile.c
index e51fdcf..8427f7e 100644
--- a/sal/osl/unx/profile.c
+++ b/sal/osl/unx/profile.c
@@ -813,17 +813,18 @@ sal_Bool SAL_CALL osl_writeProfileIdent(oslProfile Profile,
                               sal_uInt32 FirstId, const sal_Char* Strings[],
                               sal_uInt32 Value)
 {
-    int i, n;
+    int i, n = 0;
     sal_Bool bRet=sal_False;
 
 #ifdef TRACE_OSL_PROFILE
     OSL_TRACE("In  osl_writeProfileIdent");
 #endif
 
-    for (n = 0; Strings[n] != NULL; n++);
+    while (Strings[n] != NULL)
+        ++n;
 
     if ((i = Value - FirstId) >= n)
-        bRet=sal_False;
+        bRet = sal_False;
     else
         bRet = osl_writeProfileString(Profile, pszSection, pszEntry, Strings[i]);
 


More information about the Libreoffice-commits mailing list