move xmlsecurity .ui stuff to right place and adapt code to use it
Change-Id: If1f3dbbbef07004ec02a65563524c6c17dc16c00
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
@@ -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 \
|
||||
))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
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 maViewBtn;
|
||||
PushButton maAddBtn;
|
||||
PushButton maRemoveBtn;
|
||||
PushButton* m_pViewBtn;
|
||||
PushButton* m_pAddBtn;
|
||||
PushButton* m_pRemoveBtn;
|
||||
|
||||
FixedLine maBottomSepFL;
|
||||
OKButton maOKBtn;
|
||||
HelpButton maHelpBtn;
|
||||
PushButton* m_pCloseBtn;
|
||||
|
||||
::rtl::OUString m_sODFVersion;
|
||||
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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ) );
|
||||
get(m_pOKBtn, "ok");
|
||||
get(m_pViewBtn, "viewcert");
|
||||
|
||||
FreeResource();
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
};
|
||||
};
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
aControlSize = LogicToPixel(aControlSize, MAP_APPFONT);
|
||||
SvxSimpleTableContainer *pSignatures = get<SvxSimpleTableContainer>("signatures");
|
||||
pSignatures->set_width_request(aControlSize.Width());
|
||||
pSignatures->set_height_request(aControlSize.Height());
|
||||
|
||||
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 };
|
||||
maSignaturesLB.SetTabs( &nTabs[ 0 ] );
|
||||
maSignaturesLB.InsertHeaderEntry( XMLSEC_RES( STR_HEADERBAR ) );
|
||||
m_pSignaturesLB->SetTabs( &nTabs[ 0 ] );
|
||||
|
||||
maSigsNotvalidatedFI.SetText( XMLSEC_RES( STR_NO_INFO_TO_VERIFY ) );
|
||||
|
||||
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();
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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>
|
||||
+26
-41
@@ -1,9 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<!-- interface-requires gtk+ 3.0 -->
|
||||
<object class="GtkDialog" id="dialog1">
|
||||
<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">
|
||||
@@ -17,11 +18,9 @@
|
||||
<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>
|
||||
@@ -33,11 +32,11 @@
|
||||
<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="can_default">True</property>
|
||||
<property name="has_default">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
@@ -49,11 +48,9 @@
|
||||
<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>
|
||||
@@ -74,16 +71,20 @@
|
||||
<object class="GtkGrid" id="grid1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="row_spacing">10</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="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="column_spacing">40</property>
|
||||
<property name="no_show_all">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="column_spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label2">
|
||||
<property name="visible">True</property>
|
||||
<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>
|
||||
@@ -94,9 +95,9 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label3">
|
||||
<property name="visible">True</property>
|
||||
<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>
|
||||
@@ -107,9 +108,9 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label4">
|
||||
<property name="visible">True</property>
|
||||
<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>
|
||||
@@ -143,13 +144,11 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow" id="scrolledwindow1">
|
||||
<object class="svxcorelo:SvxSimpleTableContainer" id="signatures">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
@@ -159,26 +158,12 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButtonBox" id="buttonbox1">
|
||||
<object class="GtkButton" id="viewcert">
|
||||
<property name="label" translatable="yes">View Certificate...</property>
|
||||
<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>
|
||||
<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>
|
||||
@@ -189,7 +174,7 @@
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
Reference in New Issue
Block a user