diff options
author | Caolán McNamara <caolanm@redhat.com> | 2012-12-29 18:11:33 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-01-01 16:15:58 +0000 |
commit | 2e00c0efbe03b3390200ea515da57aa57b0cd1ed (patch) | |
tree | 11ad62076620f8d7032030d339abb1129b6dfaed /xmlsecurity | |
parent | 504b79c6cae6e15793420a63384e59b5d1f7037a (diff) |
move xmlsecurity .ui stuff to right place and adapt code to use it
Change-Id: If1f3dbbbef07004ec02a65563524c6c17dc16c00
Diffstat (limited to 'xmlsecurity')
-rw-r--r-- | xmlsecurity/AllLangResTarget_xsec.mk | 1 | ||||
-rw-r--r-- | xmlsecurity/Module_xmlsecurity.mk | 3 | ||||
-rw-r--r-- | xmlsecurity/UI_xmlsec.mk | 17 | ||||
-rw-r--r-- | xmlsecurity/inc/xmlsecurity/certificatechooser.hxx | 13 | ||||
-rw-r--r-- | xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx | 42 | ||||
-rw-r--r-- | xmlsecurity/inc/xmlsecurity/global.hrc | 2 | ||||
-rw-r--r-- | xmlsecurity/source/dialogs/certificatechooser.cxx | 57 | ||||
-rw-r--r-- | xmlsecurity/source/dialogs/certificatechooser.src | 79 | ||||
-rw-r--r-- | xmlsecurity/source/dialogs/dialogs.hrc | 35 | ||||
-rw-r--r-- | xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx | 161 | ||||
-rw-r--r-- | xmlsecurity/source/dialogs/digitalsignaturesdialog.src | 155 | ||||
-rw-r--r-- | xmlsecurity/source/dialogs/helpids.hrc | 2 | ||||
-rw-r--r-- | xmlsecurity/source/dialogs/resourcemanager.cxx | 6 | ||||
-rw-r--r-- | xmlsecurity/source/dialogs/resourcemanager.hxx | 1 | ||||
-rw-r--r-- | xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui | 371 | ||||
-rw-r--r-- | xmlsecurity/uiconfig/ui/selectcertificatedialog.ui | 190 |
16 files changed, 716 insertions, 419 deletions
diff --git a/xmlsecurity/AllLangResTarget_xsec.mk b/xmlsecurity/AllLangResTarget_xsec.mk index 0f7cb282737a..74d8d109b57f 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 752f625135a0..d6f66ba91f54 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 000000000000..c9c7232e64f4 --- /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 8e9b2bac314c..3ce61f2e38da 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 14fbc9a7cf5f..390573d7c6e3 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 5dee8a7bf3d6..e4393b24f682 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 c5382da95a74..be940fb6ae40 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 18cb08b39b19..000000000000 --- 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 4f5fe5ca0110..ea6097a3a830 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 ddd929a13e3e..cf8f692b8ecc 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 00e33e7834a0..64103fe5c3b7 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 490d95547683..8a3dde570e42 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 aa920d5491b4..ab85dca66dea 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 aa893fa4353c..d23c656872a9 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 000000000000..a56bc24e0f20 --- /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 000000000000..26128ee4d4ac --- /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> |