parent
b3df4f045b
commit
aaab1afbb1
@ -1,186 +0,0 @@
|
||||
From 9834a43821ccf9feb4cee971057f3fc136b5add8 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Thu, 1 Dec 2011 14:02:07 +0100
|
||||
Subject: [PATCH] #i101274 a directory on command line is silently ignored
|
||||
|
||||
---
|
||||
.../source/misc/stillreadwriteinteraction.cxx | 1 +
|
||||
ucbhelper/source/client/content.cxx | 75 ++++++++++++++++++++++
|
||||
2 files changed, 76 insertions(+)
|
||||
|
||||
diff --git a/comphelper/source/misc/stillreadwriteinteraction.cxx b/comphelper/source/misc/stillreadwriteinteraction.cxx
|
||||
index 10f1855..650b88f 100644
|
||||
--- a/comphelper/source/misc/stillreadwriteinteraction.cxx
|
||||
+++ b/comphelper/source/misc/stillreadwriteinteraction.cxx
|
||||
@@ -85,6 +85,7 @@ ucbhelper::InterceptedInteraction::EInterceptionState StillReadWriteInteraction:
|
||||
bAbort = (
|
||||
(exIO.Code == css::ucb::IOErrorCode_ACCESS_DENIED )
|
||||
|| (exIO.Code == css::ucb::IOErrorCode_LOCKING_VIOLATION )
|
||||
+ || (exIO.Code == css::ucb::IOErrorCode_NO_FILE )
|
||||
|| (exIO.Code == css::ucb::IOErrorCode_NOT_EXISTING )
|
||||
#ifdef MACOSX
|
||||
// this is a workaround for MAC, on this platform if the file is locked
|
||||
diff --git a/ucbhelper/source/client/content.cxx b/ucbhelper/source/client/content.cxx
|
||||
index c8ccd88..ac5920a 100644
|
||||
--- a/ucbhelper/source/client/content.cxx
|
||||
+++ b/ucbhelper/source/client/content.cxx
|
||||
@@ -27,6 +27,7 @@
|
||||
#include <cppuhelper/weak.hxx>
|
||||
|
||||
#include <cppuhelper/implbase1.hxx>
|
||||
+#include <com/sun/star/beans/PropertyValue.hpp>
|
||||
#include <com/sun/star/ucb/CheckinArgument.hpp>
|
||||
#include <com/sun/star/ucb/ContentCreationError.hpp>
|
||||
#include <com/sun/star/ucb/XCommandEnvironment.hpp>
|
||||
@@ -37,6 +38,8 @@
|
||||
#include <com/sun/star/ucb/ContentAction.hpp>
|
||||
#include <com/sun/star/ucb/OpenCommandArgument2.hpp>
|
||||
#include <com/sun/star/ucb/InsertCommandArgument.hpp>
|
||||
+#include <com/sun/star/ucb/IOErrorCode.hpp>
|
||||
+#include <com/sun/star/ucb/InteractiveAugmentedIOException.hpp>
|
||||
#include <com/sun/star/ucb/GlobalTransferCommandArgument2.hpp>
|
||||
#include <com/sun/star/ucb/NameClash.hpp>
|
||||
#include <com/sun/star/ucb/OpenMode.hpp>
|
||||
@@ -56,12 +59,18 @@
|
||||
#include <com/sun/star/sdbc/XRow.hpp>
|
||||
#include <com/sun/star/lang/IllegalArgumentException.hpp>
|
||||
#include <com/sun/star/beans/UnknownPropertyException.hpp>
|
||||
+#include <com/sun/star/task/XInteractionRequest.hpp>
|
||||
+
|
||||
#include <ucbhelper/macros.hxx>
|
||||
#include <ucbhelper/content.hxx>
|
||||
#include <ucbhelper/activedatasink.hxx>
|
||||
#include <ucbhelper/activedatastreamer.hxx>
|
||||
#include <ucbhelper/interactionrequest.hxx>
|
||||
#include <ucbhelper/cancelcommandexecution.hxx>
|
||||
+#include <ucbhelper/fileidentifierconverter.hxx>
|
||||
+#include <ucbhelper/simpleinteractionrequest.hxx>
|
||||
+
|
||||
+#include <memory>
|
||||
|
||||
using namespace com::sun::star::container;
|
||||
using namespace com::sun::star::beans;
|
||||
@@ -304,6 +313,54 @@ static Reference< XContent > getContentNoThrow(
|
||||
return xContent;
|
||||
}
|
||||
|
||||
+namespace
|
||||
+{
|
||||
+
|
||||
+void
|
||||
+lcl_displayMessage(
|
||||
+ const Reference<XComponentContext>& rContext,
|
||||
+ const Reference<XCommandEnvironment>& rEnvironment,
|
||||
+ const rtl::OUString& rUri)
|
||||
+{
|
||||
+ // Create exception
|
||||
+ const Reference<XUniversalContentBroker> xBroker(UniversalContentBroker::create(rContext));
|
||||
+ const PropertyValue aUriProperty(
|
||||
+ rtl::OUString::createFromAscii("Uri"),
|
||||
+ -1,
|
||||
+ makeAny(getSystemPathFromFileURL(xBroker, rUri)),
|
||||
+ PropertyState_DIRECT_VALUE)
|
||||
+ ;
|
||||
+ Sequence<Any> lArguments(1);
|
||||
+ lArguments[0] <<= aUriProperty;
|
||||
+ const InteractiveAugmentedIOException xError(
|
||||
+ rtl::OUString(),
|
||||
+ 0,
|
||||
+ InteractionClassification_ERROR,
|
||||
+ IOErrorCode_NO_FILE,
|
||||
+ lArguments)
|
||||
+ ;
|
||||
+
|
||||
+ // Create interaction request
|
||||
+ std::auto_ptr<ucbhelper::SimpleInteractionRequest> aRequest(
|
||||
+ new ucbhelper::SimpleInteractionRequest(makeAny(xError), CONTINUATION_APPROVE));
|
||||
+ {
|
||||
+ Reference<XInteractionContinuation> xContinuation(
|
||||
+ new ::ucbhelper::InteractionApprove(aRequest.get()));
|
||||
+ Sequence<Reference<XInteractionContinuation> > lContinuations(1);
|
||||
+ lContinuations[0].set(xContinuation);
|
||||
+ aRequest->setContinuations(lContinuations);
|
||||
+ }
|
||||
+
|
||||
+ Reference<XInteractionHandler> xInteraction(rEnvironment->getInteractionHandler());
|
||||
+ if (xInteraction.is())
|
||||
+ {
|
||||
+ Reference<XInteractionRequest> xRequest(aRequest.release());
|
||||
+ xInteraction->handle(xRequest);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+}
|
||||
+
|
||||
|
||||
|
||||
|
||||
@@ -718,7 +775,10 @@ Reference< XInputStream > Content::openStream()
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getComponentContext(), m_xImpl->getEnvironment(), getURL());
|
||||
return Reference< XInputStream >();
|
||||
+ }
|
||||
|
||||
Reference< XActiveDataSink > xSink = new ActiveDataSink;
|
||||
|
||||
@@ -743,7 +803,10 @@ Reference< XInputStream > Content::openStreamNoLock()
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getComponentContext(), m_xImpl->getEnvironment(), getURL());
|
||||
return Reference< XInputStream >();
|
||||
+ }
|
||||
|
||||
Reference< XActiveDataSink > xSink = new ActiveDataSink;
|
||||
|
||||
@@ -768,7 +831,10 @@ Reference< XStream > Content::openWriteableStream()
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getComponentContext(), m_xImpl->getEnvironment(), getURL());
|
||||
return Reference< XStream >();
|
||||
+ }
|
||||
|
||||
Reference< XActiveDataStreamer > xStreamer = new ActiveDataStreamer;
|
||||
|
||||
@@ -793,7 +859,10 @@ Reference< XStream > Content::openWriteableStreamNoLock()
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getComponentContext(), m_xImpl->getEnvironment(), getURL());
|
||||
return Reference< XStream >();
|
||||
+ }
|
||||
|
||||
Reference< XActiveDataStreamer > xStreamer = new ActiveDataStreamer;
|
||||
|
||||
@@ -818,7 +887,10 @@ bool Content::openStream( const Reference< XActiveDataSink >& rSink )
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getComponentContext(), m_xImpl->getEnvironment(), getURL());
|
||||
return false;
|
||||
+ }
|
||||
|
||||
OpenCommandArgument2 aArg;
|
||||
aArg.Mode = OpenMode::DOCUMENT;
|
||||
@@ -841,7 +913,10 @@ bool Content::openStream( const Reference< XOutputStream >& rStream )
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getComponentContext(), m_xImpl->getEnvironment(), getURL());
|
||||
return false;
|
||||
+ }
|
||||
|
||||
OpenCommandArgument2 aArg;
|
||||
aArg.Mode = OpenMode::DOCUMENT;
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,141 +0,0 @@
|
||||
From 174f9520dfec39799011cf8af12808b14293c7f8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Mon, 5 Dec 2011 15:28:19 +0100
|
||||
Subject: [PATCH] vertical content overflowing out of cell (#i88341#)
|
||||
|
||||
---
|
||||
sc/source/ui/inc/output.hxx | 2 ++
|
||||
sc/source/ui/view/output2.cxx | 66 ++++++++++++++++++++++++++++---------------
|
||||
2 files changed, 45 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/sc/source/ui/inc/output.hxx b/sc/source/ui/inc/output.hxx
|
||||
index ffb0e15..17e2a9b 100644
|
||||
--- a/sc/source/ui/inc/output.hxx
|
||||
+++ b/sc/source/ui/inc/output.hxx
|
||||
@@ -304,6 +304,8 @@ public:
|
||||
void DrawExtraShadow(bool bLeft, bool bTop, bool bRight, bool bBottom);
|
||||
void DrawFrame();
|
||||
|
||||
+ bool UseNormalClip(SCROW nCellY, const SfxItemSet* pCondSet);
|
||||
+
|
||||
// with logic MapMode set!
|
||||
void DrawEdit(bool bPixelToLogic);
|
||||
|
||||
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
|
||||
index 6a1bbf1..ee1aba3 100644
|
||||
--- a/sc/source/ui/view/output2.cxx
|
||||
+++ b/sc/source/ui/view/output2.cxx
|
||||
@@ -3014,13 +3014,7 @@ void ScOutputData::DrawEditStandard(DrawEditParam& rParam)
|
||||
(ScMergeAttr*)&rParam.mpPattern->GetItem(ATTR_MERGE);
|
||||
bool bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1;
|
||||
|
||||
- // Don't clip for text height when printing rows with optimal height,
|
||||
- // except when font size is from conditional formatting.
|
||||
- //! Allow clipping when vertically merged?
|
||||
- if ( eType != OUTTYPE_PRINTER ||
|
||||
- ( mpDoc->GetRowFlags( rParam.mnCellY, nTab ) & CR_MANUALSIZE ) ||
|
||||
- ( rParam.mpCondSet && SFX_ITEM_SET ==
|
||||
- rParam.mpCondSet->GetItemState(ATTR_FONT_HEIGHT, true) ) )
|
||||
+ if (UseNormalClip(rParam.mnCellY, rParam.mpCondSet))
|
||||
bClip = true;
|
||||
else
|
||||
bSimClip = true;
|
||||
@@ -3055,6 +3049,19 @@ void ScOutputData::DrawEditStandard(DrawEditParam& rParam)
|
||||
}
|
||||
|
||||
Rectangle aLogicClip;
|
||||
+ if (
|
||||
+ ((nAttrRotate == 9000) || (nAttrRotate == 27000)) &&
|
||||
+ (!(rParam.meOrient==SVX_ORIENTATION_STANDARD &&
|
||||
+ !rParam.mbAsianVertical)) &&
|
||||
+ (!(bClip || bSimClip))
|
||||
+ )
|
||||
+ {
|
||||
+ if (UseNormalClip(rParam.mnCellY, rParam.mpCondSet))
|
||||
+ bClip = true;
|
||||
+ else
|
||||
+ bSimClip = true;
|
||||
+ }
|
||||
+
|
||||
if (bClip || bSimClip)
|
||||
{
|
||||
// Clip marks are already handled in GetOutputArea
|
||||
@@ -4008,13 +4015,8 @@ void ScOutputData::DrawEditStacked(DrawEditParam& rParam)
|
||||
(ScMergeAttr*)&rParam.mpPattern->GetItem(ATTR_MERGE);
|
||||
bool bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1;
|
||||
|
||||
- // Don't clip for text height when printing rows with optimal height,
|
||||
- // except when font size is from conditional formatting.
|
||||
- //! Allow clipping when vertically merged?
|
||||
- if ( eType != OUTTYPE_PRINTER ||
|
||||
- ( mpDoc->GetRowFlags( rParam.mnCellY, nTab ) & CR_MANUALSIZE ) ||
|
||||
- ( rParam.mpCondSet && SFX_ITEM_SET ==
|
||||
- rParam.mpCondSet->GetItemState(ATTR_FONT_HEIGHT, true) ) )
|
||||
+
|
||||
+ if (UseNormalClip(rParam.mnCellY, rParam.mpCondSet))
|
||||
bClip = true;
|
||||
else
|
||||
bSimClip = true;
|
||||
@@ -4362,13 +4364,7 @@ void ScOutputData::DrawEditAsianVertical(DrawEditParam& rParam)
|
||||
(ScMergeAttr*)&rParam.mpPattern->GetItem(ATTR_MERGE);
|
||||
bool bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1;
|
||||
|
||||
- // Don't clip for text height when printing rows with optimal height,
|
||||
- // except when font size is from conditional formatting.
|
||||
- //! Allow clipping when vertically merged?
|
||||
- if ( eType != OUTTYPE_PRINTER ||
|
||||
- ( mpDoc->GetRowFlags( rParam.mnCellY, nTab ) & CR_MANUALSIZE ) ||
|
||||
- ( rParam.mpCondSet && SFX_ITEM_SET ==
|
||||
- rParam.mpCondSet->GetItemState(ATTR_FONT_HEIGHT, true) ) )
|
||||
+ if (UseNormalClip(rParam.mnCellY, rParam.mpCondSet))
|
||||
bClip = true;
|
||||
else
|
||||
bSimClip = true;
|
||||
@@ -4474,6 +4470,20 @@ void ScOutputData::DrawEditAsianVertical(DrawEditParam& rParam)
|
||||
rParam.adjustForHyperlinkInPDF(aURLStart, mpDev);
|
||||
}
|
||||
|
||||
+bool ScOutputData::UseNormalClip(SCROW nCellY, const SfxItemSet* pCondSet)
|
||||
+{
|
||||
+ bool bNormalClip = false;
|
||||
+ // Don't clip for text height when printing rows with optimal height,
|
||||
+ // except when font size is from conditional formatting.
|
||||
+ //! Allow clipping when vertically merged?
|
||||
+ if ( eType != OUTTYPE_PRINTER ||
|
||||
+ ( mpDoc->GetRowFlags( nCellY, nTab ) & CR_MANUALSIZE ) ||
|
||||
+ ( pCondSet && SFX_ITEM_SET ==
|
||||
+ pCondSet->GetItemState(ATTR_FONT_HEIGHT, sal_True) ) )
|
||||
+ bNormalClip = true;
|
||||
+ return bNormalClip;
|
||||
+}
|
||||
+
|
||||
void ScOutputData::DrawEdit(bool bPixelToLogic)
|
||||
{
|
||||
boost::scoped_ptr<ScFieldEditEngine> pEngine;
|
||||
@@ -5199,11 +5209,21 @@ void ScOutputData::DrawRotated(bool bPixelToLogic)
|
||||
else
|
||||
{
|
||||
// bei gedrehtem Text ist Standard zentriert
|
||||
+ long nDiff = 0;
|
||||
if (eHorJust==SVX_HOR_JUSTIFY_RIGHT)
|
||||
- aLogicStart.X() += nAvailWidth - nEngineWidth;
|
||||
+ nDiff = nAvailWidth - nEngineWidth;
|
||||
else if (eHorJust==SVX_HOR_JUSTIFY_CENTER ||
|
||||
eHorJust==SVX_HOR_JUSTIFY_STANDARD)
|
||||
- aLogicStart.X() += (nAvailWidth - nEngineWidth) / 2;
|
||||
+ nDiff = (nAvailWidth - nEngineWidth) / 2;
|
||||
+
|
||||
+ if (nEngineWidth > nAvailWidth)
|
||||
+ {
|
||||
+ if (nAttrRotate == 9000)
|
||||
+ nDiff = 0;
|
||||
+ else if (nAttrRotate == 27000)
|
||||
+ nDiff = nAvailWidth - nEngineWidth;
|
||||
+ }
|
||||
+ aLogicStart.X() += nDiff;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
1.9.0
|
||||
|
Loading…
Reference in new issue