#i20883#
This commit is contained in:
parent
9a4ece8af2
commit
b1b0cdf577
5 changed files with 123 additions and 66 deletions
|
@ -2,9 +2,9 @@
|
|||
*
|
||||
* $RCSfile: certificateviewer.hxx,v $
|
||||
*
|
||||
* $Revision: 1.1.1.1 $
|
||||
* $Revision: 1.2 $
|
||||
*
|
||||
* last change: $Author: mt $ $Date: 2004-07-12 13:15:20 $
|
||||
* last change: $Author: gt $ $Date: 2004-07-14 11:34:47 $
|
||||
*
|
||||
* The Contents of this file are made available subject to the terms of
|
||||
* either of the following licenses
|
||||
|
@ -150,10 +150,13 @@ class CertificateViewerDetailsTP : public CertificateViewerTP
|
|||
private:
|
||||
SvxSimpleTable maElementsLB;
|
||||
MultiLineEdit maElementML;
|
||||
Font maStdFont;
|
||||
Font maFixedWidthFont;
|
||||
|
||||
DECL_LINK( ElementSelectHdl, void* );
|
||||
void Clear( void );
|
||||
void InsertElement( const String& _rField, const String& _rValue, const String& _rDetails );
|
||||
void InsertElement( const String& _rField, const String& _rValue,
|
||||
const String& _rDetails, bool _bFixedWidthFont = false );
|
||||
public:
|
||||
CertificateViewerDetailsTP( Window* pParent, CertificateViewer* _pDlg );
|
||||
virtual ~CertificateViewerDetailsTP();
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
*
|
||||
* $RCSfile: certificateviewer.cxx,v $
|
||||
*
|
||||
* $Revision: 1.1.1.1 $
|
||||
* $Revision: 1.2 $
|
||||
*
|
||||
* last change: $Author: mt $ $Date: 2004-07-12 13:15:23 $
|
||||
* last change: $Author: gt $ $Date: 2004-07-14 11:36:06 $
|
||||
*
|
||||
* The Contents of this file are made available subject to the terms of
|
||||
* either of the following licenses
|
||||
|
@ -84,17 +84,52 @@ using namespace ::com::sun::star;
|
|||
|
||||
namespace
|
||||
{
|
||||
void ShrinkToFit( FixedImage& _rImage );
|
||||
long ShrinkToFitWidth( Control& _rCtrl, long _nOffs = 0 ); // return = new width
|
||||
void AdjustPosAndSize( Control& _rCtrl, Point& _rStartIn_EndOut, long _nXOffset = 0 );
|
||||
void AlignAfterImage( const FixedImage& _rImage, Control& _rCtrl, long _nXOffset = 0 );
|
||||
void AlignAfterImage( const FixedImage& _rImage, FixedInfo& _rFI, long _nXOffset = 0 );
|
||||
|
||||
void AdjustPosAndSize( Control& _rCtrl, Point& _rStartIn_EndOut, long _nOffs )
|
||||
void ShrinkToFit( FixedImage& _rImg )
|
||||
{
|
||||
_rImg.SetSizePixel( _rImg.GetImage().GetSizePixel() );
|
||||
}
|
||||
|
||||
long ShrinkToFitWidth( Control& _rCtrl, long _nOffs )
|
||||
{
|
||||
long nWidth = _rCtrl.GetTextWidth( _rCtrl.GetText() );
|
||||
Size aSize( _rCtrl.GetSizePixel() );
|
||||
nWidth += _nOffs;
|
||||
aSize.Width() = nWidth;
|
||||
_rCtrl.SetPosPixel( _rStartIn_EndOut );
|
||||
_rCtrl.SetSizePixel( aSize );
|
||||
_rStartIn_EndOut.X() += nWidth;
|
||||
return nWidth;
|
||||
}
|
||||
|
||||
void AdjustPosAndSize( Control& _rCtrl, Point& _rStartIn_EndOut, long _nOffs )
|
||||
{
|
||||
_rCtrl.SetPosPixel( _rStartIn_EndOut );
|
||||
_rStartIn_EndOut.X() += ShrinkToFitWidth( _rCtrl, _nOffs );
|
||||
}
|
||||
|
||||
void AlignAfterImage( const FixedImage& _rImage, Control& _rCtrl, long _nXOffset )
|
||||
{
|
||||
Point aPos( _rImage.GetPosPixel() );
|
||||
Size aSize( _rImage.GetSizePixel() );
|
||||
long n = aPos.X();
|
||||
n += aSize.Width();
|
||||
n += _nXOffset;
|
||||
aPos.X() = n;
|
||||
n = aPos.Y();
|
||||
n += aSize.Height() / 2; // y-position is in the middle of the image
|
||||
n -= _rCtrl.GetSizePixel().Height() / 2; // center Control
|
||||
aPos.Y() = n;
|
||||
_rCtrl.SetPosPixel( aPos );
|
||||
}
|
||||
|
||||
void AlignAfterImage( const FixedImage& _rImage, FixedInfo& _rFI, long _nXOffset )
|
||||
{
|
||||
AlignAfterImage( _rImage, static_cast< Control& >( _rFI ), _nXOffset );
|
||||
ShrinkToFitWidth( _rFI );
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -193,39 +228,16 @@ CertificateViewerGeneralTP::CertificateViewerGeneralTP( Window* _pParent, Certif
|
|||
|
||||
// recalc positions for date fields according to real size
|
||||
Point aPos( maValidFromLabelFI.GetPosPixel() );
|
||||
// long nWidth;
|
||||
|
||||
// nWidth = GetTextWidth( maValidFromLabelFI.GetText() );
|
||||
// maValidFromLabelFI.SetSizePixel
|
||||
// aPos.X() += nWidth;
|
||||
AdjustPosAndSize( maValidFromLabelFI, aPos );
|
||||
|
||||
// maValidFromFI.SetPosPixel( aPos );
|
||||
// nWidth = GetTextWidth( maValidFromFI.GetText() );
|
||||
// aPos.X() += nWidth;
|
||||
AdjustPosAndSize( maValidFromFI, aPos );
|
||||
|
||||
// maValidToLabelFI.SetPosPixel( aPos );
|
||||
// nWidth = GetTextWidth( maValidToLabelFI.GetText() );
|
||||
// aPos.X() += nWidth;
|
||||
|
||||
// maValidToFI.SetPosPixel( aPos );
|
||||
AdjustPosAndSize( maValidToLabelFI, aPos );
|
||||
AdjustPosAndSize( maValidToFI, aPos );
|
||||
|
||||
// adjust position of fixed text depending on image sizes
|
||||
long nWidth = maCertImg.GetSizePixel().Width();
|
||||
aPos = maCertInfoFI.GetPosPixel();
|
||||
aPos.X() = maCertImg.GetPosPixel().X();
|
||||
aPos.X() += nWidth;
|
||||
maCertInfoFI.SetPosPixel( aPos );
|
||||
|
||||
nWidth = maKeyImg.GetSizePixel().Width();
|
||||
aPos = maHintCorrespPrivKeyFI.GetPosPixel();
|
||||
aPos.X() = maKeyImg.GetPosPixel().X();
|
||||
aPos.X() += nWidth;
|
||||
// maHintCorrespPrivKeyFI.SetPosPixel( aPos );
|
||||
AdjustPosAndSize( maHintCorrespPrivKeyFI, aPos );
|
||||
ShrinkToFit( maCertImg );
|
||||
ShrinkToFit( maKeyImg );
|
||||
AlignAfterImage( maCertImg, maCertInfoFI, 12 );
|
||||
AlignAfterImage( maKeyImg, maHintCorrespPrivKeyFI, 12 );
|
||||
}
|
||||
|
||||
void CertificateViewerGeneralTP::ActivatePage()
|
||||
|
@ -233,6 +245,21 @@ void CertificateViewerGeneralTP::ActivatePage()
|
|||
}
|
||||
|
||||
|
||||
struct Details_UserDatat
|
||||
{
|
||||
String maTxt;
|
||||
bool mbFixedWidthFont;
|
||||
|
||||
inline Details_UserDatat( const String& _rTxt, bool _bFixedWidthFont );
|
||||
};
|
||||
|
||||
inline Details_UserDatat::Details_UserDatat( const String& _rTxt, bool _bFixedWidthFont )
|
||||
:maTxt ( _rTxt )
|
||||
,mbFixedWidthFont ( _bFixedWidthFont )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void CertificateViewerDetailsTP::Clear( void )
|
||||
{
|
||||
maElementML.SetText( String() );
|
||||
|
@ -240,7 +267,8 @@ void CertificateViewerDetailsTP::Clear( void )
|
|||
SvLBoxEntry* pEntry = maElementsLB.GetEntry( i );
|
||||
while( pEntry )
|
||||
{
|
||||
delete ( String* ) pEntry->GetUserData();
|
||||
// delete ( String* ) pEntry->GetUserData();
|
||||
delete ( Details_UserDatat* ) pEntry->GetUserData();
|
||||
++i;
|
||||
pEntry = maElementsLB.GetEntry( i );
|
||||
}
|
||||
|
@ -248,18 +276,21 @@ void CertificateViewerDetailsTP::Clear( void )
|
|||
maElementsLB.Clear();
|
||||
}
|
||||
|
||||
void CertificateViewerDetailsTP::InsertElement( const String& _rField, const String& _rValue, const String& _rDetails )
|
||||
void CertificateViewerDetailsTP::InsertElement( const String& _rField, const String& _rValue,
|
||||
const String& _rDetails, bool _bFixedWidthFont )
|
||||
{
|
||||
SvLBoxEntry* pEntry = maElementsLB.InsertEntry( _rField );
|
||||
maElementsLB.SetEntryText( _rValue, pEntry, 1 );
|
||||
pEntry->SetUserData( ( void* ) new String( _rDetails ) ); // extended view of value
|
||||
// pEntry->SetUserData( ( void* ) new String( XmlSec::GetPureContent( _rValue, "\n", true ) ) );
|
||||
// pEntry->SetUserData( ( void* ) new String( _rDetails ) ); // extended view of value
|
||||
pEntry->SetUserData( ( void* ) new Details_UserDatat( _rDetails, _bFixedWidthFont ) );
|
||||
}
|
||||
|
||||
CertificateViewerDetailsTP::CertificateViewerDetailsTP( Window* _pParent, CertificateViewer* _pDlg )
|
||||
:CertificateViewerTP ( _pParent, XMLSEC_RES( RID_XMLSECTP_DETAILS ), _pDlg )
|
||||
,maElementsLB ( this, ResId( LB_ELEMENTS ) )
|
||||
,maElementML ( this, ResId( ML_ELEMENT ) )
|
||||
,maStdFont ( maElementML.GetFont() )
|
||||
,maFixedWidthFont ( )
|
||||
{
|
||||
static long nTabs[] = { 2, 0, 40*CS_LB_WIDTH/100 };
|
||||
maElementsLB.SetTabs( &nTabs[ 0 ] );
|
||||
|
@ -288,8 +319,8 @@ CertificateViewerDetailsTP::CertificateViewerDetailsTP( Window* _pParent, Certif
|
|||
// aSerNumStr.AppendAscii( " " );
|
||||
aSerNumStr.AppendAscii( pBuffer );
|
||||
}
|
||||
InsertElement( String( ResId( STR_SERIALNUM ) ), aSerNumStr, aSerNumStr );
|
||||
InsertElement( String( ResId( STR_SIGALGORITHM ) ), String::CreateFromAscii( "n/a" ), String() );
|
||||
InsertElement( String( ResId( STR_SERIALNUM ) ), aSerNumStr, aSerNumStr, true );
|
||||
// InsertElement( String( ResId( STR_SIGALGORITHM ) ), String::CreateFromAscii( "n/a" ), String() );
|
||||
aLBEntry = XmlSec::GetPureContent( xCert->getIssuerName(), ", " );
|
||||
aDetails = XmlSec::GetPureContent( xCert->getIssuerName(), "\n", true );
|
||||
InsertElement( String( ResId( STR_ISSUER ) ), aLBEntry, aDetails );
|
||||
|
@ -319,11 +350,18 @@ IMPL_LINK( CertificateViewerDetailsTP, ElementSelectHdl, void*, EMPTYARG )
|
|||
{
|
||||
SvLBoxEntry* pEntry = maElementsLB.FirstSelected();
|
||||
String aElementText;
|
||||
bool bFixedWidthFont;
|
||||
if( pEntry )
|
||||
{
|
||||
aElementText = *( ( String* ) pEntry->GetUserData() );
|
||||
// aElementText = *( ( String* ) pEntry->GetUserData() );
|
||||
const Details_UserDatat* p = ( Details_UserDatat* ) pEntry->GetUserData();
|
||||
aElementText = p->maTxt;
|
||||
bFixedWidthFont = p->mbFixedWidthFont;
|
||||
}
|
||||
else
|
||||
bFixedWidthFont = false;
|
||||
|
||||
maElementML.SetFont( bFixedWidthFont? maFixedWidthFont : maStdFont );
|
||||
maElementML.SetText( aElementText );
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
*
|
||||
* $RCSfile: certificateviewer.src,v $
|
||||
*
|
||||
* $Revision: 1.1.1.1 $
|
||||
* $Revision: 1.2 $
|
||||
*
|
||||
* last change: $Author: mt $ $Date: 2004-07-12 13:15:23 $
|
||||
* last change: $Author: gt $ $Date: 2004-07-14 11:36:06 $
|
||||
*
|
||||
* The Contents of this file are made available subject to the terms of
|
||||
* either of the following licenses
|
||||
|
@ -129,12 +129,12 @@ TabPage RID_XMLSECTP_GENERAL
|
|||
FixedImage IMG_CERT
|
||||
{
|
||||
Pos = MAP_APPFONT( CW_COL_0, CW_ROW_0 );
|
||||
Size = MAP_APPFONT( CW_COL_2-CW_COL_0, CW_ROW_2-CW_ROW_0 );
|
||||
// Fixed = Image
|
||||
// {
|
||||
// ImageBitmap = Bitmap { File = "xmlsec_cert_l.bmp"; };
|
||||
// MaskColor = STD_MASKCOLOR;
|
||||
// };
|
||||
Size = MAP_APPFONT( IMG1_WIDTH, IMG1_HEIGHT );
|
||||
Fixed = Image
|
||||
{
|
||||
ImageBitmap = Bitmap { File = "certificate_40x56.png"; };
|
||||
MaskColor = STD_MASKCOLOR;
|
||||
};
|
||||
};
|
||||
FixedText FI_CERTINFO
|
||||
{
|
||||
|
@ -212,12 +212,12 @@ TabPage RID_XMLSECTP_GENERAL
|
|||
FixedImage IMG_KEY
|
||||
{
|
||||
Pos = MAP_APPFONT( CW_COL_0, CW_ROW_9 );
|
||||
Size = MAP_APPFONT( CW_COL_2-CW_COL_0, CW_ROW_11-CW_ROW_9 );
|
||||
// Fixed = Image
|
||||
// {
|
||||
// ImageBitmap = Bitmap { File = "xmlsec_key.bmp"; };
|
||||
// MaskColor = STD_MASKCOLOR;
|
||||
// };
|
||||
Size = MAP_APPFONT( IMG2_WIDTH, IMG2_HEIGHT );
|
||||
Fixed = Image
|
||||
{
|
||||
ImageBitmap = Bitmap { File = "key_12.png"; };
|
||||
MaskColor = STD_MASKCOLOR;
|
||||
};
|
||||
};
|
||||
FixedText FI_CORRPRIVKEY
|
||||
{
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
*
|
||||
* $RCSfile: resourcemanager.cxx,v $
|
||||
*
|
||||
* $Revision: 1.1.1.1 $
|
||||
* $Revision: 1.2 $
|
||||
*
|
||||
* last change: $Author: mt $ $Date: 2004-07-12 13:15:24 $
|
||||
* last change: $Author: gt $ $Date: 2004-07-14 11:36:06 $
|
||||
*
|
||||
* The Contents of this file are made available subject to the terms of
|
||||
* either of the following licenses
|
||||
|
@ -105,24 +105,25 @@ namespace XmlSec
|
|||
|
||||
String GetDateTimeString( const ::com::sun::star::util::DateTime& _rDT )
|
||||
{
|
||||
return GetInternational()->GetLongDate( GetDateTime( _rDT ) );
|
||||
return GetInternational()->GetDate( GetDateTime( _rDT ) );
|
||||
}
|
||||
|
||||
String GetDateString( const ::com::sun::star::util::DateTime& _rDT )
|
||||
{
|
||||
return GetInternational()->GetLongDate( GetDateTime( _rDT ) );
|
||||
return GetInternational()->GetDate( GetDateTime( _rDT ) );
|
||||
}
|
||||
|
||||
String GetPureContent( const String& _rRawString, const char* _pCommaReplacement, bool _bPreserveId )
|
||||
{
|
||||
enum STATE { ID, EQUALSIGN, CONT };
|
||||
enum STATE { PRE_ID, ID, EQUALSIGN, PRE_CONT, CONT };
|
||||
String s;
|
||||
STATE e = ID;
|
||||
STATE e = _bPreserveId? PRE_ID : ID;
|
||||
|
||||
const sal_Unicode* p = _rRawString.GetBuffer();
|
||||
sal_Unicode c;
|
||||
const sal_Unicode cComma = ',';
|
||||
const sal_Unicode cEqualSign = '=';
|
||||
const sal_Unicode cSpace = ' ';
|
||||
String aCommaReplacement;
|
||||
if( _pCommaReplacement )
|
||||
aCommaReplacement = String::CreateFromAscii( _pCommaReplacement );
|
||||
|
@ -132,20 +133,34 @@ namespace XmlSec
|
|||
c = *p;
|
||||
switch( e )
|
||||
{
|
||||
case PRE_ID:
|
||||
if( c != cSpace )
|
||||
{
|
||||
s += c;
|
||||
e = ID;
|
||||
}
|
||||
break;
|
||||
case ID:
|
||||
if( _bPreserveId )
|
||||
s += c;
|
||||
|
||||
if( c == cEqualSign )
|
||||
e = CONT;
|
||||
e = _bPreserveId? PRE_CONT : CONT;
|
||||
break;
|
||||
// case EQUALSIGN:
|
||||
// break;
|
||||
case PRE_CONT:
|
||||
if( c != cSpace )
|
||||
{
|
||||
s += c;
|
||||
e = CONT;
|
||||
}
|
||||
break;
|
||||
case CONT:
|
||||
if( c == cComma )
|
||||
{
|
||||
s += aCommaReplacement;
|
||||
e = ID;
|
||||
e = _bPreserveId? PRE_ID : ID;
|
||||
}
|
||||
else
|
||||
s += c;
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
#
|
||||
# $RCSfile: makefile.mk,v $
|
||||
#
|
||||
# $Revision: 1.4 $
|
||||
# $Revision: 1.5 $
|
||||
#
|
||||
# last change: $Author: mt $ $Date: 2004-07-14 11:05:46 $
|
||||
# last change: $Author: gt $ $Date: 2004-07-14 11:38:07 $
|
||||
#
|
||||
# The Contents of this file are made available subject to the terms of
|
||||
# either of the following licenses
|
||||
|
@ -150,6 +150,7 @@ SRSFILELIST= \
|
|||
$(SRS)$/dialogs.srs
|
||||
|
||||
RESLIB1NAME=xmlsec
|
||||
RESLIB1IMAGES=$(PRJ)$/res
|
||||
RESLIB1SRSFILES= $(SRSFILELIST)
|
||||
|
||||
SHL4TARGET=$(TARGET)
|
||||
|
|
Loading…
Reference in a new issue