1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #include <vcl/msgbox.hxx> 25 26 #ifndef UUI_IDS_HRC 27 #include <ids.hrc> 28 #endif 29 #ifndef UUI_UNKNOWNAUTHDLG_HRC 30 #include <unknownauthdlg.hrc> 31 #endif 32 #ifndef UUI_UNKNOWNAUTHDLG_HXX 33 #include <unknownauthdlg.hxx> 34 #endif 35 36 #include <com/sun/star/security/XDocumentDigitalSignatures.hpp> 37 38 // ----------------------------------------------------------------------- 39 40 IMPL_LINK( UnknownAuthDialog, OKHdl_Impl, PushButton *, EMPTYARG ) 41 { 42 if ( m_aOptionButtonAccept.IsChecked() ) 43 { 44 EndDialog( RET_OK ); 45 } else 46 { 47 EndDialog( RET_CANCEL ); 48 } 49 50 return 1; 51 } 52 53 // ----------------------------------------------------------------------- 54 55 IMPL_LINK( UnknownAuthDialog, ViewCertHdl_Impl, PushButton *, EMPTYARG ) 56 { 57 uno::Reference< ::com::sun::star::security::XDocumentDigitalSignatures > xDocumentDigitalSignatures; 58 59 xDocumentDigitalSignatures = uno::Reference< ::com::sun::star::security::XDocumentDigitalSignatures >( 60 getServiceFactory().get()->createInstance( rtl::OUString::createFromAscii( "com.sun.star.security.DocumentDigitalSignatures" )), uno::UNO_QUERY ); 61 62 xDocumentDigitalSignatures.get()->showCertificate(getCert()); 63 64 return 0; 65 } 66 67 // ----------------------------------------------------------------------- 68 69 UnknownAuthDialog::UnknownAuthDialog 70 ( 71 Window* pParent, 72 const cssu::Reference< dcss::security::XCertificate >& rXCert, 73 const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& xServiceFactory, 74 ResMgr* pResMgr 75 ) : 76 ModalDialog( pParent, ResId( DLG_UUI_UNKNOWNAUTH, *pResMgr ) ), 77 78 m_aCommandButtonOK ( this, ResId( PB_OK, *pResMgr ) ), 79 m_aCommandButtonCancel ( this, ResId( PB_CANCEL, *pResMgr ) ), 80 m_aCommandButtonHelp ( this, ResId( PB_HELP, *pResMgr ) ), 81 m_aView_Certificate ( this, ResId( PB_VIEW__CERTIFICATE, *pResMgr ) ), 82 m_aOptionButtonAccept ( this, ResId( RB_ACCEPT_1, *pResMgr ) ), 83 m_aOptionButtonDontAccept ( this, ResId( RB_DONTACCEPT_2, *pResMgr ) ), 84 m_aLine ( this, ResId( FL_LINE, *pResMgr ) ), 85 m_aLabel1 ( this, ResId( FT_LABEL_1, *pResMgr ) ), 86 m_aWarnImage ( this, ResId( IMG_WARN, *pResMgr ) ), 87 m_xServiceFactory ( xServiceFactory ), 88 m_rXCert ( rXCert ), 89 pResourceMgr ( pResMgr ) 90 { 91 //SetMapMode( MapMode( MAP_APPFONT ) ); 92 FreeResource(); 93 94 m_aWarnImage.SetImage( WarningBox::GetStandardImage() ); 95 m_pParent = pParent; 96 m_aView_Certificate.SetClickHdl( LINK( this, UnknownAuthDialog, ViewCertHdl_Impl ) ); 97 m_aCommandButtonOK.SetClickHdl( LINK( this, UnknownAuthDialog, OKHdl_Impl ) ); 98 }; 99 100