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 @@
#define RID_XMLSEC_QUERY_LOSINGSIGNATURE (RID_SFX_APP_START + 186)
#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)
......
......@@ -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?" ;
};
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
{
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)
}
case SID_CANCELCHECKOUT:
{
CancelCheckOut( );
if ( QueryBox( NULL, SfxResId( RID_QUERY_CANCELCHECKOUT ) ).Execute( ) == RET_YES )
{
CancelCheckOut( );
}
break;
}
case SID_CHECKIN:
......
......@@ -837,9 +837,9 @@ namespace cmis
// Get the Original document (latest version)
vector< libcmis::DocumentPtr > aVersions = pPwc->getAllVersions( );
libcmis::DocumentPtr pDoc;
bool bFound = false;
for ( vector< libcmis::DocumentPtr >::iterator it = aVersions.begin();
it != aVersions.end( ) && pDoc != NULL; ++it )
it != aVersions.end( ) && !bFound; ++it )
{
libcmis::DocumentPtr pVersion = *it;
map< string, libcmis::PropertyPtr > aProps = pVersion->getProperties( );
......@@ -851,25 +851,26 @@ namespace cmis
}
if ( bIsLatestVersion )
pDoc.reset( pVersion.get( ) );
}
// Compute the URL of the Document
URL aCmisUrl( m_sURL );
vector< string > aPaths = pDoc->getPaths( );
if ( !aPaths.empty() )
{
string sPath = aPaths.front( );
aCmisUrl.setObjectPath( STD_TO_OUSTR( sPath ) );
}
else
{
// We may have unfiled doc depending on the server, those
// won't have any path, use their ID instead
string sId = pDoc->getId( );
aCmisUrl.setObjectId( STD_TO_OUSTR( sId ) );
{
bFound = true;
// Compute the URL of the Document
URL aCmisUrl( m_sURL );
vector< string > aPaths = pVersion->getPaths( );
if ( !aPaths.empty() )
{
string sPath = aPaths.front( );
aCmisUrl.setObjectPath( STD_TO_OUSTR( sPath ) );
}
else
{
// We may have unfiled doc depending on the server, those
// won't have any path, use their ID instead
string sId = pVersion->getId( );
aCmisUrl.setObjectId( STD_TO_OUSTR( sId ) );
}
aRet = aCmisUrl.asString( );
}
}
aRet = aCmisUrl.asString( );
}
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