[Libreoffice-commits] .: 6 commits - filter/source sfx2/inc sfx2/source sfx2/uiconfig sfx2/UI_sfx.mk vcl/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Dec 19 07:23:37 PST 2012


 filter/source/xsltdialog/xmlfiltersettingsdialog.cxx |    2 
 sfx2/UI_sfx.mk                                       |    3 
 sfx2/inc/sfx2/dinfdlg.hxx                            |   88 +-
 sfx2/inc/sfx2/sfx.hrc                                |    6 
 sfx2/inc/sfx2/tabdlg.hxx                             |   12 
 sfx2/source/appl/app.hrc                             |    1 
 sfx2/source/appl/app.src                             |    4 
 sfx2/source/dialog/dinfdlg.cxx                       |  346 ++++++-----
 sfx2/source/dialog/dinfdlg.hrc                       |   64 --
 sfx2/source/dialog/dinfdlg.src                       |  298 ---------
 sfx2/source/dialog/tabdlg.cxx                        |   63 +-
 sfx2/source/inc/helpid.hrc                           |    4 
 sfx2/uiconfig/ui/custominfopage.ui                   |  109 +++
 sfx2/uiconfig/ui/documentproperties.ui               |  586 -------------------
 sfx2/uiconfig/ui/documentpropertiesdialog.ui         |  180 +++++
 sfx2/uiconfig/ui/internetinfopage.ui                 |  294 +++++++++
 vcl/source/window/builder.cxx                        |    9 
 17 files changed, 907 insertions(+), 1162 deletions(-)

New commits:
commit 978aaaf6b422e11ffc55b16cd004ab27a3adc73b
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 19 15:22:54 2012 +0000

    set a more sane default height on headerbars
    
    Change-Id: I2af5adb064888336dd1ea622bb274c45052e2e61

diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
index 4df5dd0..7f16621 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
@@ -1359,7 +1359,7 @@ SvxPathControl::SvxPathControl(Window* pParent)
     , bHasBeenShown(false)
 {
     m_pHeaderBar = new HeaderBar(this, WB_BOTTOMBORDER);
-    m_pHeaderBar->set_height_request(16);
+    m_pHeaderBar->set_height_request(GetTextHeight() + 6);
 
     m_pFocusCtrl = new XMLFilterListBox(this);
     m_pFocusCtrl->set_fill(true);
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index 20f7bb7..b501987 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -2254,7 +2254,7 @@ void CustomPropertiesControl::Init(VclBuilderContainer& rBuilder)
     m_pVertScroll->EnableDrag();
     m_pVertScroll->Show();
 
-    m_pHeaderBar->set_height_request(16);
+    m_pHeaderBar->set_height_request(GetTextHeight() + 6);
 
     const HeaderBarItemBits nHeadBits = HIB_VCENTER | HIB_FIXED | HIB_FIXEDPOS | HIB_LEFT;
 
commit 0290ff79eacb02c800976ac13408354624811008
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 19 14:47:17 2012 +0000

    convert document properties tabdialog to .ui format
    
    this includes allow us to add tabpages to SfxTabDialogs by name (and getting
    back the matching pageid) where the name of a tabpage is the name of the label
    widget for the page in the .ui notebook.
    
    Change-Id: I48bfaa9ac8daa443ca72540e2024ddb9df34faa5

diff --git a/sfx2/UI_sfx.mk b/sfx2/UI_sfx.mk
index 6d50bc8..a00ed98 100644
--- a/sfx2/UI_sfx.mk
+++ b/sfx2/UI_sfx.mk
@@ -14,6 +14,7 @@ $(eval $(call gb_UI_add_uifiles,sfx,\
 	sfx2/uiconfig/ui/custominfopage \
 	sfx2/uiconfig/ui/descriptioninfopage \
 	sfx2/uiconfig/ui/documentinfopage \
+	sfx2/uiconfig/ui/documentpropertiesdialog \
 	sfx2/uiconfig/ui/internetinfopage \
 	sfx2/uiconfig/ui/password \
 	sfx2/uiconfig/ui/printeroptionsdialog \
diff --git a/sfx2/inc/sfx2/dinfdlg.hxx b/sfx2/inc/sfx2/dinfdlg.hxx
index 94f196a..d365e5e 100644
--- a/sfx2/inc/sfx2/dinfdlg.hxx
+++ b/sfx2/inc/sfx2/dinfdlg.hxx
@@ -303,11 +303,13 @@ public:
 
 class SFX2_DLLPUBLIC SfxDocumentInfoDialog : public SfxTabDialog
 {
+private:
+    sal_uInt16 m_nDocInfoId;
 protected:
     virtual void    PageCreated( sal_uInt16 nId, SfxTabPage& rPage );
 
 public:
-    SfxDocumentInfoDialog(  Window* pParent, const SfxItemSet& );
+    SfxDocumentInfoDialog( Window* pParent, const SfxItemSet& );
 };
 
 // class CustomPropertiesRemoveButton ------------------------------------
diff --git a/sfx2/inc/sfx2/sfx.hrc b/sfx2/inc/sfx2/sfx.hrc
index cb31562..d92b301 100644
--- a/sfx2/inc/sfx2/sfx.hrc
+++ b/sfx2/inc/sfx2/sfx.hrc
@@ -130,11 +130,6 @@
 
 #define RID_DOCALREADYLOADED_DLG            (RID_SFX_START+1)
 
-#define TP_DOCINFODESC                      (RID_SFX_START+3)
-#define TP_DOCINFODOC                       (RID_SFX_START+4)
-#define TP_DOCINFORELOAD                    (RID_SFX_START+13)
-#define TP_CUSTOMPROPERTIES                 (RID_SFX_START+14)
-#define TP_DOCINFOSECURITY                  (RID_SFX_START+215)
 #define DLG_DOCINFO_EDT                     (RID_SFX_START+6)
 #define TP_MANAGE_STYLES                    (RID_SFX_START+7)
 #define DLG_STYLE_DESIGNER                  (RID_SFX_START+8)
diff --git a/sfx2/inc/sfx2/tabdlg.hxx b/sfx2/inc/sfx2/tabdlg.hxx
index c07c012..a7068d8 100644
--- a/sfx2/inc/sfx2/tabdlg.hxx
+++ b/sfx2/inc/sfx2/tabdlg.hxx
@@ -103,7 +103,7 @@ friend class SfxTabDialogController;
     DECL_DLLPRIVATE_LINK(BaseFmtHdl, void *);
     DECL_DLLPRIVATE_LINK(UserHdl, void *);
     DECL_DLLPRIVATE_LINK(CancelHdl, void *);
-    SAL_DLLPRIVATE void Init_Impl( sal_Bool bFmtFlag, const String* pUserButtonText, const ResId& rResId );
+    SAL_DLLPRIVATE void Init_Impl( sal_Bool bFmtFlag, const String* pUserButtonText, const ResId* pResId );
 
 protected:
     virtual short               Ok();
@@ -135,12 +135,22 @@ public:
     SfxTabDialog( SfxViewFrame *pViewFrame, Window* pParent, const ResId &rResId,
                   const SfxItemSet * = 0, sal_Bool bEditFmt = sal_False,
                   const String *pUserButtonText = 0 );
+    SfxTabDialog( SfxViewFrame *pViewFrame, Window* pParent,
+                  const rtl::OString& rID, const rtl::OUString& rUIXMLDescription,
+                  const SfxItemSet * = 0, sal_Bool bEditFmt = sal_False,
+                  const String *pUserButtonText = 0 );
     ~SfxTabDialog();
 
     void                AddTabPage( sal_uInt16 nId,
                                     CreateTabPage pCreateFunc,      // != 0
                                     GetTabPageRanges pRangesFunc,   // can be 0
                                     sal_Bool bItemsOnDemand = sal_False);
+    sal_uInt16          AddTabPage( const OString& rName,
+                                    CreateTabPage pCreateFunc,      // != 0
+                                    GetTabPageRanges pRangesFunc,   // can be 0
+                                    sal_Bool bItemsOnDemand = sal_False);
+
+
     void                AddTabPage( sal_uInt16 nId,
                                     const String &rRiderText,
                                     CreateTabPage pCreateFunc,      // != 0
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index 6de396d..20f7bb7 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -1428,14 +1428,12 @@ int SfxInternetPage::DeactivatePage( SfxItemSet* /*pSet*/ )
 
 //------------------------------------------------------------------------
 SfxDocumentInfoDialog::SfxDocumentInfoDialog( Window* pParent,
-                                              const SfxItemSet& rItemSet ) :
-
-    SfxTabDialog( 0, pParent, SfxResId( SID_DOCINFO ), &rItemSet )
-
+                                              const SfxItemSet& rItemSet )
+    : SfxTabDialog(0, pParent, "DocumentPropertiesDialog",
+        "sfx/ui/documentpropertiesdialog.ui", &rItemSet)
+    , m_nDocInfoId(0)
 {
-    FreeResource();
-
-     const SfxDocumentInfoItem* m_pInfoItem =
+    const SfxDocumentInfoItem* m_pInfoItem =
         &(const SfxDocumentInfoItem &)rItemSet.Get( SID_DOCINFO );
 
 #ifdef DBG_UTIL
@@ -1475,18 +1473,18 @@ SfxDocumentInfoDialog::SfxDocumentInfoDialog( Window* pParent,
     SetText( aTitle );
 
     // Property Pages
-    AddTabPage(TP_DOCINFODESC, SfxDocumentDescPage::Create, 0);
-    AddTabPage(TP_DOCINFODOC, SfxDocumentPage::Create, 0);
-    AddTabPage(TP_CUSTOMPROPERTIES, SfxCustomPropertiesPage::Create, 0);
-    AddTabPage(TP_DOCINFORELOAD, SfxInternetPage::Create, 0);
-    AddTabPage(TP_DOCINFOSECURITY, SfxSecurityPage::Create, 0);
+    m_nDocInfoId = AddTabPage("general", SfxDocumentPage::Create, 0);
+    AddTabPage("description", SfxDocumentDescPage::Create, 0);
+    AddTabPage("customprops", SfxCustomPropertiesPage::Create, 0);
+    AddTabPage("internet", SfxInternetPage::Create, 0);
+    AddTabPage("security", SfxSecurityPage::Create, 0);
 }
 
 // -----------------------------------------------------------------------
 
 void SfxDocumentInfoDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
 {
-    if ( TP_DOCINFODOC == nId )
+    if ( m_nDocInfoId == nId )
         ( (SfxDocumentPage&)rPage ).EnableUseUserData();
 }
 
diff --git a/sfx2/source/dialog/dinfdlg.src b/sfx2/source/dialog/dinfdlg.src
index a90e271..e177f45 100644
--- a/sfx2/source/dialog/dinfdlg.src
+++ b/sfx2/source/dialog/dinfdlg.src
@@ -23,7 +23,6 @@
 #include "dinfdlg.hrc"
 #include "dialog.hrc"
 
- // TP_DOCINFODESC --------------------------------------------------------
 String STR_SFX_NEWOFFICEDOC
 {
     Text [ en-US ] = "%PRODUCTNAME document" ;
@@ -179,47 +178,6 @@ QueryBox SFX_QB_WRONG_TYPE
     Message [ en-US ] = "The value entered does not match the specified type.\nThe value will be stored as text." ;
 };
 
-TabDialog SID_DOCINFO
-{
-    OutputSize = TRUE ;
-    SVLook = TRUE ;
-    Moveable = TRUE ;
-    Sizeable = TRUE ;
-    Text [ en-US ] = "Properties of " ;
-    TabControl 1
-    {
-        SVLook = TRUE ;
-        PageList =
-        {
-            PageItem
-            {
-                Identifier = TP_DOCINFODOC ;
-                Text [ en-US ] = "General" ;
-            };
-            PageItem
-            {
-                Identifier = TP_DOCINFODESC ;
-                Text [ en-US ] = "Description" ;
-            };
-            PageItem
-            {
-                Identifier = TP_CUSTOMPROPERTIES ;
-                Text [ en-US ] = "Custom Properties" ;
-            };
-            PageItem
-            {
-                Identifier = TP_DOCINFORELOAD ;
-                Text [ en-US ] = "Internet" ;
-            };
-            PageItem
-            {
-                Identifier = TP_DOCINFOSECURITY ;
-                Text [ en-US ] = "Security" ;
-            };
-        };
-    };
-};
-
 ModalDialog RID_EDIT_DURATIONS
 {
     HelpId = HID_DLG_CUSTOMPROPS_DURATION;
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index f3514ed..aca2b19 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -427,7 +427,33 @@ SfxTabDialog::SfxTabDialog
     , pFrame(pViewFrame)
     , INI_LIST(pItemSet)
 {
-    Init_Impl( bFmt, pUserButtonText, rResId );
+    Init_Impl( bFmt, pUserButtonText, &rResId );
+}
+
+SfxTabDialog::SfxTabDialog
+(
+    SfxViewFrame* pViewFrame,     // Frame, to which the Dialog belongs
+    Window* pParent,              // Parent Window
+    const rtl::OString& rID, const rtl::OUString& rUIXMLDescription, //Dialog Name, Dialog .ui path
+    const SfxItemSet* pItemSet,   // Itemset with the data;
+                                  // can be NULL, when Pages are onDemand
+    sal_Bool bEditFmt,            // Flag: templates are processed
+                                  // when yes -> additional Button for standard
+    const String* pUserButtonText // Text for UserButton;
+                                  // if != 0, the UserButton is created
+)
+    : TabDialog(pParent, rID, rUIXMLDescription)
+    , pFrame(pViewFrame)
+    , pSet(pItemSet)
+    , pOutSet(0)
+    , pRanges(0)
+    , nResId(0)
+    , nAppPageId(USHRT_MAX)
+    , bItemsReset(sal_False)
+    , bFmt(bEditFmt)
+    , pExampleSet(0)
+{
+    Init_Impl( bFmt, pUserButtonText, NULL );
 }
 
 // -----------------------------------------------------------------------
@@ -453,7 +479,7 @@ SfxTabDialog::SfxTabDialog
     , pFrame(0)
     , INI_LIST(pItemSet)
 {
-    Init_Impl( bFmt, pUserButtonText, rResId );
+    Init_Impl( bFmt, pUserButtonText, &rResId );
     DBG_WARNING( "Please use the Construtor with the ViewFrame" );
 }
 
@@ -518,7 +544,7 @@ SfxTabDialog::~SfxTabDialog()
 
 // -----------------------------------------------------------------------
 
-void SfxTabDialog::Init_Impl( sal_Bool bFmtFlag, const String* pUserButtonText, const ResId& rResId )
+void SfxTabDialog::Init_Impl( sal_Bool bFmtFlag, const String* pUserButtonText, const ResId *pResId )
 
 /*  [Description]
 
@@ -534,11 +560,11 @@ void SfxTabDialog::Init_Impl( sal_Bool bFmtFlag, const String* pUserButtonText,
         m_pBox->set_expand(true);
     }
 
-    m_pTabCtrl = m_pUIBuilder ? m_pUIBuilder->get<TabControl>(SAL_STRINGIFY(ID_TABCONTROL)) : NULL;
+    m_pTabCtrl = m_pUIBuilder ? m_pUIBuilder->get<TabControl>("tabcontrol") : NULL;
     m_bOwnsTabCtrl = m_pTabCtrl == NULL;
     if (m_bOwnsTabCtrl)
     {
-        m_pTabCtrl = new TabControl(m_pBox, ResId(ID_TABCONTROL, *rResId.GetResMgr()));
+        m_pTabCtrl = new TabControl(m_pBox, ResId(ID_TABCONTROL, *pResId->GetResMgr()));
         m_pTabCtrl->set_expand(true);
     }
 
@@ -788,16 +814,39 @@ void SfxTabDialog::AddTabPage
 */
 
 (
-    sal_uInt16 nId,                    // Page ID
+    sal_uInt16 nId,                // Page ID
+    CreateTabPage pCreateFunc,     // Pointer to the Factory Method
+    GetTabPageRanges pRangesFunc,  // Pointer to the Method for quering
+                                   // Ranges onDemand
+    sal_Bool bItemsOnDemand        // indicates whether the set of this page is
+                                   // requested when created
+)
+{
+    pImpl->pData->Append(
+        new Data_Impl( nId, pCreateFunc, pRangesFunc, bItemsOnDemand ) );
+}
+
+sal_uInt16 SfxTabDialog::AddTabPage
+
+/*  [Description]
+
+    Adding a page to the dialogue. Must correspond to a entry in the
+    TabControl in the dialog .ui
+*/
+
+(
+    const OString &rName,         // Page ID
     CreateTabPage pCreateFunc,     // Pointer to the Factory Method
     GetTabPageRanges pRangesFunc,  // Pointer to the Method for quering
                                    // Ranges onDemand
-    sal_Bool bItemsOnDemand            // indicates whether the set of this page is
+    sal_Bool bItemsOnDemand        // indicates whether the set of this page is
                                    // requested when created
 )
 {
+    sal_uInt16 nId = m_pTabCtrl->GetPageId(rName);
     pImpl->pData->Append(
         new Data_Impl( nId, pCreateFunc, pRangesFunc, bItemsOnDemand ) );
+    return nId;
 }
 
 // -----------------------------------------------------------------------
diff --git a/sfx2/uiconfig/ui/documentproperties.ui b/sfx2/uiconfig/ui/documentproperties.ui
deleted file mode 100644
index 946e0ae..0000000
--- a/sfx2/uiconfig/ui/documentproperties.ui
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<interface>
-  <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkWindow" id="window1">
-    <property name="can_focus">False</property>
-    <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="GtkNotebook" id="notebook1">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <child>
-              <placeholder/>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">General </property>
-              </object>
-              <packing>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Description</property>
-              </object>
-              <packing>
-                <property name="position">1</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label55">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Custom Properties</property>
-              </object>
-              <packing>
-                <property name="position">2</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label48">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Internet </property>
-              </object>
-              <packing>
-                <property name="position">3</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label46">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Security</property>
-              </object>
-              <packing>
-                <property name="position">4</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label3">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Statistics</property>
-              </object>
-              <packing>
-                <property name="position">5</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButtonBox" id="buttonbox1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="spacing">5</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="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>
-              </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="reset">
-                <property name="label" translatable="yes">Reset</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>
-              </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="position">1</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-  </object>
-</interface>
diff --git a/sfx2/uiconfig/ui/documentpropertiesdialog.ui b/sfx2/uiconfig/ui/documentpropertiesdialog.ui
new file mode 100644
index 0000000..322429b
--- /dev/null
+++ b/sfx2/uiconfig/ui/documentpropertiesdialog.ui
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkDialog" id="DocumentPropertiesDialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Properties of </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="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">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>
+              </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="reset">
+                <property name="label" translatable="yes">Reset</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>
+              </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="GtkNotebook" id="tabcontrol">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <child>
+              <placeholder/>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="general">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">General </property>
+              </object>
+              <packing>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="description">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Description</property>
+              </object>
+              <packing>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="customprops">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Custom Properties</property>
+              </object>
+              <packing>
+                <property name="position">2</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="internet">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Internet </property>
+              </object>
+              <packing>
+                <property name="position">3</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="security">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Security</property>
+              </object>
+              <packing>
+                <property name="position">4</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+          </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">ok</action-widget>
+      <action-widget response="0">cancel</action-widget>
+      <action-widget response="0">help</action-widget>
+      <action-widget response="0">reset</action-widget>
+    </action-widgets>
+  </object>
+</interface>
commit ae4f2c72b7a93085025859cbf1698651831e1b44
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 19 12:33:21 2012 +0000

    split out custom properties info page and convert to .ui
    
    The CustomPropertiesWindow could be converted to something that inherits from
    one of the new containers and remove a load of that custom positioning code but
    for now just minimally retro-fit the existing manual position setting code of
    the custom scrolling widget.
    
    Change-Id: I6c85286f3652a11bf8c8d827c4986b5b9d745523

diff --git a/sfx2/inc/sfx2/dinfdlg.hxx b/sfx2/inc/sfx2/dinfdlg.hxx
index 3bd64da..94f196a 100644
--- a/sfx2/inc/sfx2/dinfdlg.hxx
+++ b/sfx2/inc/sfx2/dinfdlg.hxx
@@ -23,18 +23,23 @@
 #include "sfx2/dllapi.h"
 
 #include <com/sun/star/util/DateTime.hpp>
-#include <vcl/edit.hxx>
-#include <vcl/field.hxx>
-#include <svtools/stdctrl.hxx>
+#include <com/sun/star/util/Duration.hpp>
+
 #include <svl/stritem.hxx>
+#include <svl/zforlist.hxx>
+
+#include <svtools/headbar.hxx>
+#include <svtools/stdctrl.hxx>
 #include <svtools/svmedit.hxx>
 
+#include <unotools/syslocale.hxx>
+
+#include <vcl/edit.hxx>
+#include <vcl/field.hxx>
+#include <vcl/layout.hxx>
 #include <vcl/lstbox.hxx>
 #include <vcl/scrbar.hxx>
-#include <svtools/headbar.hxx>
-#include <unotools/syslocale.hxx>
-#include <svl/zforlist.hxx>
-#include <com/sun/star/util/Duration.hpp>
+
 #include "tabdlg.hxx"
 
 namespace com { namespace sun { namespace star {
@@ -478,7 +483,10 @@ private:
     void        ValidateLine( CustomPropertyLine* pLine, bool bIsFromTypeBox );
 
 public:
-    CustomPropertiesWindow( Window* pParent, const ResId& rResId );
+    CustomPropertiesWindow(Window* pParent,
+        const OUString &rHeaderAccName,
+        const OUString &rHeaderAccType,
+        const OUString &rHeaderAccValue);
     ~CustomPropertiesWindow();
 
     void                InitControls( HeaderBar* pHeaderBar, const ScrollBar* pScrollBar );
@@ -492,16 +500,20 @@ public:
     ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >
                         GetCustomProperties() const;
     void                SetRemovedHdl( const Link& rLink ) { m_aRemovedHdl = rLink; }
+
+    void                InitRemoveButton(const ScrollBar &rScrollBar);
+    void                updateLineWidth();
 };
 
 // class CustomPropertiesControl -----------------------------------------
 
-class CustomPropertiesControl : public Control
+class CustomPropertiesControl : public VclVBox
 {
 private:
-    HeaderBar               m_aHeaderBar;
-    CustomPropertiesWindow  m_aPropertiesWin;
-    ScrollBar               m_aVertScroll;
+    HeaderBar*              m_pHeaderBar;
+    VclHBox*                m_pBody;
+    CustomPropertiesWindow* m_pPropertiesWin;
+    ScrollBar*              m_pVertScroll;
 
     sal_Int32               m_nThumbPos;
 
@@ -509,16 +521,18 @@ private:
     DECL_LINK( RemovedHdl, void* );
 
 public:
-    CustomPropertiesControl( Window* pParent, const ResId& rResId );
+    CustomPropertiesControl(Window* pParent);
     ~CustomPropertiesControl();
 
     void            AddLine( const ::rtl::OUString& sName, com::sun::star::uno::Any& rAny, bool bInteractive );
 
-    inline bool     AreAllLinesValid() const { return m_aPropertiesWin.AreAllLinesValid(); }
-    inline void     ClearAllLines() { m_aPropertiesWin.ClearAllLines(); }
+    inline bool     AreAllLinesValid() const { return m_pPropertiesWin->AreAllLinesValid(); }
+    inline void     ClearAllLines() { m_pPropertiesWin->ClearAllLines(); }
     inline ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >
                     GetCustomProperties() const
-                        { return m_aPropertiesWin.GetCustomProperties(); }
+                        { return m_pPropertiesWin->GetCustomProperties(); }
+    void    Init(VclBuilderContainer& rParent);
+    virtual void setAllocation(const Size &rAllocation);
 };
 
 // class SfxCustomPropertiesPage -----------------------------------------
diff --git a/sfx2/inc/sfx2/sfx.hrc b/sfx2/inc/sfx2/sfx.hrc
index cd1ecdc..cb31562 100644
--- a/sfx2/inc/sfx2/sfx.hrc
+++ b/sfx2/inc/sfx2/sfx.hrc
@@ -132,7 +132,6 @@
 
 #define TP_DOCINFODESC                      (RID_SFX_START+3)
 #define TP_DOCINFODOC                       (RID_SFX_START+4)
-#define TP_DOCINFOUSER                      (RID_SFX_START+5)
 #define TP_DOCINFORELOAD                    (RID_SFX_START+13)
 #define TP_CUSTOMPROPERTIES                 (RID_SFX_START+14)
 #define TP_DOCINFOSECURITY                  (RID_SFX_START+215)
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index d835281..6de396d 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -1698,10 +1698,11 @@ void CustomPropertyLine::SetRemoved()
     m_aRemoveButton.Hide();
 }
 
-// class CustomPropertiesWindow ------------------------------------------
-CustomPropertiesWindow::CustomPropertiesWindow( Window* pParent, const ResId& rResId ) :
-
-    Window( pParent, rResId ),
+CustomPropertiesWindow::CustomPropertiesWindow(Window* pParent,
+    const OUString &rHeaderAccName,
+    const OUString &rHeaderAccType,
+    const OUString &rHeaderAccValue) :
+    Window(pParent),
     m_aNameBox      ( this, SfxResId( SFX_CB_PROPERTY_NAME ) ),
     m_aTypeBox      ( this, SfxResId( SFX_LB_PROPERTY_TYPE ) ),
     m_aValueEdit    ( this, SfxResId( SFX_ED_PROPERTY_VALUE ) ),
@@ -1721,10 +1722,9 @@ CustomPropertiesWindow::CustomPropertiesWindow( Window* pParent, const ResId& rR
     m_aBoxLoseFocusTimer.SetTimeout( 300 );
     m_aBoxLoseFocusTimer.SetTimeoutHdl( LINK( this, CustomPropertiesWindow, BoxTimeoutHdl ) );
 
-    ResMgr* pResMgr = rResId.GetResMgr();
-    m_aNameBox.SetAccessibleName( ResId( STR_HEADER_NAME, *pResMgr ).toString() );
-    m_aTypeBox.SetAccessibleName( ResId( STR_HEADER_TYPE, *pResMgr ).toString() );
-    m_aValueEdit.SetAccessibleName( ResId( STR_HEADER_VALUE, *pResMgr ).toString() );
+    m_aNameBox.SetAccessibleName(rHeaderAccName);
+    m_aTypeBox.SetAccessibleName(rHeaderAccType);
+    m_aValueEdit.SetAccessibleName(rHeaderAccValue);
 }
 
 CustomPropertiesWindow::~CustomPropertiesWindow()
@@ -1911,7 +1911,7 @@ void CustomPropertiesWindow::InitControls( HeaderBar* pHeaderBar, const ScrollBa
         Rectangle aRect = pHeaderBar->GetItemRect( pHeaderBar->GetItemId( nPos++ ) );
         Size aSize = (*pCurrent)->GetSizePixel();
         Point aPos = (*pCurrent)->GetPosPixel();
-        long nWidth = aRect.getWidth() - nOffset;
+        long nWidth = aRect.GetWidth() - nOffset;
         if ( *pCurrent == &m_aRemoveButton )
             nWidth -= pScrollBar->GetSizePixel().Width();
         aSize.Width() = nWidth;
@@ -1960,6 +1960,39 @@ sal_uInt16 CustomPropertiesWindow::GetVisibleLineCount() const
     return nCount;
 }
 
+void CustomPropertiesWindow::updateLineWidth()
+{
+    Window* pWindows[] = {  &m_aNameBox, &m_aTypeBox, &m_aValueEdit,
+                            &m_aDateField, &m_aTimeField,
+                            &m_aDurationField, &m_aEditButton,
+                            &m_aYesNoButton, &m_aRemoveButton, NULL };
+
+    for (std::vector< CustomPropertyLine* >::iterator aI =
+        m_aCustomPropertiesLines.begin(), aEnd = m_aCustomPropertiesLines.end();
+        aI != aEnd; ++aI)
+    {
+        CustomPropertyLine* pNewLine = *aI;
+
+        Window* pNewWindows[] =
+            {   &pNewLine->m_aNameBox, &pNewLine->m_aTypeBox, &pNewLine->m_aValueEdit,
+                &pNewLine->m_aDateField, &pNewLine->m_aTimeField,
+                &pNewLine->m_aDurationField, &pNewLine->m_aEditButton,
+                &pNewLine->m_aYesNoButton, &pNewLine->m_aRemoveButton, NULL };
+
+        Window** pCurrent = pWindows;
+        Window** pNewCurrent = pNewWindows;
+        while ( *pCurrent )
+        {
+            Size aSize = (*pCurrent)->GetSizePixel();
+            Point aPos = (*pCurrent)->GetPosPixel();
+            aPos.Y() = (*pNewCurrent)->GetPosPixel().Y();
+            (*pNewCurrent)->SetPosSizePixel( aPos, aSize );
+            pCurrent++;
+            pNewCurrent++;
+        }
+    }
+}
+
 void CustomPropertiesWindow::AddLine( const ::rtl::OUString& sName, Any& rAny )
 {
     CustomPropertyLine* pNewLine = new CustomPropertyLine( this );
@@ -2186,81 +2219,112 @@ Sequence< beans::PropertyValue > CustomPropertiesWindow::GetCustomProperties() c
     return aPropertiesSeq;
 }
 
-// class CustomPropertiesControl -----------------------------------------
-CustomPropertiesControl::CustomPropertiesControl( Window* pParent, const ResId& rResId ) :
+CustomPropertiesControl::CustomPropertiesControl(Window* pParent)
+    : VclVBox(pParent)
+    , m_nThumbPos(0)
+{
+}
 
-    Control( pParent, rResId ),
+void CustomPropertiesControl::Init(VclBuilderContainer& rBuilder)
+{
+    m_pHeaderBar = new HeaderBar(this, WB_BUTTONSTYLE | WB_BOTTOMBORDER);
+    m_pBody = new VclHBox(this);
+    OUString sName = rBuilder.get<FixedText>("name")->GetText();
+    OUString sType = rBuilder.get<FixedText>("type")->GetText();
+    OUString sValue = rBuilder.get<FixedText>("value")->GetText();
+    m_pPropertiesWin = new CustomPropertiesWindow(m_pBody, sName, sType, sValue);
+    m_pVertScroll = new ScrollBar(m_pBody, WB_VERT);
 
-    m_aHeaderBar    ( this, WB_BUTTONSTYLE | WB_BOTTOMBORDER ),
-    m_aPropertiesWin( this, ResId( WIN_PROPERTIES, *rResId.GetResMgr() ) ),
-    m_aVertScroll   ( this, ResId( SB_VERTICAL, *rResId.GetResMgr() ) ),
+    set_hexpand(true);
+    set_vexpand(true);
+    set_expand(true);
+    set_fill(true);
 
-    m_nThumbPos     ( 0 )
+    m_pBody->set_hexpand(true);
+    m_pBody->set_vexpand(true);
+    m_pBody->set_expand(true);
+    m_pBody->set_fill(true);
+    m_pBody->Show();
+
+    m_pPropertiesWin->set_hexpand(true);
+    m_pPropertiesWin->set_vexpand(true);
+    m_pPropertiesWin->set_expand(true);
+    m_pPropertiesWin->set_fill(true);
+    m_pPropertiesWin->Show();
+
+    m_pPropertiesWin->SetBackground( Wallpaper( GetSettings().GetStyleSettings().GetFieldColor() ) );
+    m_pVertScroll->EnableDrag();
+    m_pVertScroll->Show();
+
+    m_pHeaderBar->set_height_request(16);
 
-{
-    m_aPropertiesWin.SetBackground( Wallpaper( GetSettings().GetStyleSettings().GetFieldColor() ) );
-    m_aVertScroll.EnableDrag();
-    m_aVertScroll.Show();
-    long nWidth = GetOutputSizePixel().Width();
-    m_aHeaderBar.SetPosSizePixel( Point(), Size( nWidth, m_aVertScroll.GetPosPixel().Y() ) );
     const HeaderBarItemBits nHeadBits = HIB_VCENTER | HIB_FIXED | HIB_FIXEDPOS | HIB_LEFT;
-    nWidth = nWidth / 4;
-    ResMgr* pResMgr = rResId.GetResMgr();
-    m_aHeaderBar.InsertItem( HI_NAME, ResId( STR_HEADER_NAME, *pResMgr ).toString(), nWidth, nHeadBits );
-    m_aHeaderBar.InsertItem( HI_TYPE, ResId( STR_HEADER_TYPE, *pResMgr ).toString(), nWidth, nHeadBits );
-    m_aHeaderBar.InsertItem( HI_VALUE, ResId( STR_HEADER_VALUE, *pResMgr ).toString(), nWidth, nHeadBits );
-    m_aHeaderBar.InsertItem( HI_ACTION, ResId( STR_HEADER_ACTION, *pResMgr ).toString(), nWidth, nHeadBits );
-    m_aHeaderBar.Show();
 
-    FreeResource();
+    m_pHeaderBar->InsertItem( HI_NAME, sName, 0, nHeadBits );
+    m_pHeaderBar->InsertItem( HI_TYPE, sType, 0, nHeadBits );
+    m_pHeaderBar->InsertItem( HI_VALUE, sValue, 0, nHeadBits );
+    m_pHeaderBar->InsertItem( HI_ACTION, OUString(), 0, nHeadBits );
+    m_pHeaderBar->Show();
 
-    m_aPropertiesWin.InitControls( &m_aHeaderBar, &m_aVertScroll );
-    m_aPropertiesWin.SetRemovedHdl( LINK( this, CustomPropertiesControl, RemovedHdl ) );
+    m_pPropertiesWin->SetRemovedHdl( LINK( this, CustomPropertiesControl, RemovedHdl ) );
 
-    m_aVertScroll.SetRangeMin( 0 );
-    sal_Int32 nScrollOffset = m_aPropertiesWin.GetLineHeight();
-    sal_Int32 nVisibleEntries = m_aPropertiesWin.GetSizePixel().Height() / nScrollOffset;
-    m_aVertScroll.SetRangeMax( nVisibleEntries );
-    m_aVertScroll.SetPageSize( nVisibleEntries - 1 );
-    m_aVertScroll.SetVisibleSize( nVisibleEntries );
+    m_pVertScroll->SetRangeMin( 0 );
+    m_pVertScroll->SetRangeMax( 0 );
+    m_pVertScroll->SetVisibleSize( 0xFFFF );
 
     Link aScrollLink = LINK( this, CustomPropertiesControl, ScrollHdl );
-    m_aVertScroll.SetScrollHdl( aScrollLink );
+    m_pVertScroll->SetScrollHdl( aScrollLink );
+}
+
+void CustomPropertiesControl::setAllocation(const Size &rAllocation)
+{
+    VclVBox::setAllocation(rAllocation);
+
+    m_pPropertiesWin->InitControls( m_pHeaderBar, m_pVertScroll );
+    sal_Int32 nScrollOffset = m_pPropertiesWin->GetLineHeight();
+    sal_Int32 nVisibleEntries = m_pPropertiesWin->GetSizePixel().Height() / nScrollOffset;
+    m_pVertScroll->SetPageSize( nVisibleEntries - 1 );
+    m_pVertScroll->SetVisibleSize( nVisibleEntries );
+    m_pPropertiesWin->updateLineWidth();
 }
 
 extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeCustomPropertiesControl(Window *pParent,
     VclBuilder::stringmap &)
 {
-    return new CustomPropertiesControl(pParent, SfxResId(SFX_CTRL_CUSTOM_PROPERTIES));
+    return new CustomPropertiesControl(pParent);
 }
 
 CustomPropertiesControl::~CustomPropertiesControl()
 {
+    delete m_pVertScroll;
+    delete m_pPropertiesWin;
+    delete m_pBody;
+    delete m_pHeaderBar;
 }
 
 IMPL_LINK( CustomPropertiesControl, ScrollHdl, ScrollBar*, pScrollBar )
 {
-    sal_Int32 nOffset = m_aPropertiesWin.GetLineHeight();
+    sal_Int32 nOffset = m_pPropertiesWin->GetLineHeight();
     nOffset *= ( m_nThumbPos - pScrollBar->GetThumbPos() );
     m_nThumbPos = pScrollBar->GetThumbPos();
-    m_aPropertiesWin.DoScroll( nOffset );
+    m_pPropertiesWin->DoScroll( nOffset );
     return 0;
 }
 
 IMPL_LINK_NOARG(CustomPropertiesControl, RemovedHdl)
 {
-    m_aVertScroll.SetRangeMax( m_aPropertiesWin.GetVisibleLineCount() + 1 );
-    if ( m_aPropertiesWin.GetOutputSizePixel().Height() < m_aPropertiesWin.GetVisibleLineCount() * m_aPropertiesWin.GetLineHeight() )
-        m_aVertScroll.DoScrollAction ( SCROLL_LINEUP );
+    m_pVertScroll->SetRangeMax( m_pPropertiesWin->GetVisibleLineCount() + 1 );
+    if ( m_pPropertiesWin->GetOutputSizePixel().Height() < m_pPropertiesWin->GetVisibleLineCount() * m_pPropertiesWin->GetLineHeight() )
+        m_pVertScroll->DoScrollAction ( SCROLL_LINEUP );
     return 0;
 }
 
 void CustomPropertiesControl::AddLine( const ::rtl::OUString& sName, Any& rAny, bool bInteractive )
 {
-    m_aPropertiesWin.AddLine( sName, rAny );
-    m_aVertScroll.SetRangeMax( m_aPropertiesWin.GetVisibleLineCount() + 1 );
-    if ( bInteractive && m_aPropertiesWin.GetOutputSizePixel().Height() < m_aPropertiesWin.GetVisibleLineCount() * m_aPropertiesWin.GetLineHeight() )
-        m_aVertScroll.DoScroll( m_aPropertiesWin.GetVisibleLineCount() + 1 );
+    m_pPropertiesWin->AddLine( sName, rAny );
+    m_pVertScroll->SetRangeMax( m_pPropertiesWin->GetVisibleLineCount() + 1 );
+    if ( bInteractive && m_pPropertiesWin->GetOutputSizePixel().Height() < m_pPropertiesWin->GetVisibleLineCount() * m_pPropertiesWin->GetLineHeight() )
+        m_pVertScroll->DoScroll( m_pPropertiesWin->GetVisibleLineCount() + 1 );
 }
 
 // class SfxCustomPropertiesPage -----------------------------------------
@@ -2268,6 +2332,7 @@ SfxCustomPropertiesPage::SfxCustomPropertiesPage( Window* pParent, const SfxItem
     : SfxTabPage(pParent, "CustomInfoPage", "sfx/ui/custominfopage.ui", rItemSet)
 {
     get(m_pPropertiesCtrl, "properties");
+    m_pPropertiesCtrl->Init(*this);
     get<PushButton>("add")->SetClickHdl(LINK(this, SfxCustomPropertiesPage, AddHdl));
 }
 
diff --git a/sfx2/source/dialog/dinfdlg.hrc b/sfx2/source/dialog/dinfdlg.hrc
index 2df47b8..eea59c7 100644
--- a/sfx2/source/dialog/dinfdlg.hrc
+++ b/sfx2/source/dialog/dinfdlg.hrc
@@ -32,30 +32,9 @@
 
 // defines ---------------------------------------------------------------
 
-#define FT_INFO1            15
-#define ED_INFO1            16
-#define FT_INFO2            17
-#define ED_INFO2            18
-#define FT_INFO3            19
-#define ED_INFO3            20
-#define FT_INFO4            21
-#define ED_INFO4            22
-#define BTN_EDITLABEL       34
-
-#define WIN_PROPERTIES      90
-#define SB_VERTICAL         91
-#define FT_PROPERTIES       92
-#define BTN_ADD             94
 #define RB_PROPERTY_YES     100
 #define RB_PROPERTY_NO      101
 
-#define STR_HEADER_NAME     90
-#define STR_HEADER_TYPE     91
-#define STR_HEADER_VALUE    92
-#define STR_HEADER_ACTION   93
-
-#define EDIT_FILE_NAME      94
-
 #define PB_OK                   100
 #define PB_CANCEL               101
 #define PB_HELP                 102
diff --git a/sfx2/source/dialog/dinfdlg.src b/sfx2/source/dialog/dinfdlg.src
index 007a6d22..a90e271 100644
--- a/sfx2/source/dialog/dinfdlg.src
+++ b/sfx2/source/dialog/dinfdlg.src
@@ -29,139 +29,6 @@ String STR_SFX_NEWOFFICEDOC
     Text [ en-US ] = "%PRODUCTNAME document" ;
 };
 
- // TP_DOCINFOUSER --------------------------------------------------------
-
-TabPage TP_DOCINFOUSER
-{
-    HelpId = HID_DOCINFOUSER ;
-    Hide = TRUE ;
-    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
-    FixedText FT_INFO1
-    {
-        Pos = MAP_APPFONT ( 6 , 6 ) ;
-        Size = MAP_APPFONT ( 248 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
-        Left = TRUE ;
-    };
-    Edit ED_INFO1
-    {
-        HelpID = "sfx2:Edit:TP_DOCINFOUSER:ED_INFO1";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 , 17 ) ;
-        Size = MAP_APPFONT ( 248 , RSC_CD_TEXTBOX_HEIGHT ) ;
-        Left = TRUE ;
-    };
-    FixedText FT_INFO2
-    {
-        Pos = MAP_APPFONT ( 6 , 32 ) ;
-        Size = MAP_APPFONT ( 248 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
-        Left = TRUE ;
-    };
-    Edit ED_INFO2
-    {
-        HelpID = "sfx2:Edit:TP_DOCINFOUSER:ED_INFO2";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 , 43 ) ;
-        Size = MAP_APPFONT ( 248 , RSC_CD_TEXTBOX_HEIGHT ) ;
-        Left = TRUE ;
-    };
-    FixedText FT_INFO3
-    {
-        Pos = MAP_APPFONT ( 6 , 58 ) ;
-        Size = MAP_APPFONT ( 248 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
-        Left = TRUE ;
-    };
-    Edit ED_INFO3
-    {
-        HelpID = "sfx2:Edit:TP_DOCINFOUSER:ED_INFO3";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 , 69 ) ;
-        Size = MAP_APPFONT ( 248 , RSC_CD_TEXTBOX_HEIGHT ) ;
-        Left = TRUE ;
-    };
-    FixedText FT_INFO4
-    {
-        Pos = MAP_APPFONT ( 6 , 84 ) ;
-        Size = MAP_APPFONT ( 248 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
-        Left = TRUE ;
-    };
-    Edit ED_INFO4
-    {
-        HelpID = "sfx2:Edit:TP_DOCINFOUSER:ED_INFO4";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 , 95 ) ;
-        Size = MAP_APPFONT ( 248 , RSC_CD_TEXTBOX_HEIGHT ) ;
-        Left = TRUE ;
-    };
-    PushButton BTN_EDITLABEL
-    {
-        HelpID = "sfx2:PushButton:TP_DOCINFOUSER:BTN_EDITLABEL";
-        Pos = MAP_APPFONT ( 194 , 165 ) ;
-        Size = MAP_APPFONT ( 60 , RSC_CD_PUSHBUTTON_HEIGHT ) ;
-        Text [ en-US ] = "~Info fields..." ;
-    };
-};
-
-Control SFX_CTRL_CUSTOM_PROPERTIES
-{
-    HelpId = HID_CTRL_CUSTOMPROPERTIES;
-    Pos = MAP_APPFONT ( 6 , 18 ) ;
-    Size = MAP_APPFONT ( 248 , 141 ) ;
-    Border = TRUE;
-    DialogControl = TRUE;
-    Window WIN_PROPERTIES
-    {
-        OutputSize = TRUE ;
-        Pos = MAP_APPFONT ( 0 , 10 ) ;
-        Size = MAP_APPFONT ( 240 , 134 ) ;
-        DialogControl = TRUE;
-    };
-    ScrollBar SB_VERTICAL
-    {
-        Pos = MAP_APPFONT ( 238 , 10 ) ;
-        Size = MAP_APPFONT ( 8 , 129 ) ;
-        VScroll = TRUE;
-    };
-    String STR_HEADER_NAME
-    {
-        Text [ en-US ] = "Name" ;
-    };
-    String STR_HEADER_TYPE
-    {
-        Text [ en-US ] = "Type" ;
-    };
-    String STR_HEADER_VALUE
-    {
-        Text [ en-US ] = "Value" ;
-    };
-    String STR_HEADER_ACTION
-    {
-        Text [ en-US ] = "" ;
-    };
-};
-
-// TP_CUSTOMPROPERTIES ---------------------------------------------------
-
-TabPage TP_CUSTOMPROPERTIES
-{
-    HelpId = HID_TP_CUSTOMPROPERTIES ;
-    Hide = TRUE ;
-    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
-    FixedText FT_PROPERTIES
-    {
-        Pos = MAP_APPFONT ( 6 , 7 ) ;
-        Size = MAP_APPFONT ( 248 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
-        Left = TRUE ;
-        Text [ en-US ] = "~Properties" ;
-    };
-    PushButton BTN_ADD
-    {
-        HelpID = "sfx2:PushButton:TP_CUSTOMPROPERTIES:BTN_ADD";
-        Pos = MAP_APPFONT( 204 , 165 );
-        Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
-        Text [ en-US ] = "~Add";
-    };
-};
-
 ComboBox SFX_CB_PROPERTY_NAME
 {
     Pos = MAP_APPFONT ( 0 , 2 ) ;
@@ -317,6 +184,7 @@ TabDialog SID_DOCINFO
     OutputSize = TRUE ;
     SVLook = TRUE ;
     Moveable = TRUE ;
+    Sizeable = TRUE ;
     Text [ en-US ] = "Properties of " ;
     TabControl 1
     {
diff --git a/sfx2/source/inc/helpid.hrc b/sfx2/source/inc/helpid.hrc
index e1dc196..88583c9 100644
--- a/sfx2/source/inc/helpid.hrc
+++ b/sfx2/source/inc/helpid.hrc
@@ -26,7 +26,6 @@
 #define HID_PRINTMONITOR                                      "SFX2_HID_PRINTMONITOR"
 #define HID_MANAGE_STYLES                                     "SFX2_HID_MANAGE_STYLES"
 #define HID_CONFIG_EVENT                                      "SFX2_HID_CONFIG_EVENT"
-#define HID_DOCINFOUSER                                       "SFX2_HID_DOCINFOUSER"
 #define HID_BROWSERCONTROL                                    "SFX2_HID_BROWSERCONTROL"
 #define HID_PRINT_OPTIONS                                     "SFX2_HID_PRINT_OPTIONS"
 #define HID_PREVIEW_FRAME                                     "SFX2_HID_PREVIEW_FRAME"
@@ -135,8 +134,6 @@
 #define HID_WARNING_ALIENFORMAT                               "SFX2_HID_WARNING_ALIENFORMAT"
 #define HID_HELP_ONSTARTUP_BOX                                "SFX2_HID_HELP_ONSTARTUP_BOX"
 #define HID_DLG_CHECKFORONLINEUPDATE                          "SFX2_HID_DLG_CHECKFORONLINEUPDATE"
-#define HID_TP_CUSTOMPROPERTIES                               "SFX2_HID_TP_CUSTOMPROPERTIES"
-#define HID_CTRL_CUSTOMPROPERTIES                             "SFX2_HID_CTRL_CUSTOMPROPERTIES"
 #define HID_CTRL_CUSTOMPROPS_YES_NO                           "SFX2_HID_CTRL_CUSTOMPROPS_YES_NO"
 #define HID_DLG_CUSTOMPROPS_DURATION                          "SFX2_HID_DLG_CUSTOMPROPS_DURATION"
 
diff --git a/sfx2/source/inc/sfxlocal.hrc b/sfx2/source/inc/sfxlocal.hrc
index 134f9bb..2a3cbcb 100644
--- a/sfx2/source/inc/sfxlocal.hrc
+++ b/sfx2/source/inc/sfxlocal.hrc
@@ -48,7 +48,6 @@
 #define SFX_FLD_TIME                        (RID_SFX_SFXLOCAL_START +  11)
 #define SFX_FLD_DURATION                    (RID_SFX_SFXLOCAL_START +  12)
 #define SFX_ST_DURATION_FORMAT              (RID_SFX_SFXLOCAL_START +  13)
-#define SFX_CTRL_CUSTOM_PROPERTIES          (RID_SFX_SFXLOCAL_START +  14)
 
 // Images ----------------------------------------------------------------
 
diff --git a/sfx2/uiconfig/ui/custominfopage.ui b/sfx2/uiconfig/ui/custominfopage.ui
index fe4f207..0cc0612 100644
--- a/sfx2/uiconfig/ui/custominfopage.ui
+++ b/sfx2/uiconfig/ui/custominfopage.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkGrid" id="grid12">
+  <object class="GtkGrid" id="CustomInfoPage">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="hexpand">True</property>
@@ -35,7 +35,7 @@
       </object>
       <packing>
         <property name="left_attach">0</property>
-        <property name="top_attach">2</property>
+        <property name="top_attach">3</property>
         <property name="width">1</property>
         <property name="height">1</property>
       </packing>
@@ -49,6 +49,57 @@
       </object>
       <packing>
         <property name="left_attach">0</property>
+        <property name="top_attach">2</property>
+        <property name="width">1</property>
+        <property name="height">1</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkBox" id="box1">
+        <property name="can_focus">False</property>
+        <property name="no_show_all">True</property>
+        <property name="hexpand">True</property>
+        <property name="spacing">12</property>
+        <property name="homogeneous">True</property>
+        <child>
+          <object class="GtkLabel" id="name">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Name</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="type">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Type</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="value">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Value</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+      <packing>
+        <property name="left_attach">0</property>
         <property name="top_attach">1</property>
         <property name="width">1</property>
         <property name="height">1</property>
commit 8c2da9a4ba786b08d1aa07e01060bbf1eb9f167f
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 19 10:19:30 2012 +0000

    split out custom info page and convert to .ui
    
    Change-Id: I4353c839f6b081fcffd33edb2eb6722e91379cf5

diff --git a/sfx2/UI_sfx.mk b/sfx2/UI_sfx.mk
index c1923c1..6d50bc8 100644
--- a/sfx2/UI_sfx.mk
+++ b/sfx2/UI_sfx.mk
@@ -11,6 +11,7 @@ $(eval $(call gb_UI_UI,sfx))
 
 $(eval $(call gb_UI_add_uifiles,sfx,\
 	sfx2/uiconfig/ui/checkin \
+	sfx2/uiconfig/ui/custominfopage \
 	sfx2/uiconfig/ui/descriptioninfopage \
 	sfx2/uiconfig/ui/documentinfopage \
 	sfx2/uiconfig/ui/internetinfopage \
diff --git a/sfx2/inc/sfx2/dinfdlg.hxx b/sfx2/inc/sfx2/dinfdlg.hxx
index abb3e49..3bd64da 100644
--- a/sfx2/inc/sfx2/dinfdlg.hxx
+++ b/sfx2/inc/sfx2/dinfdlg.hxx
@@ -526,9 +526,7 @@ public:
 class SfxCustomPropertiesPage : public SfxTabPage
 {
 private:
-    CustomPropertiesControl m_aPropertiesCtrl;
-    PushButton              m_aAddBtn;
-    FixedText               m_aPropertiesFT; // Sym2_5121----, Moved by Steve Yin
+    CustomPropertiesControl* m_pPropertiesCtrl;
 
     DECL_LINK(AddHdl, void *);
 
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index bd008f7..d835281 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -2228,6 +2228,12 @@ CustomPropertiesControl::CustomPropertiesControl( Window* pParent, const ResId&
     m_aVertScroll.SetScrollHdl( aScrollLink );
 }
 
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeCustomPropertiesControl(Window *pParent,
+    VclBuilder::stringmap &)
+{
+    return new CustomPropertiesControl(pParent, SfxResId(SFX_CTRL_CUSTOM_PROPERTIES));
+}
+
 CustomPropertiesControl::~CustomPropertiesControl()
 {
 }
@@ -2258,23 +2264,17 @@ void CustomPropertiesControl::AddLine( const ::rtl::OUString& sName, Any& rAny,
 }
 
 // class SfxCustomPropertiesPage -----------------------------------------
-SfxCustomPropertiesPage::SfxCustomPropertiesPage( Window* pParent, const SfxItemSet& rItemSet ) :
-
-    SfxTabPage( pParent, SfxResId( TP_CUSTOMPROPERTIES ), rItemSet ),
-    m_aPropertiesCtrl   ( this, SfxResId( CTRL_PROPERTIES ) ),
-    m_aAddBtn           ( this, SfxResId( BTN_ADD ) ),
-    m_aPropertiesFT     ( this, SfxResId( FT_PROPERTIES ) )
-
+SfxCustomPropertiesPage::SfxCustomPropertiesPage( Window* pParent, const SfxItemSet& rItemSet )
+    : SfxTabPage(pParent, "CustomInfoPage", "sfx/ui/custominfopage.ui", rItemSet)
 {
-    FreeResource();
-
-    m_aAddBtn.SetClickHdl( LINK( this, SfxCustomPropertiesPage, AddHdl ) );
+    get(m_pPropertiesCtrl, "properties");
+    get<PushButton>("add")->SetClickHdl(LINK(this, SfxCustomPropertiesPage, AddHdl));
 }
 
 IMPL_LINK_NOARG(SfxCustomPropertiesPage, AddHdl)
 {
     Any aAny;
-    m_aPropertiesCtrl.AddLine( ::rtl::OUString(), aAny, true );
+    m_pPropertiesCtrl->AddLine( ::rtl::OUString(), aAny, true );
     return 0;
 }
 
@@ -2300,7 +2300,7 @@ sal_Bool SfxCustomPropertiesPage::FillItemSet( SfxItemSet& rSet )
     if ( pInfo )
     {
         pInfo->ClearCustomProperties();
-        Sequence< beans::PropertyValue > aPropertySeq = m_aPropertiesCtrl.GetCustomProperties();
+        Sequence< beans::PropertyValue > aPropertySeq = m_pPropertiesCtrl->GetCustomProperties();
         sal_Int32 i = 0, nCount = aPropertySeq.getLength();
         for ( ; i < nCount; ++i )
         {
@@ -2319,19 +2319,19 @@ sal_Bool SfxCustomPropertiesPage::FillItemSet( SfxItemSet& rSet )
 
 void SfxCustomPropertiesPage::Reset( const SfxItemSet& rItemSet )
 {
-    m_aPropertiesCtrl.ClearAllLines();
+    m_pPropertiesCtrl->ClearAllLines();
     const SfxDocumentInfoItem* m_pInfoItem = &(const SfxDocumentInfoItem &)rItemSet.Get(SID_DOCINFO);
     std::vector< CustomProperty* > aCustomProps = m_pInfoItem->GetCustomProperties();
     for ( sal_uInt32 i = 0; i < aCustomProps.size(); i++ )
     {
-        m_aPropertiesCtrl.AddLine( aCustomProps[i]->m_sName, aCustomProps[i]->m_aValue, false );
+        m_pPropertiesCtrl->AddLine( aCustomProps[i]->m_sName, aCustomProps[i]->m_aValue, false );
     }
 }
 
 int SfxCustomPropertiesPage::DeactivatePage( SfxItemSet* /*pSet*/ )
 {
     int nRet = LEAVE_PAGE;
-    if ( !m_aPropertiesCtrl.AreAllLinesValid() )
+    if ( !m_pPropertiesCtrl->AreAllLinesValid() )
         nRet = KEEP_PAGE;
     return nRet;
 }
diff --git a/sfx2/source/dialog/dinfdlg.hrc b/sfx2/source/dialog/dinfdlg.hrc
index 94b753c..2df47b8 100644
--- a/sfx2/source/dialog/dinfdlg.hrc
+++ b/sfx2/source/dialog/dinfdlg.hrc
@@ -45,7 +45,6 @@
 #define WIN_PROPERTIES      90
 #define SB_VERTICAL         91
 #define FT_PROPERTIES       92
-#define CTRL_PROPERTIES     93
 #define BTN_ADD             94
 #define RB_PROPERTY_YES     100
 #define RB_PROPERTY_NO      101
diff --git a/sfx2/source/dialog/dinfdlg.src b/sfx2/source/dialog/dinfdlg.src
index 3835a3d..007a6d22 100644
--- a/sfx2/source/dialog/dinfdlg.src
+++ b/sfx2/source/dialog/dinfdlg.src
@@ -101,6 +101,44 @@ TabPage TP_DOCINFOUSER
     };
 };
 
+Control SFX_CTRL_CUSTOM_PROPERTIES
+{
+    HelpId = HID_CTRL_CUSTOMPROPERTIES;
+    Pos = MAP_APPFONT ( 6 , 18 ) ;
+    Size = MAP_APPFONT ( 248 , 141 ) ;
+    Border = TRUE;
+    DialogControl = TRUE;
+    Window WIN_PROPERTIES
+    {
+        OutputSize = TRUE ;
+        Pos = MAP_APPFONT ( 0 , 10 ) ;
+        Size = MAP_APPFONT ( 240 , 134 ) ;
+        DialogControl = TRUE;
+    };
+    ScrollBar SB_VERTICAL
+    {
+        Pos = MAP_APPFONT ( 238 , 10 ) ;
+        Size = MAP_APPFONT ( 8 , 129 ) ;
+        VScroll = TRUE;
+    };
+    String STR_HEADER_NAME
+    {
+        Text [ en-US ] = "Name" ;
+    };
+    String STR_HEADER_TYPE
+    {
+        Text [ en-US ] = "Type" ;
+    };
+    String STR_HEADER_VALUE
+    {
+        Text [ en-US ] = "Value" ;
+    };
+    String STR_HEADER_ACTION
+    {
+        Text [ en-US ] = "" ;
+    };
+};
+
 // TP_CUSTOMPROPERTIES ---------------------------------------------------
 
 TabPage TP_CUSTOMPROPERTIES
@@ -115,43 +153,6 @@ TabPage TP_CUSTOMPROPERTIES
         Left = TRUE ;
         Text [ en-US ] = "~Properties" ;
     };
-    Control CTRL_PROPERTIES
-    {
-        HelpId = HID_CTRL_CUSTOMPROPERTIES;
-        Pos = MAP_APPFONT ( 6 , 18 ) ;
-        Size = MAP_APPFONT ( 248 , 141 ) ;
-        Border = TRUE;
-        DialogControl = TRUE;
-        Window WIN_PROPERTIES
-        {
-            OutputSize = TRUE ;
-            Pos = MAP_APPFONT ( 0 , 10 ) ;
-            Size = MAP_APPFONT ( 240 , 134 ) ;
-            DialogControl = TRUE;
-        };
-        ScrollBar SB_VERTICAL
-        {
-            Pos = MAP_APPFONT ( 238 , 10 ) ;
-            Size = MAP_APPFONT ( 8 , 129 ) ;
-            VScroll = TRUE;
-        };
-        String STR_HEADER_NAME
-        {
-            Text [ en-US ] = "Name" ;
-        };
-        String STR_HEADER_TYPE
-        {
-            Text [ en-US ] = "Type" ;
-        };
-        String STR_HEADER_VALUE
-        {
-            Text [ en-US ] = "Value" ;
-        };
-        String STR_HEADER_ACTION
-        {
-            Text [ en-US ] = "" ;
-        };
-    };
     PushButton BTN_ADD
     {
         HelpID = "sfx2:PushButton:TP_CUSTOMPROPERTIES:BTN_ADD";
diff --git a/sfx2/source/inc/sfxlocal.hrc b/sfx2/source/inc/sfxlocal.hrc
index 2a3cbcb..134f9bb 100644
--- a/sfx2/source/inc/sfxlocal.hrc
+++ b/sfx2/source/inc/sfxlocal.hrc
@@ -48,6 +48,7 @@
 #define SFX_FLD_TIME                        (RID_SFX_SFXLOCAL_START +  11)
 #define SFX_FLD_DURATION                    (RID_SFX_SFXLOCAL_START +  12)
 #define SFX_ST_DURATION_FORMAT              (RID_SFX_SFXLOCAL_START +  13)
+#define SFX_CTRL_CUSTOM_PROPERTIES          (RID_SFX_SFXLOCAL_START +  14)
 
 // Images ----------------------------------------------------------------
 
diff --git a/sfx2/uiconfig/ui/custominfopage.ui b/sfx2/uiconfig/ui/custominfopage.ui
new file mode 100644
index 0000000..fe4f207
--- /dev/null
+++ b/sfx2/uiconfig/ui/custominfopage.ui
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkGrid" id="grid12">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="hexpand">True</property>
+    <property name="vexpand">True</property>
+    <property name="row_spacing">12</property>
+    <child>
+      <object class="GtkLabel" id="label56">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="halign">start</property>
+        <property name="label" translatable="yes">_Properties</property>
+        <property name="use_underline">True</property>
+      </object>
+      <packing>
+        <property name="left_attach">0</property>
+        <property name="top_attach">0</property>
+        <property name="width">1</property>
+        <property name="height">1</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkButton" id="add">
+        <property name="label">gtk-add</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="halign">end</property>
+        <property name="use_action_appearance">False</property>
+        <property name="use_stock">True</property>
+      </object>
+      <packing>
+        <property name="left_attach">0</property>
+        <property name="top_attach">2</property>
+        <property name="width">1</property>
+        <property name="height">1</property>
+      </packing>
+    </child>
+    <child>
+      <object class="sfxlo:CustomPropertiesControl" id="properties">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="hexpand">True</property>
+        <property name="vexpand">True</property>
+      </object>
+      <packing>
+        <property name="left_attach">0</property>
+        <property name="top_attach">1</property>
+        <property name="width">1</property>
+        <property name="height">1</property>
+      </packing>
+    </child>
+  </object>
+</interface>
diff --git a/sfx2/uiconfig/ui/documentproperties.ui b/sfx2/uiconfig/ui/documentproperties.ui
index 3407173..946e0ae 100644
--- a/sfx2/uiconfig/ui/documentproperties.ui
+++ b/sfx2/uiconfig/ui/documentproperties.ui
@@ -40,167 +40,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkGrid" id="grid12">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="row_spacing">18</property>
-                <property name="column_spacing">10</property>
-                <child>
-                  <object class="GtkLabel" id="label56">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="halign">start</property>
-                    <property name="label" translatable="yes">Properties</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">0</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButtonBox" id="buttonbox2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="homogeneous">True</property>
-                    <property name="layout_style">end</property>
-                    <child>
-                      <object class="GtkButton" id="add">
-                        <property name="label">gtk-add</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">0</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">2</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkGrid" id="grid13">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="shadow_type">in</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkGrid" id="grid14">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="row_spacing">9</property>
-                        <property name="column_spacing">10</property>
-                        <child>
-                          <object class="GtkLabel" id="label57">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="margin_left">1</property>
-                            <property name="margin_right">1</property>
-                            <property name="margin_top">1</property>
-                            <property name="margin_bottom">1</property>
-                            <property name="label" translatable="yes">Name        </property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">0</property>
-                            <property name="top_attach">0</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label58">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="margin_left">1</property>
-                            <property name="margin_right">1</property>
-                            <property name="margin_top">1</property>
-                            <property name="margin_bottom">1</property>
-                            <property name="label" translatable="yes">Type        </property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="top_attach">0</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label59">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="margin_left">1</property>
-                            <property name="margin_right">1</property>
-                            <property name="margin_top">1</property>
-                            <property name="margin_bottom">1</property>
-                            <property name="label" translatable="yes">Value </property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">2</property>
-                            <property name="top_attach">0</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label60">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">           </property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">3</property>
-                            <property name="top_attach">0</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="position">2</property>
-              </packing>
+              <placeholder/>
             </child>
             <child type="tab">
               <object class="GtkLabel" id="label55">
commit da5390f5613c2daa18f0f30760e47e7a102694df
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Dec 18 23:05:02 2012 +0000

    split out internet info page and convert to .ui
    
    Change-Id: I1aa0dea1e0867b4cf6c4ca099d8c0281d400b24c

diff --git a/sfx2/UI_sfx.mk b/sfx2/UI_sfx.mk
index d3d15c6..c1923c1 100644
--- a/sfx2/UI_sfx.mk
+++ b/sfx2/UI_sfx.mk
@@ -13,6 +13,7 @@ $(eval $(call gb_UI_add_uifiles,sfx,\
 	sfx2/uiconfig/ui/checkin \
 	sfx2/uiconfig/ui/descriptioninfopage \
 	sfx2/uiconfig/ui/documentinfopage \
+	sfx2/uiconfig/ui/internetinfopage \
 	sfx2/uiconfig/ui/password \
 	sfx2/uiconfig/ui/printeroptionsdialog \
 	sfx2/uiconfig/ui/securityinfopage \
diff --git a/sfx2/inc/sfx2/dinfdlg.hxx b/sfx2/inc/sfx2/dinfdlg.hxx
index 09b7a1f..abb3e49 100644
--- a/sfx2/inc/sfx2/dinfdlg.hxx
+++ b/sfx2/inc/sfx2/dinfdlg.hxx
@@ -240,22 +240,24 @@ namespace sfx2
 class SfxInternetPage : public SfxTabPage
 {
 private:
-    RadioButton             aRBNoAutoUpdate;
-    RadioButton             aRBReloadUpdate;
-    RadioButton             aRBForwardUpdate;
-
-    FixedText               aFTEvery;
-    NumericField            aNFReload;
-    FixedText               aFTReloadSeconds;
-
-    FixedText               aFTAfter;
-    NumericField            aNFAfter;
-    FixedText               aFTAfterSeconds;
-    FixedText               aFTURL;
-    Edit                    aEDForwardURL;
-    PushButton              aPBBrowseURL;
-    FixedText               aFTFrame;
-    ComboBox                aCBFrame;
+    VclContainer*           m_pContainer;
+
+    RadioButton*            m_pRBNoAutoUpdate;
+    RadioButton*            m_pRBReloadUpdate;
+    RadioButton*            m_pRBForwardUpdate;
+
+    FixedText*              m_pFTEvery;
+    NumericField*           m_pNFReload;
+    FixedText*              m_pFTReloadSeconds;
+
+    FixedText*              m_pFTAfter;
+    NumericField*           m_pNFAfter;
+    FixedText*              m_pFTAfterSeconds;
+    FixedText*              m_pFTURL;
+    Edit*                   m_pEDForwardURL;
+    PushButton*             m_pPBBrowseURL;
+    FixedText*              m_pFTFrame;
+    ComboBox*               m_pCBFrame;
 
     String                  aForwardErrorMessg;
     String                  aBaseURL;
diff --git a/sfx2/source/appl/app.hrc b/sfx2/source/appl/app.hrc
index cfe9ae1..2d2cf62 100644
--- a/sfx2/source/appl/app.hrc
+++ b/sfx2/source/appl/app.hrc
@@ -144,6 +144,7 @@
 
 #define RID_SVXSTR_END_REDLINING_WARNING        (RID_SFX_APP_START + 212)
 #define RID_SVXSTR_INCORRECT_PASSWORD           (RID_SFX_APP_START + 213)
+#define RID_SVXSTR_FORWARD_ERRMSSG              (RID_SFX_APP_START + 214)
 
 #define MD_DDE_LINKEDIT                         (RID_SFX_APP_START + 1)
 
diff --git a/sfx2/source/appl/app.src b/sfx2/source/appl/app.src
index aa12e39..be348fd 100644
--- a/sfx2/source/appl/app.src
+++ b/sfx2/source/appl/app.src
@@ -512,6 +512,10 @@ String RID_SVXSTR_INCORRECT_PASSWORD
 {
     Text [ en-US ] = "Incorrect password" ;
 };
+String RID_SVXSTR_FORWARD_ERRMSSG
+{
+    Text [ en-US ] = "If you select the option \"%PLACEHOLDER%\", you must enter a URL." ;
+};
 
 ModalDialog DLG_HELP_LICENSING
 {
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index 775baff..bd008f7 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -63,6 +63,7 @@
 
 #include <sfx2/sfx.hrc>
 #include "dinfdlg.hrc"
+#include "../appl/app.hrc"
 #include "sfxlocal.hrc"
 #include <dialog.hrc>
 #include <vcl/help.hxx>
@@ -1103,34 +1104,29 @@ void SfxDocumentPage::Reset( const SfxItemSet& rSet )
 }
 
 //------------------------------------------------------------------------
-SfxInternetPage::SfxInternetPage( Window* pParent, const SfxItemSet& rItemSet ) :
+SfxInternetPage::SfxInternetPage( Window* pParent, const SfxItemSet& rItemSet )
+    : SfxTabPage(pParent, "InternetInfoPage", "sfx/ui/internetinfopage.ui", rItemSet)
+    , aForwardErrorMessg(SFX2_RESSTR(RID_SVXSTR_FORWARD_ERRMSSG))
+    , pInfoItem(NULL)
+    , pFileDlg(NULL)
+    , eState(S_Init)
+{
+    get(m_pContainer, "InternetInfoPage");
+    get(m_pRBNoAutoUpdate, "noautoupdate");
+    get(m_pRBReloadUpdate, "reloadupdate");
+    get(m_pRBForwardUpdate, "forwardupdate");
+    get(m_pFTEvery, "everyft");
+    get(m_pNFReload, "reloadnf");
+    get(m_pFTReloadSeconds, "seconds1ft");
+    get(m_pFTAfter, "afterft");
+    get(m_pNFAfter, "afternf");
+    get(m_pFTAfterSeconds, "seconds1ft");
+    get(m_pFTURL, "urlft");
+    get(m_pEDForwardURL, "forwarded");
+    get(m_pPBBrowseURL, "browse");
+    get(m_pFTFrame, "frameft");
+    get(m_pCBFrame, "framecb");
 
-    SfxTabPage( pParent, SfxResId( TP_DOCINFORELOAD ), rItemSet ),
-
-    aRBNoAutoUpdate     ( this, SfxResId( RB_NOAUTOUPDATE       ) ),
-
-    aRBReloadUpdate     ( this, SfxResId( RB_RELOADUPDATE       ) ),
-
-    aRBForwardUpdate    ( this, SfxResId( RB_FORWARDUPDATE      ) ),
-    aFTEvery            ( this, SfxResId( FT_EVERY              ) ),
-    aNFReload           ( this, SfxResId( ED_RELOAD             ) ),
-    aFTReloadSeconds    ( this, SfxResId( FT_RELOADSECS         ) ),
-    aFTAfter            ( this, SfxResId( FT_AFTER              ) ),
-    aNFAfter            ( this, SfxResId( ED_FORWARD            ) ),
-    aFTAfterSeconds     ( this, SfxResId( FT_FORWARDSECS        ) ),
-    aFTURL              ( this, SfxResId( FT_URL                ) ),
-    aEDForwardURL       ( this, SfxResId( ED_URL                ) ),
-    aPBBrowseURL        ( this, SfxResId( PB_BROWSEURL          ) ),
-    aFTFrame            ( this, SfxResId( FT_FRAME              ) ),
-    aCBFrame            ( this, SfxResId( CB_FRAME              ) ),
-
-    aForwardErrorMessg  ( SfxResId(STR_FORWARD_ERRMSSG).toString() ),
-    pInfoItem           ( NULL ),
-    pFileDlg            ( NULL ),
-    eState              ( S_Init )
-
-{
-    FreeResource();
     pInfoItem = &( SfxDocumentInfoItem& ) rItemSet.Get( SID_DOCINFO );
     TargetList          aList;
     SfxViewFrame*       pFrame = SfxViewFrame::Current();
@@ -1145,18 +1141,18 @@ SfxInternetPage::SfxInternetPage( Window* pParent, const SfxItemSet& rItemSet )
             for ( size_t nPos = aList.size() ; nPos ; )
             {
                 pObj = aList[ --nPos ];
-                aCBFrame.InsertEntry( *pObj );
+                m_pCBFrame->InsertEntry( *pObj );
                 delete pObj;
             }
         }
     }
 
-    aRBNoAutoUpdate.SetClickHdl( LINK( this, SfxInternetPage, ClickHdlNoUpdate ) );
-    aRBReloadUpdate.SetClickHdl( LINK( this, SfxInternetPage, ClickHdlReload ) );
-    aRBForwardUpdate.SetClickHdl( LINK( this, SfxInternetPage, ClickHdlForward ) );
-    aPBBrowseURL.SetClickHdl( LINK( this, SfxInternetPage, ClickHdlBrowseURL ) );
+    m_pRBNoAutoUpdate->SetClickHdl( LINK( this, SfxInternetPage, ClickHdlNoUpdate ) );
+    m_pRBReloadUpdate->SetClickHdl( LINK( this, SfxInternetPage, ClickHdlReload ) );
+    m_pRBForwardUpdate->SetClickHdl( LINK( this, SfxInternetPage, ClickHdlForward ) );
+    m_pPBBrowseURL->SetClickHdl( LINK( this, SfxInternetPage, ClickHdlBrowseURL ) );
 
-    aForwardErrorMessg.SearchAndReplaceAscii( "%PLACEHOLDER%", aRBForwardUpdate.GetText() );
+    aForwardErrorMessg.SearchAndReplaceAscii("%PLACEHOLDER%", m_pRBForwardUpdate->GetText());
 
     ChangeState( S_NoUpdate );
 }
@@ -1215,36 +1211,36 @@ void SfxInternetPage::ChangeState( STATE eNewState )
 void SfxInternetPage::EnableNoUpdate( sal_Bool bEnable )
 {
     if ( bEnable )
-        aRBNoAutoUpdate.Check();
+        m_pRBNoAutoUpdate->Check();
 }
 
 //------------------------------------------------------------------------
 
 void SfxInternetPage::EnableReload( sal_Bool bEnable )
 {
-    aFTEvery.Enable( bEnable );
-    aNFReload.Enable( bEnable );
-    aFTReloadSeconds.Enable( bEnable );
+    m_pFTEvery->Enable( bEnable );
+    m_pNFReload->Enable( bEnable );
+    m_pFTReloadSeconds->Enable( bEnable );
 
     if ( bEnable )
-        aRBReloadUpdate.Check();
+        m_pRBReloadUpdate->Check();
 }
 
 //------------------------------------------------------------------------
 
 void SfxInternetPage::EnableForward( sal_Bool bEnable )
 {
-    aFTAfter.Enable( bEnable );
-    aNFAfter.Enable( bEnable );
-    aFTAfterSeconds.Enable( bEnable );
-    aFTURL.Enable( bEnable );
-    aEDForwardURL.Enable( bEnable );
-    aPBBrowseURL.Enable( bEnable );
-    aFTFrame.Enable( bEnable );
-    aCBFrame.Enable( bEnable );
+    m_pFTAfter->Enable( bEnable );
+    m_pNFAfter->Enable( bEnable );
+    m_pFTAfterSeconds->Enable( bEnable );
+    m_pFTURL->Enable( bEnable );
+    m_pEDForwardURL->Enable( bEnable );
+    m_pPBBrowseURL->Enable( bEnable );
+    m_pFTFrame->Enable( bEnable );
+    m_pCBFrame->Enable( bEnable );
 
     if ( bEnable )
-        aRBForwardUpdate.Check();
+        m_pRBForwardUpdate->Check();
 }
 
 //------------------------------------------------------------------------
@@ -1281,7 +1277,7 @@ IMPL_LINK_NOARG(SfxInternetPage, ClickHdlBrowseURL)
     if ( !pFileDlg )
         pFileDlg = new sfx2::FileDialogHelper(
                         TemplateDescription::FILEOPEN_SIMPLE, 0 );
-    pFileDlg->SetDisplayDirectory( aEDForwardURL.GetText() );
+    pFileDlg->SetDisplayDirectory( m_pEDForwardURL->GetText() );
     pFileDlg->StartExecuteModal( LINK( this, SfxInternetPage, DialogClosedHdl ) );
 
     return 0;
@@ -1294,7 +1290,7 @@ IMPL_LINK_NOARG(SfxInternetPage, DialogClosedHdl)
     DBG_ASSERT( pFileDlg, "SfxInternetPage::DialogClosedHdl(): no file dialog" );
 
     if ( ERRCODE_NONE == pFileDlg->GetError() )
-        aEDForwardURL.SetText( pFileDlg->GetPath() );
+        m_pEDForwardURL->SetText( pFileDlg->GetPath() );
 
     return 0;
 }
@@ -1341,17 +1337,17 @@ sal_Bool SfxInternetPage::FillItemSet( SfxItemSet& rSet )
             aURL = ::std::auto_ptr< String >( new String() );
             aFrame = ::std::auto_ptr< String >( new String() );
             SAL_WNODEPRECATED_DECLARATIONS_POP
-            nDelay = static_cast<sal_uIntPtr>(aNFReload.GetValue());
+            nDelay = static_cast<sal_uIntPtr>(m_pNFReload->GetValue());
             break;
         case S_Forward:
-            DBG_ASSERT( aEDForwardURL.GetText().Len(), "+SfxInternetPage::FillItemSet(): empty URL should be not possible for forward option!" );
+            DBG_ASSERT( m_pEDForwardURL->GetText().Len(), "+SfxInternetPage::FillItemSet(): empty URL should be not possible for forward option!" );
 
             bEnableReload = sal_True;
             SAL_WNODEPRECATED_DECLARATIONS_PUSH
-            aURL = ::std::auto_ptr< String >( new String( URIHelper::SmartRel2Abs( INetURLObject(aBaseURL), aEDForwardURL.GetText(), URIHelper::GetMaybeFileHdl(), true ) ) );
-            aFrame = ::std::auto_ptr< String >( new String( aCBFrame.GetText() ) );
+            aURL = ::std::auto_ptr< String >( new String( URIHelper::SmartRel2Abs( INetURLObject(aBaseURL), m_pEDForwardURL->GetText(), URIHelper::GetMaybeFileHdl(), true ) ) );
+            aFrame = ::std::auto_ptr< String >( new String( m_pCBFrame->GetText() ) );
             SAL_WNODEPRECATED_DECLARATIONS_POP
-            nDelay = static_cast<sal_uIntPtr>(aNFAfter.GetValue());
+            nDelay = static_cast<sal_uIntPtr>(m_pNFAfter->GetValue());
             break;
         default:
             break;
@@ -1395,14 +1391,14 @@ void SfxInternetPage::Reset( const SfxItemSet& rSet )
 
         if( rURL.Len() )
         {
-            aNFAfter.SetValue( pInfoItem->getAutoloadDelay() );
-            aEDForwardURL.SetText( rURL );
-            aCBFrame.SetText( pInfoItem->getDefaultTarget() );
+            m_pNFAfter->SetValue( pInfoItem->getAutoloadDelay() );
+            m_pEDForwardURL->SetText( rURL );
+            m_pCBFrame->SetText( pInfoItem->getDefaultTarget() );
             eNewState = S_Forward;
         }
         else
         {
-            aNFReload.SetValue( pInfoItem->getAutoloadDelay() );
+            m_pNFReload->SetValue( pInfoItem->getAutoloadDelay() );
             eNewState = S_Reload;
         }
     }
@@ -1411,22 +1407,7 @@ void SfxInternetPage::Reset( const SfxItemSet& rSet )
 
     SFX_ITEMSET_ARG( &rSet, pROItem, SfxBoolItem, SID_DOC_READONLY, sal_False );
     if ( pROItem && pROItem->GetValue() )
-    {
-        aRBNoAutoUpdate.Disable();
-        aRBReloadUpdate.Disable();
-        aRBForwardUpdate.Disable();
-        aNFReload.Disable();
-        aNFAfter.Disable();
-        aEDForwardURL.Disable();
-        aPBBrowseURL.Disable();
-        aCBFrame.Disable();
-        aFTEvery.Disable();
-        aFTReloadSeconds.Disable();
-        aFTAfter.Disable();
-        aFTAfterSeconds.Disable();
-        aFTURL.Disable();
-        aFTFrame.Disable();
-    }
+        m_pContainer->Disable();
 }
 
 //------------------------------------------------------------------------
@@ -1434,7 +1415,7 @@ int SfxInternetPage::DeactivatePage( SfxItemSet* /*pSet*/ )
 {
     int nRet = LEAVE_PAGE;
 
-    if ( eState == S_Forward && !aEDForwardURL.GetText().Len() )
+    if ( eState == S_Forward && !m_pEDForwardURL->GetText().Len() )
     {
         ErrorBox aErrBox( this, WB_OK, aForwardErrorMessg );
         aErrBox.Execute();
diff --git a/sfx2/source/dialog/dinfdlg.hrc b/sfx2/source/dialog/dinfdlg.hrc
index 4d596a7..94b753c 100644
--- a/sfx2/source/dialog/dinfdlg.hrc
+++ b/sfx2/source/dialog/dinfdlg.hrc
@@ -30,32 +30,6 @@
 #define CUSTOM_TYPE_DURATION    5
 #define CUSTOM_TYPE_DATETIME    6
 
-// 4 TP_DOCINFORELOAD
-#define PAGE_WIDTH          260
-#define WIDTH_CTRL_SPACE    3
-#define WIDTH_0             10
-#define WIDTH_1             48
-#define WIDTH_2             28
-#define WIDTH_FT1           (WIDTH_1 - WIDTH_CTRL_SPACE)
-#define COL_0               6
-#define COL_1               (COL_0+WIDTH_0)
-#define COL_2               (COL_1+WIDTH_1)
-#define COL_3               (COL_2+WIDTH_2)
-#define COL_4               (COL_3+WIDTH_CTRL_SPACE)
-#define COL_7               (PAGE_WIDTH-2*WIDTH_0)
-#define COL_6               (COL_7-WIDTH_0)
-#define COL_5               (COL_6-WIDTH_CTRL_SPACE)
-#define COL_LAST            COL_7
-
-#define ROWDIFF_FT_EDTFLD   ((RSC_CD_TEXTBOX_HEIGHT-RSC_CD_FIXEDTEXT_HEIGHT)/2)
-#define ROW_0               6
-#define ROW_1               (ROW_0+16)
-#define ROW_2               (ROW_1+13)
-#define ROW_3               (ROW_2+16)
-#define ROW_4               (ROW_3+13)
-#define ROW_5               (ROW_4+16)
-#define ROW_6               (ROW_5+16)
-
 // defines ---------------------------------------------------------------
 
 #define FT_INFO1            15
@@ -67,22 +41,6 @@
 #define FT_INFO4            21
 #define ED_INFO4            22
 #define BTN_EDITLABEL       34
-#define FT_URL              43
-#define ED_URL              44
-
-#define RB_NOAUTOUPDATE     63
-#define RB_RELOADUPDATE     64
-#define RB_FORWARDUPDATE    65
-#define FT_EVERY            66
-#define ED_RELOAD           67
-#define FT_RELOADSECS       68
-#define FT_AFTER            69
-#define ED_FORWARD          70
-#define FT_FORWARDSECS      71
-#define FT_FRAME            72
-#define CB_FRAME            73
-#define PB_BROWSEURL        74
-#define STR_FORWARD_ERRMSSG 75
 
 #define WIN_PROPERTIES      90
 #define SB_VERTICAL         91
diff --git a/sfx2/source/dialog/dinfdlg.src b/sfx2/source/dialog/dinfdlg.src
index e0630af..3835a3d 100644
--- a/sfx2/source/dialog/dinfdlg.src
+++ b/sfx2/source/dialog/dinfdlg.src
@@ -101,131 +101,6 @@ TabPage TP_DOCINFOUSER
     };
 };
 
- // TP_DOCINFOUSER --------------------------------------------------------
-
-TabPage TP_DOCINFORELOAD
-{
-    HelpId = HID_DOCINFORELOAD ;
-    Hide = TRUE ;
-    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
-    RadioButton RB_NOAUTOUPDATE
-    {
-        HelpID = "sfx2:RadioButton:TP_DOCINFORELOAD:RB_NOAUTOUPDATE";
-        TabStop = TRUE ;
-        Pos = MAP_APPFONT( COL_0 , ROW_0 ) ;
-        Size = MAP_APPFONT( COL_7 - COL_1 , RSC_CD_RADIOBUTTON_HEIGHT ) ;
-        Text [ en-US ] = "Do not refresh automatically" ;
-    };
-
-    RadioButton RB_RELOADUPDATE
-    {
-        HelpID = "sfx2:RadioButton:TP_DOCINFORELOAD:RB_RELOADUPDATE";
-        TabStop = TRUE ;
-        Pos = MAP_APPFONT( COL_0, ROW_1 ) ;
-        Size = MAP_APPFONT( COL_7 - COL_1, RSC_CD_RADIOBUTTON_HEIGHT ) ;
-        Text [ en-US ] = "Refresh this document" ;
-    };
-    FixedText FT_EVERY
-    {
-        Pos = MAP_APPFONT ( COL_1 , ROW_2 ) ;
-        Size = MAP_APPFONT ( WIDTH_FT1 , RSC_CD_RADIOBUTTON_HEIGHT ) ;
-        Text [ en-US ] = "every" ;
-    };
-    NumericField ED_RELOAD
-    {
-        HelpID = "sfx2:NumericField:TP_DOCINFORELOAD:ED_RELOAD";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( COL_2 , ROW_2 - ROWDIFF_FT_EDTFLD ) ;
-        Size = MAP_APPFONT ( WIDTH_2 , RSC_CD_TEXTBOX_HEIGHT ) ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Minimum = 1 ;
-        First = 1 ;
-        Last = 60 ;
-        SpinSize = 1 ;
-        Value = 60 ;
-    };
-    FixedText FT_RELOADSECS
-    {
-        Pos = MAP_APPFONT ( COL_4 , ROW_2 ) ;
-        Size = MAP_APPFONT ( COL_7 - COL_4 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
-        Text [ en-US ] = "seconds" ;
-    };
-
-    RadioButton RB_FORWARDUPDATE
-    {
-        HelpID = "sfx2:RadioButton:TP_DOCINFORELOAD:RB_FORWARDUPDATE";
-        TabStop = TRUE ;
-        Pos = MAP_APPFONT( COL_0, ROW_3 ) ;
-        Size = MAP_APPFONT( COL_7 - COL_1, RSC_CD_RADIOBUTTON_HEIGHT ) ;
-        Text [ en-US ] = "Redirect from this document" ;
-    };
-    FixedText FT_AFTER
-    {
-        Pos = MAP_APPFONT ( COL_1 , ROW_4 ) ;
-        Size = MAP_APPFONT ( WIDTH_FT1 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
-        Text [ en-US ] = "after" ;
-    };
-    NumericField ED_FORWARD
-    {
-        HelpID = "sfx2:NumericField:TP_DOCINFORELOAD:ED_FORWARD";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( COL_2 , ROW_4 - ROWDIFF_FT_EDTFLD ) ;
-        Size = MAP_APPFONT ( WIDTH_2 , RSC_CD_TEXTBOX_HEIGHT ) ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Minimum = 1 ;
-        First = 1 ;
-        Last = 60 ;
-        SpinSize = 1 ;
-        Value = 5 ;
-    };
-    FixedText FT_FORWARDSECS
-    {
-        Pos = MAP_APPFONT ( COL_4 , ROW_4 ) ;
-        Size = MAP_APPFONT ( COL_7 - COL_4 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
-        Text [ en-US ] = "seconds" ;
-    };
-    FixedText FT_URL
-    {
-        Pos = MAP_APPFONT ( COL_1 , ROW_5 ) ;
-        Size = MAP_APPFONT ( WIDTH_FT1 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
-        Text [ en-US ] = "to URL" ;
-    };
-    Edit ED_URL
-    {
-        HelpID = "sfx2:Edit:TP_DOCINFORELOAD:ED_URL";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( COL_2 , ROW_5 - ROWDIFF_FT_EDTFLD ) ;
-        Size = MAP_APPFONT ( COL_5 - COL_2 , RSC_CD_TEXTBOX_HEIGHT ) ;
-    };
-    PushButton PB_BROWSEURL
-    {
-        HelpID = "sfx2:PushButton:TP_DOCINFORELOAD:PB_BROWSEURL";
-        Pos = MAP_APPFONT ( COL_6 , ROW_5 - ROWDIFF_FT_EDTFLD ) ;
-        Size = MAP_APPFONT ( COL_7 - COL_6 , RSC_CD_PUSHBUTTON_HEIGHT ) ;
-        Text = "..." ;
-    };
-    FixedText FT_FRAME
-    {
-        Pos = MAP_APPFONT ( COL_1 , ROW_6 ) ;
-        Size = MAP_APPFONT ( WIDTH_FT1 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
-        Text [ en-US ] = "to frame" ;
-    };
-    ComboBox CB_FRAME
-    {
-        HelpID = "sfx2:ComboBox:TP_DOCINFORELOAD:CB_FRAME";
-        Pos = MAP_APPFONT ( COL_2 , ROW_6 - ROWDIFF_FT_EDTFLD ) ;
-        Size = MAP_APPFONT ( COL_7 - COL_2 , RSC_CD_DROPDOWN_HEIGHT * 10 ) ;
-        DropDown = TRUE ;
-    };
-    String STR_FORWARD_ERRMSSG
-    {
-        Text [ en-US ] = "If you select the option \"%PLACEHOLDER%\", you must enter a URL." ;
-    };
-
-};
-
 // TP_CUSTOMPROPERTIES ---------------------------------------------------
 
 TabPage TP_CUSTOMPROPERTIES
diff --git a/sfx2/source/inc/helpid.hrc b/sfx2/source/inc/helpid.hrc
index dc9893a..e1dc196 100644
--- a/sfx2/source/inc/helpid.hrc
+++ b/sfx2/source/inc/helpid.hrc
@@ -27,7 +27,6 @@
 #define HID_MANAGE_STYLES                                     "SFX2_HID_MANAGE_STYLES"
 #define HID_CONFIG_EVENT                                      "SFX2_HID_CONFIG_EVENT"
 #define HID_DOCINFOUSER                                       "SFX2_HID_DOCINFOUSER"
-#define HID_DOCINFORELOAD                                     "SFX2_HID_DOCINFORELOAD"
 #define HID_BROWSERCONTROL                                    "SFX2_HID_BROWSERCONTROL"
 #define HID_PRINT_OPTIONS                                     "SFX2_HID_PRINT_OPTIONS"
 #define HID_PREVIEW_FRAME                                     "SFX2_HID_PREVIEW_FRAME"
diff --git a/sfx2/uiconfig/ui/documentproperties.ui b/sfx2/uiconfig/ui/documentproperties.ui
index 9c7bec4..3407173 100644
--- a/sfx2/uiconfig/ui/documentproperties.ui
+++ b/sfx2/uiconfig/ui/documentproperties.ui
@@ -214,249 +214,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkBox" id="box2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="orientation">vertical</property>
-                <property name="spacing">6</property>
-                <child>
-                  <object class="GtkRadioButton" id="radiobutton1">
-                    <property name="label" translatable="yes">Do not referesh automatically</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="xalign">0</property>
-                    <property name="active">True</property>
-                    <property name="draw_indicator">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkRadioButton" id="radiobutton2">
-                    <property name="label" translatable="yes">Refresh this document</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="xalign">0</property>
-                    <property name="active">True</property>
-                    <property name="draw_indicator">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkGrid" id="grid10">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="margin_left">25</property>
-                    <property name="column_spacing">7</property>
-                    <child>
-                      <object class="GtkLabel" id="label49">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">every </property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label54">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list