Kaydet (Commit) bce042ca authored tarafından Cédric Bosdonnat's avatar Cédric Bosdonnat

CMIS: added confirmation dialog for cancel checkout

Change-Id: I12317bd8c91756c7960f04d2fad38dd509840932
üst 9c248f92
...@@ -112,6 +112,7 @@ ...@@ -112,6 +112,7 @@
#define RID_XMLSEC_QUERY_LOSINGSIGNATURE (RID_SFX_APP_START + 186) #define RID_XMLSEC_QUERY_LOSINGSIGNATURE (RID_SFX_APP_START + 186)
#define RID_XMLSEC_QUERY_SAVEBEFORESIGN (RID_SFX_APP_START + 187) #define RID_XMLSEC_QUERY_SAVEBEFORESIGN (RID_SFX_APP_START + 187)
#define RID_QUERY_CANCELCHECKOUT (RID_SFX_APP_START + 188)
#define RID_XMLSEC_INFO_WRONGDOCFORMAT (RID_SFX_APP_START + 190) #define RID_XMLSEC_INFO_WRONGDOCFORMAT (RID_SFX_APP_START + 190)
......
...@@ -432,6 +432,13 @@ QueryBox RID_XMLSEC_QUERY_SAVEBEFORESIGN ...@@ -432,6 +432,13 @@ QueryBox RID_XMLSEC_QUERY_SAVEBEFORESIGN
Message [ en-US ] = "The document has to be saved before it can be signed.\nDo you want to save the document?" ; Message [ en-US ] = "The document has to be saved before it can be signed.\nDo you want to save the document?" ;
}; };
QueryBox RID_QUERY_CANCELCHECKOUT
{
Buttons = WB_YES_NO ;
DefButton = WB_DEF_YES ;
Message [ en-US ] = "This will discard all changes on the server since check-out.\nDo you want to proceed?" ;
};
InfoBox RID_XMLSEC_INFO_WRONGDOCFORMAT InfoBox RID_XMLSEC_INFO_WRONGDOCFORMAT
{ {
Message [ en-US ] = "This document must be saved in OpenDocument file format before it can be digitally signed." ; Message [ en-US ] = "This document must be saved in OpenDocument file format before it can be digitally signed." ;
......
...@@ -950,8 +950,11 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq) ...@@ -950,8 +950,11 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
break; break;
} }
case SID_CANCELCHECKOUT: case SID_CANCELCHECKOUT:
{
if ( QueryBox( NULL, SfxResId( RID_QUERY_CANCELCHECKOUT ) ).Execute( ) == RET_YES )
{ {
CancelCheckOut( ); CancelCheckOut( );
}
break; break;
} }
case SID_CHECKIN: case SID_CHECKIN:
......
...@@ -837,9 +837,9 @@ namespace cmis ...@@ -837,9 +837,9 @@ namespace cmis
// Get the Original document (latest version) // Get the Original document (latest version)
vector< libcmis::DocumentPtr > aVersions = pPwc->getAllVersions( ); vector< libcmis::DocumentPtr > aVersions = pPwc->getAllVersions( );
libcmis::DocumentPtr pDoc; bool bFound = false;
for ( vector< libcmis::DocumentPtr >::iterator it = aVersions.begin(); for ( vector< libcmis::DocumentPtr >::iterator it = aVersions.begin();
it != aVersions.end( ) && pDoc != NULL; ++it ) it != aVersions.end( ) && !bFound; ++it )
{ {
libcmis::DocumentPtr pVersion = *it; libcmis::DocumentPtr pVersion = *it;
map< string, libcmis::PropertyPtr > aProps = pVersion->getProperties( ); map< string, libcmis::PropertyPtr > aProps = pVersion->getProperties( );
...@@ -851,12 +851,11 @@ namespace cmis ...@@ -851,12 +851,11 @@ namespace cmis
} }
if ( bIsLatestVersion ) if ( bIsLatestVersion )
pDoc.reset( pVersion.get( ) ); {
} bFound = true;
// Compute the URL of the Document // Compute the URL of the Document
URL aCmisUrl( m_sURL ); URL aCmisUrl( m_sURL );
vector< string > aPaths = pDoc->getPaths( ); vector< string > aPaths = pVersion->getPaths( );
if ( !aPaths.empty() ) if ( !aPaths.empty() )
{ {
string sPath = aPaths.front( ); string sPath = aPaths.front( );
...@@ -866,11 +865,13 @@ namespace cmis ...@@ -866,11 +865,13 @@ namespace cmis
{ {
// We may have unfiled doc depending on the server, those // We may have unfiled doc depending on the server, those
// won't have any path, use their ID instead // won't have any path, use their ID instead
string sId = pDoc->getId( ); string sId = pVersion->getId( );
aCmisUrl.setObjectId( STD_TO_OUSTR( sId ) ); aCmisUrl.setObjectId( STD_TO_OUSTR( sId ) );
} }
aRet = aCmisUrl.asString( ); aRet = aCmisUrl.asString( );
} }
}
}
catch ( const libcmis::Exception& e ) catch ( const libcmis::Exception& e )
{ {
SAL_INFO( "cmisucp", "Unexpected libcmis exception: " << e.what( ) ); SAL_INFO( "cmisucp", "Unexpected libcmis exception: " << e.what( ) );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment