[Libreoffice-commits] .: 3 commits - svx/inc svx/source sw/uiconfig vcl/source xmlsecurity/AllLangResTarget_xsec.mk xmlsecurity/inc xmlsecurity/Module_xmlsecurity.mk xmlsecurity/source xmlsecurity/uiconfig xmlsecurity/UI_xmlsec.mk

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Jan 1 08:16:19 PST 2013


 svx/inc/svx/simptabl.hxx                                |    4 
 svx/source/dialog/simptabl.cxx                          |   20 
 sw/uiconfig/swriter/ui/digitalsignature.ui              |  227 ---------
 sw/uiconfig/swriter/ui/selectcertificate.ui             |  205 --------
 vcl/source/window/layout.cxx                            |   35 +
 xmlsecurity/AllLangResTarget_xsec.mk                    |    1 
 xmlsecurity/Module_xmlsecurity.mk                       |    3 
 xmlsecurity/UI_xmlsec.mk                                |   17 
 xmlsecurity/inc/xmlsecurity/certificatechooser.hxx      |   13 
 xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx |   42 -
 xmlsecurity/inc/xmlsecurity/global.hrc                  |    2 
 xmlsecurity/source/dialogs/certificatechooser.cxx       |   57 +-
 xmlsecurity/source/dialogs/certificatechooser.src       |   79 ---
 xmlsecurity/source/dialogs/dialogs.hrc                  |   35 -
 xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx  |  161 +++---
 xmlsecurity/source/dialogs/digitalsignaturesdialog.src  |  155 ------
 xmlsecurity/source/dialogs/helpids.hrc                  |    2 
 xmlsecurity/source/dialogs/resourcemanager.cxx          |    6 
 xmlsecurity/source/dialogs/resourcemanager.hxx          |    1 
 xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui      |  371 ++++++++++++++++
 xmlsecurity/uiconfig/ui/selectcertificatedialog.ui      |  190 ++++++++
 21 files changed, 761 insertions(+), 865 deletions(-)

New commits:
commit 2e00c0efbe03b3390200ea515da57aa57b0cd1ed
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Dec 29 18:11:33 2012 +0000

    move xmlsecurity .ui stuff to right place and adapt code to use it
    
    Change-Id: If1f3dbbbef07004ec02a65563524c6c17dc16c00

diff --git a/svx/inc/svx/simptabl.hxx b/svx/inc/svx/simptabl.hxx
index 597ea8d..9bc8817 100644
--- a/svx/inc/svx/simptabl.hxx
+++ b/svx/inc/svx/simptabl.hxx
@@ -41,6 +41,7 @@ protected:
 
 public:
     SvxSimpleTableContainer( Window* pParent, const ResId& rResId );
+    SvxSimpleTableContainer( Window* pParent, WinBits nBits = WB_BORDER | WB_3DLOOK );
 
     void SetTable(SvxSimpleTable* pTable);
 
diff --git a/svx/source/dialog/simptabl.cxx b/svx/source/dialog/simptabl.cxx
index 979136a..abed194 100644
--- a/svx/source/dialog/simptabl.cxx
+++ b/svx/source/dialog/simptabl.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <svx/simptabl.hxx>
+#include <vcl/builder.hxx>
 #include <vcl/svapp.hxx>
 
 #include <comphelper/processfactory.hxx>
@@ -27,13 +28,26 @@
 
 // SvxSimpleTableContainer  ------------------------------------------------------
 
-SvxSimpleTableContainer::SvxSimpleTableContainer( Window* pParent, const ResId& rResId)
+SvxSimpleTableContainer::SvxSimpleTableContainer(Window* pParent, const ResId& rResId)
     : Control(pParent, rResId)
     , m_pTable(NULL)
 {
     SetBorderStyle(WINDOW_BORDER_NOBORDER);
 }
 
+SvxSimpleTableContainer::SvxSimpleTableContainer(Window* pParent, WinBits nBits)
+    : Control(pParent, nBits)
+    , m_pTable(NULL)
+{
+    SetBorderStyle(WINDOW_BORDER_NOBORDER);
+}
+
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSvxSimpleTableContainer(Window *pParent,
+    VclBuilder::stringmap &)
+{
+    return new SvxSimpleTableContainer(pParent);
+}
+
 void SvxSimpleTableContainer::SetTable(SvxSimpleTable* pTable)
 {
     m_pTable = pTable;
diff --git a/sw/uiconfig/swriter/ui/digitalsignature.ui b/sw/uiconfig/swriter/ui/digitalsignature.ui
deleted file mode 100644
index 42b71f7..0000000
--- a/sw/uiconfig/swriter/ui/digitalsignature.ui
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<interface>
-  <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkDialog" id="dialog1">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</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">spread</property>
-            <child>
-              <object class="GtkButton" id="button4">
-                <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">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="button5">
-                <property name="label">gtk-close</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="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>
-          </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="GtkGrid" id="grid1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <child>
-              <object class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">The following have signed the document content: </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="GtkScrolledWindow" id="scrolledwindow1">
-                <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">2</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButtonBox" id="buttonbox1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="layout_style">start</property>
-                <child>
-                  <object class="GtkButton" id="button1">
-                    <property name="label" translatable="yes">View Certificate...</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">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="button2">
-                    <property name="label" translatable="yes">Sign Document...</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">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="button3">
-                    <property name="label" translatable="yes">Remove</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">2</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">3</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkGrid" id="grid2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="column_spacing">40</property>
-                <child>
-                  <object class="GtkLabel" id="label2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</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="label3">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Signed by </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="label4">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Digital ID issued by </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="label5">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Date</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">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="0">button4</action-widget>
-      <action-widget response="0">button5</action-widget>
-    </action-widgets>
-  </object>
-</interface>
diff --git a/sw/uiconfig/swriter/ui/selectcertificate.ui b/sw/uiconfig/swriter/ui/selectcertificate.ui
deleted file mode 100644
index 83d19f04..0000000
--- a/sw/uiconfig/swriter/ui/selectcertificate.ui
+++ /dev/null
@@ -1,205 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<interface>
-  <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkDialog" id="dialog1">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</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="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>
-          </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="GtkGrid" id="grid1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="row_spacing">10</property>
-            <child>
-              <object class="GtkGrid" id="grid2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="column_spacing">40</property>
-                <child>
-                  <object class="GtkLabel" id="label2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Issued to  </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="label3">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Issued by</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="label4">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Expiration date</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>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="ypad">1</property>
-                <property name="label" translatable="yes">Select the certificate you want to use for signing </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="GtkScrolledWindow" id="scrolledwindow1">
-                <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">2</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButtonBox" id="buttonbox1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="orientation">vertical</property>
-                <property name="layout_style">end</property>
-                <child>
-                  <object class="GtkButton" id="button2">
-                    <property name="label" translatable="yes">View Certificate</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">0</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">3</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</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-widgets>
-  </object>
-</interface>
diff --git a/xmlsecurity/AllLangResTarget_xsec.mk b/xmlsecurity/AllLangResTarget_xsec.mk
index 0f7cb28..74d8d10 100644
--- a/xmlsecurity/AllLangResTarget_xsec.mk
+++ b/xmlsecurity/AllLangResTarget_xsec.mk
@@ -50,7 +50,6 @@ $(eval $(call gb_SrsTarget_set_include,xmlsec/res,\
 $(eval $(call gb_SrsTarget_add_files,xmlsec/res,\
 	xmlsecurity/source/dialogs/certificateviewer.src \
 	xmlsecurity/source/dialogs/macrosecurity.src \
-	xmlsecurity/source/dialogs/certificatechooser.src \
 	xmlsecurity/source/dialogs/digitalsignaturesdialog.src \
 	xmlsecurity/source/component/warnbox.src \
 ))
diff --git a/xmlsecurity/Module_xmlsecurity.mk b/xmlsecurity/Module_xmlsecurity.mk
index 752f625..d6f66ba 100644
--- a/xmlsecurity/Module_xmlsecurity.mk
+++ b/xmlsecurity/Module_xmlsecurity.mk
@@ -32,7 +32,8 @@ $(eval $(call gb_Module_add_targets,xmlsecurity,\
 	AllLangResTarget_xsec \
 	Library_xmlsecurity \
 	Library_xsec_fw \
-    $(if $(filter-out IOS ANDROID,$(OS)),Library_xsec_xmlsec) \
+	$(if $(filter-out IOS ANDROID,$(OS)),Library_xsec_xmlsec) \
+	UI_xmlsec \
 ))
 
 #FIXME: ^^^, get nss&libxmlsec building on ios and android
diff --git a/xmlsecurity/UI_xmlsec.mk b/xmlsecurity/UI_xmlsec.mk
new file mode 100644
index 0000000..c9c7232
--- /dev/null
+++ b/xmlsecurity/UI_xmlsec.mk
@@ -0,0 +1,17 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_UI_UI,xmlsec))
+
+$(eval $(call gb_UI_add_uifiles,xmlsec,\
+	xmlsecurity/uiconfig/ui/digitalsignaturesdialog \
+	xmlsecurity/uiconfig/ui/selectcertificatedialog \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx b/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx
index 8e9b2ba..3ce61f2 100644
--- a/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx
+++ b/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx
@@ -50,16 +50,9 @@ private:
     cssu::Sequence< cssu::Reference< dcss::security::XCertificate > > maCerts;
     SignatureInformations maCertsToIgnore;
 
-    FixedText           maHintFT;
-    SvxSimpleTableContainer m_aCertLBContainer;
-    SvxSimpleTable      maCertLB;
-
-    PushButton          maViewBtn;
-
-    FixedLine           maBottomSepFL;
-    OKButton            maOKBtn;
-    CancelButton        maCancelBtn;
-    HelpButton          maHelpBtn;
+    SvxSimpleTable*     m_pCertLB;
+    PushButton*         m_pViewBtn;
+    OKButton*           m_pOKBtn;
 
     bool                mbInitialized;
 
diff --git a/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx b/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx
index 14fbc9a..390573d 100644
--- a/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx
+++ b/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx
@@ -67,28 +67,26 @@ private:
     DocumentSignatureMode   meSignatureMode;
     css::uno::Sequence < css::uno::Sequence < css::beans::PropertyValue > > m_manifest;
 
-    FixedText           maHintDocFT;
-    FixedText           maHintBasicFT;
-    FixedText           maHintPackageFT;
-    SvxSimpleTableContainer maSignaturesLBContainer;
-    SvxSimpleTable      maSignaturesLB;
-    FixedImage          maSigsValidImg;
-    FixedInfo           maSigsValidFI;
-    FixedImage          maSigsInvalidImg;
-    FixedInfo           maSigsInvalidFI;
-    FixedImage          maSigsNotvalidatedImg;
-    FixedInfo           maSigsNotvalidatedFI;
-    FixedInfo           maSigsOldSignatureFI;
-
-    PushButton          maViewBtn;
-    PushButton          maAddBtn;
-    PushButton          maRemoveBtn;
-
-    FixedLine           maBottomSepFL;
-    OKButton            maOKBtn;
-    HelpButton          maHelpBtn;
-
-    ::rtl::OUString m_sODFVersion;
+    FixedText*          m_pHintDocFT;
+    FixedText*          m_pHintBasicFT;
+    FixedText*          m_pHintPackageFT;
+    SvxSimpleTable*     m_pSignaturesLB;
+    FixedImage*         m_pSigsValidImg;
+    FixedText*          m_pSigsValidFI;
+    FixedImage*         m_pSigsInvalidImg;
+    FixedText*          m_pSigsInvalidFI;
+    FixedImage*         m_pSigsNotvalidatedImg;
+    FixedText*          m_pSigsNotvalidatedFI;
+    FixedImage*         m_pSigsOldSignatureImg;
+    FixedText*          m_pSigsOldSignatureFI;
+
+    PushButton*         m_pViewBtn;
+    PushButton*         m_pAddBtn;
+    PushButton*         m_pRemoveBtn;
+
+    PushButton*         m_pCloseBtn;
+
+    OUString m_sODFVersion;
     //Signals if the document contains already a document signature. This is only
     //importent when we are signing macros and if the value is true.
     bool m_bHasDocumentSignature;
diff --git a/xmlsecurity/inc/xmlsecurity/global.hrc b/xmlsecurity/inc/xmlsecurity/global.hrc
index 5dee8a7..e4393b2 100644
--- a/xmlsecurity/inc/xmlsecurity/global.hrc
+++ b/xmlsecurity/inc/xmlsecurity/global.hrc
@@ -21,8 +21,6 @@
 
 // global resource ids
 
-#define RID_XMLSECDLG_DIGSIG                1000
-#define RID_XMLSECDLG_CERTCHOOSER           1001
 #define RID_XMLSECDLG_CERTVIEWER            1002
 #define RID_XMLSECTP_GENERAL                1003
 #define RID_XMLSECTP_DETAILS                1004
diff --git a/xmlsecurity/source/dialogs/certificatechooser.cxx b/xmlsecurity/source/dialogs/certificatechooser.cxx
index c5382da..be940fb 100644
--- a/xmlsecurity/source/dialogs/certificatechooser.cxx
+++ b/xmlsecurity/source/dialogs/certificatechooser.cxx
@@ -29,16 +29,10 @@
 #include <com/sun/star/security/CertificateCharacters.hpp>
 #include <com/sun/star/security/SerialNumberAdapter.hpp>
 
-#include <dialogs.hrc>
 #include <resourcemanager.hxx>
 #include <vcl/msgbox.hxx>
 #include "svtools/treelistentry.hxx"
 
-/* HACK: disable some warnings for MS-C */
-#ifdef _MSC_VER
-#pragma warning (disable : 4355)    // 4355: this used in initializer-list
-#endif
-
 using namespace ::com::sun::star;
 
 #define INVAL_SEL       0xFFFF
@@ -47,7 +41,7 @@ sal_uInt16 CertificateChooser::GetSelectedEntryPos( void ) const
 {
     sal_uInt16  nSel = INVAL_SEL;
 
-    SvTreeListEntry* pSel = maCertLB.FirstSelected();
+    SvTreeListEntry* pSel = m_pCertLB->FirstSelected();
     if( pSel )
         nSel = (sal_uInt16) ( sal_uIntPtr ) pSel->GetUserData();
 
@@ -55,25 +49,31 @@ sal_uInt16 CertificateChooser::GetSelectedEntryPos( void ) const
 }
 
 CertificateChooser::CertificateChooser( Window* _pParent, uno::Reference< uno::XComponentContext>& _rxCtx, uno::Reference< dcss::xml::crypto::XSecurityEnvironment >& _rxSecurityEnvironment, const SignatureInformations& _rCertsToIgnore )
-    :ModalDialog    ( _pParent, XMLSEC_RES( RID_XMLSECDLG_CERTCHOOSER ) )
-    ,maCertsToIgnore( _rCertsToIgnore )
-    ,maHintFT       ( this, XMLSEC_RES( FT_HINT_SELECT ) )
-    ,m_aCertLBContainer(this, XMLSEC_RES(LB_SIGNATURES))
-    ,maCertLB(m_aCertLBContainer)
-    ,maViewBtn      ( this, XMLSEC_RES( BTN_VIEWCERT ) )
-    ,maBottomSepFL  ( this, XMLSEC_RES( FL_BOTTOM_SEP ) )
-    ,maOKBtn        ( this, XMLSEC_RES( BTN_OK ) )
-    ,maCancelBtn    ( this, XMLSEC_RES( BTN_CANCEL ) )
-    ,maHelpBtn      ( this, XMLSEC_RES( BTN_HELP ) )
+    : ModalDialog(_pParent, "SelectCertificateDialog", "xmlsec/ui/selectcertificatedialog.ui")
+    , maCertsToIgnore( _rCertsToIgnore )
 {
-    static long nTabs[] = { 3, 0, 30*CS_LB_WIDTH/100, 60*CS_LB_WIDTH/100 };
-    maCertLB.SetTabs( &nTabs[0] );
-    maCertLB.InsertHeaderEntry( XMLSEC_RES( STR_HEADERBAR ) );
-    maCertLB.SetSelectHdl( LINK( this, CertificateChooser, CertificateHighlightHdl ) );
-    maCertLB.SetDoubleClickHdl( LINK( this, CertificateChooser, CertificateSelectHdl ) );
-    maViewBtn.SetClickHdl( LINK( this, CertificateChooser, ViewButtonHdl ) );
-
-    FreeResource();
+    get(m_pOKBtn, "ok");
+    get(m_pViewBtn, "viewcert");
+
+    Size aControlSize(275, 122);
+    const long nControlWidth = aControlSize.Width();
+    aControlSize = LogicToPixel(aControlSize, MAP_APPFONT);
+    SvxSimpleTableContainer *pSignatures = get<SvxSimpleTableContainer>("signatures");
+    pSignatures->set_width_request(aControlSize.Width());
+    pSignatures->set_height_request(aControlSize.Height());
+
+    m_pCertLB = new SvxSimpleTable(*pSignatures);
+    static long nTabs[] = { 3, 0, 30*nControlWidth/100, 60*nControlWidth/100 };
+    m_pCertLB->SetTabs( &nTabs[0] );
+    OUStringBuffer sHeader;
+    sHeader.append(get<FixedText>("issuedto")->GetText())
+        .append("\t").append(get<FixedText>("issuedby")->GetText())
+        .append("\t").append(get<FixedText>("expiration")->GetText());
+    m_pCertLB->InsertHeaderEntry(sHeader.makeStringAndClear());
+
+    m_pCertLB->SetSelectHdl( LINK( this, CertificateChooser, CertificateHighlightHdl ) );
+    m_pCertLB->SetDoubleClickHdl( LINK( this, CertificateChooser, CertificateSelectHdl ) );
+    m_pViewBtn->SetClickHdl( LINK( this, CertificateChooser, ViewButtonHdl ) );
 
     mxCtx = _rxCtx;
     mxSecurityEnvironment = _rxSecurityEnvironment;
@@ -85,6 +85,7 @@ CertificateChooser::CertificateChooser( Window* _pParent, uno::Reference< uno::X
 
 CertificateChooser::~CertificateChooser()
 {
+    delete m_pCertLB;
 }
 
 short CertificateChooser::Execute()
@@ -178,7 +179,7 @@ void CertificateChooser::ImplInitialize()
             sEntry.append( XmlSec::GetContentPart( maCerts[ nC ]->getIssuerName() ) );
             sEntry.append( '\t' );
             sEntry.append( XmlSec::GetDateString( maCerts[ nC ]->getNotValidAfter() ) );
-            SvTreeListEntry* pEntry = maCertLB.InsertEntry( sEntry.makeStringAndClear() );
+            SvTreeListEntry* pEntry = m_pCertLB->InsertEntry( sEntry.makeStringAndClear() );
             pEntry->SetUserData( ( void* )(sal_IntPtr)nC ); // missuse user data as index
         }
 
@@ -201,8 +202,8 @@ uno::Reference< dcss::security::XCertificate > CertificateChooser::GetSelectedCe
 IMPL_LINK_NOARG(CertificateChooser, CertificateHighlightHdl)
 {
     sal_Bool bEnable = GetSelectedCertificate().is();
-    maViewBtn.Enable( bEnable );
-    maOKBtn.Enable( bEnable );
+    m_pViewBtn->Enable( bEnable );
+    m_pOKBtn->Enable( bEnable );
     return 0;
 }
 
diff --git a/xmlsecurity/source/dialogs/certificatechooser.src b/xmlsecurity/source/dialogs/certificatechooser.src
deleted file mode 100644
index 18cb08b..0000000
--- a/xmlsecurity/source/dialogs/certificatechooser.src
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include "dialogs.hrc"
-#include "helpids.hrc"
-
-ModalDialog RID_XMLSECDLG_CERTCHOOSER
-{
-    HelpId = HID_XMLSEC_DLG_CERTCHOOSER;
-    Size = MAP_APPFONT( CS_WIDTH, CS_HEIGHT );
-    OutputSize = TRUE;
-    Closeable = TRUE;
-    Moveable = TRUE;
-    SVLook = TRUE;
-
-    Text [ en-US ] = "Select Certificate";
-
-    FixedText FT_HINT_SELECT
-    {
-        Pos = MAP_APPFONT( CS_COL_0, CS_ROW_0 );
-        Size = MAP_APPFONT( CS_COL_2-CS_COL_0, RSC_CD_FIXEDTEXT_HEIGHT );
-        Text [ en-US ] = "Select the certificate you want to use for signing";
-    };
-    Control LB_SIGNATURES
-    {
-        HelpId = HID_XMLSEC_CTRL_CHOOSESIGNATURES;
-        Pos = MAP_APPFONT( CS_COL_0, CS_ROW_1 );
-        Size = MAP_APPFONT( CS_LB_WIDTH, CS_ROW_2-CS_ROW_1 );
-        SVLook = TRUE;
-        Border = TRUE;
-    };
-    String STR_HEADERBAR
-    {
-        Text [ en-US ] = "Issued to\tIssued by\tExpiration date";
-    };
-    PushButton BTN_VIEWCERT
-    {
-        HelpID = "xmlsecurity:PushButton:RID_XMLSECDLG_CERTCHOOSER:BTN_VIEWCERT";
-        Pos = MAP_APPFONT( CS_COL_1, CS_ROW_3 );
-        Size = MAP_APPFONT( CS_COL_2-CS_COL_1, RSC_CD_PUSHBUTTON_HEIGHT );
-        Text [ en-US ] = "View Certificate...";
-    };
-    FixedLine FL_BOTTOM_SEP
-    {
-        Pos = MAP_APPFONT( 0, DLGS_BOTTOM_FL_Y( CS_HEIGHT ) );
-        Size = MAP_APPFONT( CS_WIDTH, RSC_CD_FIXEDLINE_HEIGHT );
-    };
-    OKButton BTN_OK
-    {
-        DefButton = TRUE;
-        Pos = MAP_APPFONT( DLGS_BOTTOM_OK_X( CS_WIDTH ), DLGS_BOTTOM_BTN_Y( CS_HEIGHT ) );
-        Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
-    };
-    CancelButton BTN_CANCEL
-    {
-        Pos = MAP_APPFONT( DLGS_BOTTOM_CANCEL_X( CS_WIDTH ), DLGS_BOTTOM_BTN_Y( CS_HEIGHT ) );
-        Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
-    };
-    HelpButton BTN_HELP
-    {
-        Pos = MAP_APPFONT( DLGS_BOTTOM_HELP_X( CS_WIDTH ), DLGS_BOTTOM_BTN_Y( CS_HEIGHT ) );
-        Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
-    };
-};
diff --git a/xmlsecurity/source/dialogs/dialogs.hrc b/xmlsecurity/source/dialogs/dialogs.hrc
index 4f5fe5c..ea6097a 100644
--- a/xmlsecurity/source/dialogs/dialogs.hrc
+++ b/xmlsecurity/source/dialogs/dialogs.hrc
@@ -61,43 +61,12 @@
 #define DLGS_BOTTOM_OK_X(dlgw)          (DLGS_BOTTOM_CANCEL_X(dlgw)-RSC_SP_CTRL_DESC_X-RSC_CD_PUSHBUTTON_WIDTH)
 
 
-// --------- dialog Digital Signatures ---------
-#define BTN_ADDCERT                     2
-#define BTN_REMOVECERT                  3
-#define FT_HINT_DOC                     4
-#define FT_HINT_BASIC                   5
-#define FT_HINT_PACK                    6
-#define IMG_STATE_VALID                 7
-#define FI_STATE_VALID                  8
-#define IMG_STATE_BROKEN                9
-#define FI_STATE_BROKEN                 10
-#define IMG_STATE_NOTVALIDATED          11
-#define FI_STATE_NOTVALIDATED           12
-#define FI_STATE_OLDSIGNATURE           16
-
-#define DS_BTNWIDTH_1                   70
-
-// --------- dialog Ceritficate chooser ---------
-#define FT_HINT_SELECT                  1
-
-#define CS_WIDTH                        DLGS_WIDTH
-#define CS_HEIGHT                       DLGS_HEIGHT
-#define CS_BTNWIDTH_1                   DS_BTNWIDTH_1
+// --------- tab dialog Certificate viewer ---------
 
 #define CS_COL_0                        RSC_SP_DLG_INNERBORDER_LEFT
-#define CS_COL_2                        (CS_WIDTH-RSC_SP_DLG_INNERBORDER_RIGHT)
-#define CS_COL_1                        (CS_COL_2-CS_BTNWIDTH_1)
-
-#define CS_ROW_0                        RSC_SP_DLG_INNERBORDER_TOP
-#define CS_ROW_1                        (CS_ROW_0+RSC_CD_FIXEDTEXT_HEIGHT+RSC_SP_CTRL_DESC_X)
-#define CS_ROW_4                        DLGS_BOTTOM_LAST_CTRL_L(CS_HEIGHT)
-#define CS_ROW_3                        (CS_ROW_4-RSC_CD_PUSHBUTTON_HEIGHT)
-#define CS_ROW_2                        (CS_ROW_3-RSC_SP_CTRL_Y)
-
+#define CS_COL_2                        (DLGS_WIDTH-RSC_SP_DLG_INNERBORDER_RIGHT)
 #define CS_LB_WIDTH                     (CS_COL_2-CS_COL_0)
 
-// --------- tab dialog Certificate viewer ---------
-
 #define CV_COL_0                        TD_SP_INNERBORDER_LEFT
 #define CV_COL_1                        (TP_WIDTH-RSC_SP_TBPG_INNERBORDER_RIGHT)
 #define CV_ROW_0                        RSC_SP_TBPG_INNERBORDER_TOP
diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
index ddd929a..cf8f692 100644
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
+++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
@@ -174,79 +174,78 @@ DigitalSignaturesDialog::DigitalSignaturesDialog(
     Window* pParent,
     uno::Reference< uno::XComponentContext >& rxCtx, DocumentSignatureMode eMode,
     sal_Bool bReadOnly, const ::rtl::OUString& sODFVersion, bool bHasDocumentSignature)
-    :ModalDialog        ( pParent, XMLSEC_RES( RID_XMLSECDLG_DIGSIG ) )
-    ,mxCtx              ( rxCtx )
-    ,maSignatureHelper  ( rxCtx )
-    ,meSignatureMode    ( eMode )
-    ,maHintDocFT        ( this, XMLSEC_RES( FT_HINT_DOC ) )
-    ,maHintBasicFT      ( this, XMLSEC_RES( FT_HINT_BASIC ) )
-    ,maHintPackageFT    ( this, XMLSEC_RES( FT_HINT_PACK ) )
-    ,maSignaturesLBContainer(this, XMLSEC_RES(LB_SIGNATURES))
-    ,maSignaturesLB(maSignaturesLBContainer)
-    ,maSigsValidImg     ( this, XMLSEC_RES( IMG_STATE_VALID ) )
-    ,maSigsValidFI      ( this, XMLSEC_RES( FI_STATE_VALID ) )
-    ,maSigsInvalidImg   ( this, XMLSEC_RES( IMG_STATE_BROKEN ) )
-    ,maSigsInvalidFI    ( this, XMLSEC_RES( FI_STATE_BROKEN ) )
-    ,maSigsNotvalidatedImg( this, XMLSEC_RES( IMG_STATE_NOTVALIDATED ) )
-    ,maSigsNotvalidatedFI ( this, XMLSEC_RES( FI_STATE_NOTVALIDATED ) )
-    ,maSigsOldSignatureFI ( this, XMLSEC_RES( FI_STATE_OLDSIGNATURE) )
-    ,maViewBtn          ( this, XMLSEC_RES( BTN_VIEWCERT ) )
-    ,maAddBtn           ( this, XMLSEC_RES( BTN_ADDCERT ) )
-    ,maRemoveBtn        ( this, XMLSEC_RES( BTN_REMOVECERT ) )
-    ,maBottomSepFL      ( this, XMLSEC_RES( FL_BOTTOM_SEP ) )
-    ,maOKBtn            ( this, XMLSEC_RES( BTN_OK ) )
-    ,maHelpBtn          ( this, XMLSEC_RES( BTN_HELP ) )
-    ,m_sODFVersion (sODFVersion)
-    ,m_bHasDocumentSignature(bHasDocumentSignature)
-    ,m_bWarningShowSignMacro(false)
+    : ModalDialog(pParent, "DigitalSignaturesDialog", "xmlsec/ui/digitalsignaturesdialog.ui")
+    , mxCtx(rxCtx)
+    , maSignatureHelper(rxCtx)
+    , meSignatureMode(eMode)
+    , m_sODFVersion (sODFVersion)
+    , m_bHasDocumentSignature(bHasDocumentSignature)
+    , m_bWarningShowSignMacro(false)
 {
-    // #i48253# the tablistbox needs its own unique id
-    maSignaturesLB.Window::SetUniqueId( HID_XMLSEC_TREE_SIGNATURESDLG );
-    Size aControlSize( maSignaturesLB.GetSizePixel() );
-    aControlSize = maSignaturesLB.PixelToLogic( aControlSize, MapMode( MAP_APPFONT ) );
+    get(m_pHintDocFT, "dochint");
+    get(m_pHintBasicFT, "macrohint");
+    get(m_pHintPackageFT, "packagehint");
+    get(m_pViewBtn, "view");
+    get(m_pAddBtn, "sign");
+    get(m_pRemoveBtn, "remove");
+    get(m_pCloseBtn, "close");
+    get(m_pSigsValidImg, "validimg");
+    get(m_pSigsValidFI, "validft");
+    get(m_pSigsInvalidImg, "invalidimg");
+    get(m_pSigsInvalidFI, "invalidft");
+    get(m_pSigsNotvalidatedImg, "notvalidatedimg");
+    get(m_pSigsNotvalidatedFI, "notvalidatedft");
+    get(m_pSigsOldSignatureImg, "oldsignatureimg");
+    get(m_pSigsOldSignatureFI, "oldsignatureft");
+
+    Size aControlSize(275, 109);
     const long nControlWidth = aControlSize.Width();
-    static long nTabs[] = { 4, 0, 6*nControlWidth/100, 36*nControlWidth/100, 74*nControlWidth/100 };
-    maSignaturesLB.SetTabs( &nTabs[ 0 ] );
-    maSignaturesLB.InsertHeaderEntry( XMLSEC_RES( STR_HEADERBAR ) );
+    aControlSize = LogicToPixel(aControlSize, MAP_APPFONT);
+    SvxSimpleTableContainer *pSignatures = get<SvxSimpleTableContainer>("signatures");
+    pSignatures->set_width_request(aControlSize.Width());
+    pSignatures->set_height_request(aControlSize.Height());
 
-    maSigsNotvalidatedFI.SetText( XMLSEC_RES( STR_NO_INFO_TO_VERIFY ) );
+    m_pSignaturesLB = new SvxSimpleTable(*pSignatures);
+    // #i48253# the tablistbox needs its own unique id
+    m_pSignaturesLB->Window::SetUniqueId( HID_XMLSEC_TREE_SIGNATURESDLG );
+    static long nTabs[] = { 4, 0, 6*nControlWidth/100, 36*nControlWidth/100, 74*nControlWidth/100 };
+    m_pSignaturesLB->SetTabs( &nTabs[ 0 ] );
 
-    FreeResource();
+    OUStringBuffer sHeader;
+    sHeader.append("\t").append(get<FixedText>("signed")->GetText())
+        .append("\t").append(get<FixedText>("issued")->GetText())
+        .append("\t").append(get<FixedText>("date")->GetText());
+    m_pSignaturesLB->InsertHeaderEntry(sHeader.makeStringAndClear());
 
     mbVerifySignatures = true;
     mbSignaturesChanged = false;
 
-    maSignaturesLB.SetSelectHdl( LINK( this, DigitalSignaturesDialog, SignatureHighlightHdl ) );
-    maSignaturesLB.SetDoubleClickHdl( LINK( this, DigitalSignaturesDialog, SignatureSelectHdl ) );
+    m_pSignaturesLB->SetSelectHdl( LINK( this, DigitalSignaturesDialog, SignatureHighlightHdl ) );
+    m_pSignaturesLB->SetDoubleClickHdl( LINK( this, DigitalSignaturesDialog, SignatureSelectHdl ) );
 
-    maViewBtn.SetClickHdl( LINK( this, DigitalSignaturesDialog, ViewButtonHdl ) );
-    maViewBtn.Disable();
+    m_pViewBtn->SetClickHdl( LINK( this, DigitalSignaturesDialog, ViewButtonHdl ) );
+    m_pViewBtn->Disable();
 
-    maAddBtn.SetClickHdl( LINK( this, DigitalSignaturesDialog, AddButtonHdl ) );
+    m_pAddBtn->SetClickHdl( LINK( this, DigitalSignaturesDialog, AddButtonHdl ) );
     if ( bReadOnly  )
-        maAddBtn.Disable();
+        m_pAddBtn->Disable();
 
-    maRemoveBtn.SetClickHdl( LINK( this, DigitalSignaturesDialog, RemoveButtonHdl ) );
-    maRemoveBtn.Disable();
+    m_pRemoveBtn->SetClickHdl( LINK( this, DigitalSignaturesDialog, RemoveButtonHdl ) );
+    m_pRemoveBtn->Disable();
 
-    maOKBtn.SetClickHdl( LINK( this, DigitalSignaturesDialog, OKButtonHdl) );
+    m_pCloseBtn->SetClickHdl( LINK( this, DigitalSignaturesDialog, OKButtonHdl) );
 
     switch( meSignatureMode )
     {
-        case SignatureModeDocumentContent:  maHintDocFT.Show();     break;
-        case SignatureModeMacros:           maHintBasicFT.Show();   break;
-        case SignatureModePackage:          maHintPackageFT.Show(); break;
+        case SignatureModeDocumentContent:  m_pHintDocFT->Show();     break;
+        case SignatureModeMacros:           m_pHintBasicFT->Show();   break;
+        case SignatureModePackage:          m_pHintPackageFT->Show(); break;
     }
-
-    // adjust fixed text to images
-    XmlSec::AlignAndFitImageAndControl( maSigsValidImg, maSigsValidFI, 5 );
-    XmlSec::AlignAndFitImageAndControl( maSigsInvalidImg, maSigsInvalidFI, 5 );
-    XmlSec::AlignAndFitImageAndControl( maSigsNotvalidatedImg, maSigsNotvalidatedFI, 5 );
-    XmlSec::AlignAndFitImageAndControl( maSigsNotvalidatedImg, maSigsOldSignatureFI, 5 );
 }
 
 DigitalSignaturesDialog::~DigitalSignaturesDialog()
 {
+    delete m_pSignaturesLB;
 }
 
 sal_Bool DigitalSignaturesDialog::Init()
@@ -362,10 +361,10 @@ short DigitalSignaturesDialog::Execute()
 
 IMPL_LINK_NOARG(DigitalSignaturesDialog, SignatureHighlightHdl)
 {
-    bool bSel = maSignaturesLB.FirstSelected() ? true : false;
-    maViewBtn.Enable( bSel );
-    if ( maAddBtn.IsEnabled() ) // not read only
-        maRemoveBtn.Enable( bSel );
+    bool bSel = m_pSignaturesLB->FirstSelected() ? true : false;
+    m_pViewBtn->Enable( bSel );
+    if ( m_pAddBtn->IsEnabled() ) // not read only
+        m_pRemoveBtn->Enable( bSel );
 
     return 0;
 }
@@ -523,11 +522,11 @@ IMPL_LINK_NOARG(DigitalSignaturesDialog, RemoveButtonHdl)
 {
     if (!canRemove())
         return 0;
-    if( maSignaturesLB.FirstSelected() )
+    if( m_pSignaturesLB->FirstSelected() )
     {
         try
         {
-            sal_uInt16 nSelected = (sal_uInt16) (sal_uIntPtr) maSignaturesLB.FirstSelected()->GetUserData();
+            sal_uInt16 nSelected = (sal_uInt16) (sal_uIntPtr) m_pSignaturesLB->FirstSelected()->GetUserData();
             maCurrentSignatureInformations.erase( maCurrentSignatureInformations.begin()+nSelected );
 
             // Export all other signatures...
@@ -570,7 +569,7 @@ IMPL_LINK_NOARG(DigitalSignaturesDialog, StartVerifySignatureHdl)
 
 void DigitalSignaturesDialog::ImplFillSignaturesBox()
 {
-    maSignaturesLB.Clear();
+    m_pSignaturesLB->Clear();
 
     uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment > xSecEnv = maSignatureHelper.GetSecurityEnvironment();
     uno::Reference<com::sun::star::security::XSerialNumberAdapter> xSerialNumberAdapter =
@@ -654,11 +653,11 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox()
             Image aImage;
             if (!bSigValid)
             {
-                aImage = maSigsInvalidImg.GetImage();
+                aImage = m_pSigsInvalidImg->GetImage();
             }
             else if (bSigValid && !bCertValid)
             {
-                aImage = maSigsNotvalidatedImg.GetImage();
+                aImage = m_pSigsNotvalidatedImg->GetImage();
             }
             //Check if the signature is a "old" document signature, that is, which was created
             //by an version of OOo previous to 3.2
@@ -666,25 +665,25 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox()
                 && bSigValid && bCertValid && !DocumentSignatureHelper::isOOo3_2_Signature(
                 maCurrentSignatureInformations[n]))
             {
-                aImage = maSigsNotvalidatedImg.GetImage();
+                aImage = m_pSigsNotvalidatedImg->GetImage();
                 bAllNewSignatures &= false;
             }
             else if (meSignatureMode == SignatureModeDocumentContent
                 && bSigValid && bCertValid && DocumentSignatureHelper::isOOo3_2_Signature(
                 maCurrentSignatureInformations[n]))
             {
-                aImage = maSigsValidImg.GetImage();
+                aImage = m_pSigsValidImg->GetImage();
             }
             else if (meSignatureMode == SignatureModeMacros
                 && bSigValid && bCertValid)
             {
-                aImage = maSigsValidImg.GetImage();
+                aImage = m_pSigsValidImg->GetImage();
             }
 
-            SvTreeListEntry* pEntry = maSignaturesLB.InsertEntry( OUString(), aImage, aImage );
-            maSignaturesLB.SetEntryText( aSubject, pEntry, 1 );
-            maSignaturesLB.SetEntryText( aIssuer, pEntry, 2 );
-            maSignaturesLB.SetEntryText( aDateTimeStr, pEntry, 3 );
+            SvTreeListEntry* pEntry = m_pSignaturesLB->InsertEntry( OUString(), aImage, aImage );
+            m_pSignaturesLB->SetEntryText( aSubject, pEntry, 1 );
+            m_pSignaturesLB->SetEntryText( aIssuer, pEntry, 2 );
+            m_pSignaturesLB->SetEntryText( aDateTimeStr, pEntry, 3 );
             pEntry->SetUserData( ( void* ) n );     // missuse user data as index
         }
     }
@@ -693,23 +692,27 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox()
     bool bAllCertsValid = (nValidCerts == nInfos);
     bool bShowValidState = nInfos && (bAllSigsValid && bAllCertsValid && bAllNewSignatures);
 
-    bool bShowNotValidatedState = nInfos && (bAllSigsValid && (!bAllCertsValid || !bAllNewSignatures));
+    m_pSigsValidImg->Show( bShowValidState);
+    m_pSigsValidFI->Show( bShowValidState );
+
     bool bShowInvalidState = nInfos && !bAllSigsValid;
 
-    maSigsValidImg.Show( bShowValidState);
-    maSigsValidFI.Show( bShowValidState );
-    maSigsInvalidImg.Show( bShowInvalidState );
-    maSigsInvalidFI.Show( bShowInvalidState );
+    m_pSigsInvalidImg->Show( bShowInvalidState );
+    m_pSigsInvalidFI->Show( bShowInvalidState );
+
+    bool bShowNotValidatedState = nInfos && bAllSigsValid && !bAllCertsValid;
+
+    m_pSigsNotvalidatedImg->Show(bShowNotValidatedState);
+    m_pSigsNotvalidatedFI->Show(bShowNotValidatedState);
 
-    maSigsNotvalidatedImg.Show(bShowNotValidatedState);
     //bAllNewSignatures is always true if we are not in document mode
-    maSigsNotvalidatedFI.Show(nInfos && bAllSigsValid && ! bAllCertsValid);
-    maSigsOldSignatureFI.Show(nInfos && bAllSigsValid && bAllCertsValid && !bAllNewSignatures);
+    bool bShowOldSignature = nInfos && bAllSigsValid && bAllCertsValid && !bAllNewSignatures;
+    m_pSigsOldSignatureImg->Show(bShowOldSignature);
+    m_pSigsOldSignatureFI->Show(bShowOldSignature);
 
     SignatureHighlightHdl( NULL );
 }
 
-
 //If bUseTempStream is true then the temporary signature stream is used.
 //Otherwise the real signature stream is used.
 void DigitalSignaturesDialog::ImplGetSignatureInformations(bool bUseTempStream)
@@ -734,9 +737,9 @@ void DigitalSignaturesDialog::ImplGetSignatureInformations(bool bUseTempStream)
 
 void DigitalSignaturesDialog::ImplShowSignaturesDetails()
 {
-    if( maSignaturesLB.FirstSelected() )
+    if( m_pSignaturesLB->FirstSelected() )
     {
-        sal_uInt16 nSelected = (sal_uInt16) (sal_uIntPtr) maSignaturesLB.FirstSelected()->GetUserData();
+        sal_uInt16 nSelected = (sal_uInt16) (sal_uIntPtr) m_pSignaturesLB->FirstSelected()->GetUserData();
         const SignatureInformation& rInfo = maCurrentSignatureInformations[ nSelected ];
         css::uno::Reference<css::xml::crypto::XSecurityEnvironment > xSecEnv =
             maSignatureHelper.GetSecurityEnvironment();
diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.src b/xmlsecurity/source/dialogs/digitalsignaturesdialog.src
index 00e33e7..64103fe 100644
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.src
+++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.src
@@ -20,161 +20,6 @@
 #include "helpids.hrc"
 #include "digitalsignaturesdialog.hrc"
 
-ModalDialog RID_XMLSECDLG_DIGSIG
-{
-    HelpId = HID_XMLSEC_DLG_DIGSIG;
-    Size = MAP_APPFONT( 234, 191 );
-    OutputSize = TRUE;
-    Closeable = TRUE;
-    Moveable = TRUE;
-    SVLook = TRUE;
-
-    Text [ en-US ] = "Digital Signatures";
-
-    FixedText FT_HINT_DOC
-    {
-        Pos = MAP_APPFONT( 6, 3 );
-        Size = MAP_APPFONT( 222, 8 );
-        Hide = TRUE;
-        Text [ en-US ] = "The following have signed the document content:";
-    };
-    FixedText FT_HINT_BASIC
-    {
-        Pos = MAP_APPFONT( 6, 3 );
-        Size = MAP_APPFONT( 222, 8 );
-        Hide = TRUE;
-        Text [ en-US ] = "The following have signed the document macro:";
-    };
-    FixedText FT_HINT_PACK
-    {
-        Pos = MAP_APPFONT( 6, 3 );
-        Size = MAP_APPFONT( 222, 8 );
-        Hide = TRUE;
-        Text [ en-US ] = "The following have signed this package:";
-    };
-    Control LB_SIGNATURES
-    {
-        HelpId = HID_XMLSEC_CTRL_SIGNATURESDLG;
-        Pos = MAP_APPFONT( 6, 14 );
-        Size = MAP_APPFONT( 222, 109 );
-        SVLook = TRUE;
-        Border = TRUE;
-    };
-    String STR_HEADERBAR
-    {
-        Text [ en-US ] = "\tSigned by\tDigital ID issued by\tDate";
-    };
-    String STR_VALID_SIGNATURE
-    {
-        Text [ en-US ] = "Valid signature";
-    };
-    String STR_NO_INFO_TO_VERIFY
-    {
-        Text [ en-US ] = "Certificate could not be validated";
-    };
-    String STR_INVALID_SIGNATURE
-    {
-        Text [ en-US ] = "The signatures in this document are invalid";
-    };
-
-    FixedImage IMG_STATE_VALID
-    {
-        Pos = MAP_APPFONT( 6, 127 );
-        Size = MAP_APPFONT( 33, 22 );
-        Fixed = Image
-        {
-            ImageBitmap = Bitmap { File = "signet_11x16.png"; };
-            MaskColor = STD_MASKCOLOR;
-        };
-    };
-    FixedText FI_STATE_VALID
-    {
-        Pos = MAP_APPFONT( 6, 127 );
-        Size = MAP_APPFONT( 222, 8 );
-        Hide = TRUE;
-        Text [ en-US ] = "The signatures in this document are valid";
-    };
-    FixedText FI_STATE_OLDSIGNATURE
-    {
-        Pos = MAP_APPFONT( 6, 127 );
-        Size = MAP_APPFONT( 222, 8 );
-        Hide = TRUE;
-        Text [ en-US ] = "Not all parts of the document are signed";
-    };
-    FixedImage IMG_STATE_BROKEN
-    {
-        Pos = MAP_APPFONT( 6, 127 );
-        Size = MAP_APPFONT( 33, 22 );
-        Fixed = Image
-        {
-            ImageBitmap = Bitmap { File = "caution_11x16.png"; };
-            MaskColor = STD_MASKCOLOR;
-        };
-    };
-    FixedText FI_STATE_BROKEN
-    {
-        Pos = MAP_APPFONT( 6, 127 );
-        Size = MAP_APPFONT( 222, 8 );
-        Hide = TRUE;
-        Text [ en-US ] = "The signatures in this document are invalid";
-    };
-    FixedImage IMG_STATE_NOTVALIDATED
-    {
-        Pos = MAP_APPFONT( 6, 127 );
-        Size = MAP_APPFONT( 33, 22 );
-        Fixed = Image
-        {
-            ImageBitmap = Bitmap { File = "notcertificate_16.png"; };
-            MaskColor = STD_MASKCOLOR;
-        };
-    };
-    FixedText FI_STATE_NOTVALIDATED
-    {
-        Pos = MAP_APPFONT( 6, 127 );
-        Size = MAP_APPFONT( 222, 8 );
-        Hide = TRUE;
-    };
-    PushButton BTN_VIEWCERT
-    {
-        HelpID = "xmlsecurity:PushButton:RID_XMLSECDLG_DIGSIG:BTN_VIEWCERT";
-        Pos = MAP_APPFONT( 6, 142 );
-        Size = MAP_APPFONT( 70, 14 );
-        Text [ en-US ] = "View Certificate...";
-    };
-    PushButton BTN_ADDCERT
-    {
-        HelpID = "xmlsecurity:PushButton:RID_XMLSECDLG_DIGSIG:BTN_ADDCERT";
-        Pos = MAP_APPFONT( 82, 142 );
-        Size = MAP_APPFONT( 70, 14 );
-        Text [ en-US ] = "Sign Document...";
-    };
-    PushButton BTN_REMOVECERT
-    {
-        HelpID = "xmlsecurity:PushButton:RID_XMLSECDLG_DIGSIG:BTN_REMOVECERT";
-        Pos = MAP_APPFONT( 158, 142 );
-        Size = MAP_APPFONT( 70, 14 );
-        Text [ en-US ] = "Remove";
-    };
-    FixedLine FL_BOTTOM_SEP
-    {
-        Pos = MAP_APPFONT( 0, 160 );
-        Size = MAP_APPFONT( 234, 8 );
-    };
-    OKButton BTN_OK
-    {
-        DefButton = TRUE;
-        Pos = MAP_APPFONT( 178, 171 );
-        Size = MAP_APPFONT( 50, 14 );
-        Text [ en-US ] = "Close";
-    };
-    HelpButton BTN_HELP
-    {
-        Pos = MAP_APPFONT( 6, 171 );
-        Size = MAP_APPFONT( 50, 14 );
-    };
-};
-
-
 ErrorBox RID_XMLSECDLG_OLD_ODF_FORMAT
 {
     Buttons = WB_OK ;
diff --git a/xmlsecurity/source/dialogs/helpids.hrc b/xmlsecurity/source/dialogs/helpids.hrc
index 490d955..8a3dde5 100644
--- a/xmlsecurity/source/dialogs/helpids.hrc
+++ b/xmlsecurity/source/dialogs/helpids.hrc
@@ -30,9 +30,7 @@
 #define HID_XMLSEC_TP_GENERAL                          "XMLSECURITY_HID_XMLSEC_TP_GENERAL"
 #define HID_XMLSEC_TP_DETAILS                          "XMLSECURITY_HID_XMLSEC_TP_DETAILS"
 #define HID_XMLSEC_TP_CERTPATH                         "XMLSECURITY_HID_XMLSEC_TP_CERTPATH"
-#define HID_XMLSEC_DLG_DIGSIG                          "XMLSECURITY_HID_XMLSEC_DLG_DIGSIG"
 #define HID_XMLSEC_TP_MACROWARN                        "XMLSECURITY_HID_XMLSEC_TP_MACROWARN"
-#define HID_XMLSEC_DLG_CERTCHOOSER                     "XMLSECURITY_HID_XMLSEC_DLG_CERTCHOOSER"
 #define HID_XMLSEC_CTRL_TRUSTSOURCES                   "XMLSECURITY_HID_XMLSEC_CTRL_TRUSTSOURCES"
 #define HID_XMLSEC_CTRL_ELEMENTS                       "XMLSECURITY_HID_XMLSEC_CTRL_ELEMENTS"
 #define HID_XMLSEC_CTRL_VIEWSIGNATURES                 "XMLSECURITY_HID_XMLSEC_CTRL_VIEWSIGNATURES"
diff --git a/xmlsecurity/source/dialogs/resourcemanager.cxx b/xmlsecurity/source/dialogs/resourcemanager.cxx
index aa920d5..ab85dca 100644
--- a/xmlsecurity/source/dialogs/resourcemanager.cxx
+++ b/xmlsecurity/source/dialogs/resourcemanager.cxx
@@ -381,12 +381,6 @@ vector< pair< OUString, OUString> > parseDN(const OUString& rRawString)
         AlignAfterImage( _rImage, static_cast< Control& >( _rFI ), _nXOffset );
         ShrinkToFitWidth( _rFI );
     }
-
-    void AlignAndFitImageAndControl( FixedImage& _rImage, FixedInfo& _rFI, long _nXOffset )
-    {
-        _rImage.SetSizePixel( _rImage.GetImage().GetSizePixel() );
-        AlignAfterImage( _rImage, _rFI, _nXOffset );
-    }
 }
 
 
diff --git a/xmlsecurity/source/dialogs/resourcemanager.hxx b/xmlsecurity/source/dialogs/resourcemanager.hxx
index aa893fa..d23c656 100644
--- a/xmlsecurity/source/dialogs/resourcemanager.hxx
+++ b/xmlsecurity/source/dialogs/resourcemanager.hxx
@@ -52,7 +52,6 @@ namespace XmlSec
     long            ShrinkToFitWidth( Control& _rCtrl, long _nOffs = 0 );       // return = new width
     void            AlignAfterImage( const FixedImage& _rImage, Control& _rCtrl, long _nXOffset = 0 );
     void            AlignAfterImage( const FixedImage& _rImage, FixedInfo& _rFI, long _nXOffset = 0 );
-    void            AlignAndFitImageAndControl( FixedImage& _rImage, FixedInfo& _rFI, long _nXOffset = 0 );
 }
 
 #define XMLSEC_RES(id)      ResId(id,*XmlSec::GetResMgr())
diff --git a/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui b/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui
new file mode 100644
index 0000000..a56bc24
--- /dev/null
+++ b/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui
@@ -0,0 +1,371 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkDialog" id="DigitalSignaturesDialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Digital Signatures</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="help">
+                <property name="label">gtk-help</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+                <property name="secondary">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="close">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</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="GtkGrid" id="grid1">
+            <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">6</property>
+            <property name="column_spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="dochint">
+                <property name="can_focus">False</property>
+                <property name="no_show_all">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">The following have signed the document content: </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="svxcorelo:SvxSimpleTableContainer" id="signatures">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">4</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButtonBox" id="buttonbox1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">12</property>
+                <property name="homogeneous">True</property>
+                <property name="layout_style">spread</property>
+                <child>
+                  <object class="GtkButton" id="view">
+                    <property name="label" translatable="yes">View Certificate...</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">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="sign">
+                    <property name="label" translatable="yes">Sign Document...</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">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="remove">
+                    <property name="label" translatable="yes">Remove</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">6</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkGrid" id="grid2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="column_spacing">12</property>
+                <child>
+                  <object class="GtkLabel" id="signed">
+                    <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="hexpand">True</property>
+                    <property name="label" translatable="yes">Signed by </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="issued">
+                    <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="hexpand">True</property>
+                    <property name="label" translatable="yes">Digital ID issued by </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="date">
+                    <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="hexpand">True</property>
+                    <property name="label" translatable="yes">Date</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>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">3</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="macrohint">
+                <property name="can_focus">False</property>
+                <property name="no_show_all">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">The following have signed the document macro:</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="packagehint">
+                <property name="can_focus">False</property>
+                <property name="no_show_all">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">The following have signed this package:</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="GtkGrid" id="grid3">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="column_spacing">12</property>
+                <child>
+                  <object class="GtkLabel" id="validft">
+                    <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="hexpand">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">The signatures in this document are valid</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="GtkImage" id="validimg">
+                    <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="pixbuf">xmlsecurity/res/signet_11x16.png</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="invalidft">
+                    <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="hexpand">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">The signatures in this document are invalid</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="oldsignatureft">
+                    <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="hexpand">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Not all parts of the document are signed</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="notvalidatedft">
+                    <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="hexpand">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Certificate could not be validated</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkImage" id="invalidimg">
+                    <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="pixbuf">xmlsecurity/res/caution_11x16.png</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="GtkImage" id="oldsignatureimg">
+                    <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="pixbuf">xmlsecurity/res/caution_11x16.png</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkImage" id="notvalidatedimg">
+                    <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="pixbuf">xmlsecurity/res/notcertificate_16.png</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">5</property>
+                <property name="width">1</property>
+                <property name="height">1</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">help</action-widget>
+      <action-widget response="0">close</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/xmlsecurity/uiconfig/ui/selectcertificatedialog.ui b/xmlsecurity/uiconfig/ui/selectcertificatedialog.ui
new file mode 100644
index 0000000..26128ee
--- /dev/null
+++ b/xmlsecurity/uiconfig/ui/selectcertificatedialog.ui
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkDialog" id="SelectCertificateDialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Select Certificate</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="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="cancel">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="help">
+                <property name="label">gtk-help</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid" id="grid1">
+            <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>
+            <property name="column_spacing">12</property>
+            <child>
+              <object class="GtkGrid" id="grid2">
+                <property name="can_focus">False</property>
+                <property name="no_show_all">True</property>
+                <property name="hexpand">True</property>
+                <property name="column_spacing">12</property>
+                <child>
+                  <object class="GtkLabel" id="issuedto">
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="label" translatable="yes">Issued to  </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="issuedby">
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="label" translatable="yes">Issued by</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="expiration">
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="label" translatable="yes">Expiration date</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>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="ypad">1</property>
+                <property name="label" translatable="yes">Select the certificate you want to use for signing </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="svxcorelo:SvxSimpleTableContainer" id="signatures">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">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="GtkButton" id="viewcert">
+                <property name="label" translatable="yes">View Certificate...</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="halign">end</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">3</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+          </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-widgets>
+  </object>
+</interface>
commit 504b79c6cae6e15793420a63384e59b5d1f7037a
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 1 13:51:22 2013 +0000

    hook SvxSimpleTableContainer child positioning off Resize
    
    instead of SetSizePixel etc.
    
    Change-Id: I17246821f1805bda9da0503e4fab05be5724512c

diff --git a/svx/inc/svx/simptabl.hxx b/svx/inc/svx/simptabl.hxx
index bd270a9..597ea8d 100644
--- a/svx/inc/svx/simptabl.hxx
+++ b/svx/inc/svx/simptabl.hxx
@@ -44,7 +44,8 @@ public:
 
     void SetTable(SvxSimpleTable* pTable);
 
-    virtual void SetSizePixel(const Size& rNewSize);
+    virtual void Resize();
+
     virtual void GetFocus();
 };
 
diff --git a/svx/source/dialog/simptabl.cxx b/svx/source/dialog/simptabl.cxx
index 6c84f71..979136a 100644
--- a/svx/source/dialog/simptabl.cxx
+++ b/svx/source/dialog/simptabl.cxx
@@ -59,9 +59,9 @@ long SvxSimpleTableContainer::PreNotify( NotifyEvent& rNEvt )
     return nResult;
 }
 
-void SvxSimpleTableContainer::SetSizePixel(const Size& rNewSize )
+void SvxSimpleTableContainer::Resize()
 {
-    Control::SetSizePixel(rNewSize);
+    Control::Resize();
     if (m_pTable)
         m_pTable->UpdateViewSize();
 }
commit 5dc0c03f797e53aef7411c26782b6d39b7e93d0c
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 1 15:13:42 2013 +0000

    implement spread button layout
    
    Change-Id: Ia17d3f4d14319adec6b0b20dced5daf5b8018c36

diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index f8a7505..0b01c6a 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -350,12 +350,14 @@ VclButtonBox::Requisition VclButtonBox::calculatePrimarySecondaryRequisitions()
     Size aMainGroupSize(DEFAULT_CHILD_MIN_WIDTH, DEFAULT_CHILD_MIN_HEIGHT); //to-do, pull from theme
     Size aSubGroupSize(DEFAULT_CHILD_MIN_WIDTH, DEFAULT_CHILD_MIN_HEIGHT); //to-do, pull from theme
 
+    bool bIgnoreSecondaryPacking = (m_eLayoutStyle == VCL_BUTTONBOX_SPREAD || m_eLayoutStyle == VCL_BUTTONBOX_CENTER);
+
     for (const Window *pChild = GetWindow(WINDOW_FIRSTCHILD); pChild; pChild = pChild->GetWindow(WINDOW_NEXT))
     {
         if (!pChild->IsVisible())
             continue;
         Size aChildSize = getLayoutRequisition(*pChild);
-        if (!pChild->get_secondary())
+        if (bIgnoreSecondaryPacking || !pChild->get_secondary())
         {
             ++aReq.m_nMainGroupChildren;
             accumulateMaxes(aChildSize, aMainGroupSize);
@@ -428,6 +430,7 @@ void VclButtonBox::setAllocation(const Size &rAllocation)
         nSubGroupPrimaryDimension = nMainGroupPrimaryDimension = std::max(nSubGroupPrimaryDimension, nMainGroupPrimaryDimension);
 
     Point aMainGroupPos, aOtherGroupPos;
+    int nSpacing = m_nSpacing;
 
     //To-Do, other layout styles
     switch (m_eLayoutStyle)
@@ -441,6 +444,17 @@ void VclButtonBox::setAllocation(const Size &rAllocation)
                     nAllocPrimaryDimension - nOtherPrimaryDimension);
             }
             break;
+        case VCL_BUTTONBOX_SPREAD:
+            if (aReq.m_nMainGroupChildren)
+            {
+                long nMainPrimaryDimension = getPrimaryDimension(
+                    finalizeMaxes(aReq.m_aMainGroupSize, aReq.m_nMainGroupChildren));
+                long nExtraSpace = nAllocPrimaryDimension - nMainPrimaryDimension;
+                nExtraSpace += (aReq.m_nMainGroupChildren-1) * nSpacing;
+                nSpacing = nExtraSpace/(aReq.m_nMainGroupChildren+1);
+                setPrimaryCoordinate(aMainGroupPos, nSpacing);
+            }
+            break;
         default:
             SAL_WARN("vcl.layout", "todo unimplemented layout style");
         case VCL_BUTTONBOX_DEFAULT_STYLE:
@@ -458,24 +472,25 @@ void VclButtonBox::setAllocation(const Size &rAllocation)
     Size aChildSize;
     setSecondaryDimension(aChildSize, getSecondaryDimension(rAllocation));
 
+    bool bIgnoreSecondaryPacking = (m_eLayoutStyle == VCL_BUTTONBOX_SPREAD || m_eLayoutStyle == VCL_BUTTONBOX_CENTER);
     for (Window *pChild = GetWindow(WINDOW_FIRSTCHILD); pChild; pChild = pChild->GetWindow(WINDOW_NEXT))
     {
         if (!pChild->IsVisible())
             continue;
 
-        if (pChild->get_secondary())
-        {
-            setPrimaryDimension(aChildSize, nSubGroupPrimaryDimension);
-            setLayoutAllocation(*pChild, aOtherGroupPos, aChildSize);
-            long nPrimaryCoordinate = getPrimaryCoordinate(aOtherGroupPos);
-            setPrimaryCoordinate(aOtherGroupPos, nPrimaryCoordinate + nSubGroupPrimaryDimension + m_nSpacing);
-        }
-        else
+        if (bIgnoreSecondaryPacking || !pChild->get_secondary())
         {
             setPrimaryDimension(aChildSize, nMainGroupPrimaryDimension);
             setLayoutAllocation(*pChild, aMainGroupPos, aChildSize);
             long nPrimaryCoordinate = getPrimaryCoordinate(aMainGroupPos);
-            setPrimaryCoordinate(aMainGroupPos, nPrimaryCoordinate + nMainGroupPrimaryDimension + m_nSpacing);
+            setPrimaryCoordinate(aMainGroupPos, nPrimaryCoordinate + nMainGroupPrimaryDimension + nSpacing);
+        }
+        else
+        {
+            setPrimaryDimension(aChildSize, nSubGroupPrimaryDimension);
+            setLayoutAllocation(*pChild, aOtherGroupPos, aChildSize);
+            long nPrimaryCoordinate = getPrimaryCoordinate(aOtherGroupPos);
+            setPrimaryCoordinate(aOtherGroupPos, nPrimaryCoordinate + nSubGroupPrimaryDimension + nSpacing);
         }
     }
 }


More information about the Libreoffice-commits mailing list