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." ;
......
...@@ -951,7 +951,10 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq) ...@@ -951,7 +951,10 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
} }
case SID_CANCELCHECKOUT: case SID_CANCELCHECKOUT:
{ {
CancelCheckOut( ); if ( QueryBox( NULL, SfxResId( RID_QUERY_CANCELCHECKOUT ) ).Execute( ) == RET_YES )
{
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,25 +851,26 @@ namespace cmis ...@@ -851,25 +851,26 @@ 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 = pVersion->getPaths( );
vector< string > aPaths = pDoc->getPaths( ); if ( !aPaths.empty() )
if ( !aPaths.empty() ) {
{ string sPath = aPaths.front( );
string sPath = aPaths.front( ); aCmisUrl.setObjectPath( STD_TO_OUSTR( sPath ) );
aCmisUrl.setObjectPath( STD_TO_OUSTR( sPath ) ); }
} else
else {
{ // 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 = pVersion->getId( );
string sId = pDoc->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 )
{ {
......
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