lool - page border shadow can be disabled
Support for text documents and presentations. Added a command line option for gtktiledviewer: --hide-page-shadow. Reviewed on: https://gerrit.libreoffice.org/21210 Change-Id: I1e427693d7af40cb5731d1730ac5b7c486d45c29
This commit is contained in:
committed by
Miklos Vajna
parent
1f1ddaad5d
commit
6b7d41094d
@@ -162,6 +162,7 @@ protected:
|
|||||||
SvtOptionsDrawinglayer maDrawinglayerOpt;
|
SvtOptionsDrawinglayer maDrawinglayerOpt;
|
||||||
|
|
||||||
bool mbPageVisible : 1;
|
bool mbPageVisible : 1;
|
||||||
|
bool mbPageShadowVisible : 1;
|
||||||
bool mbPageBorderVisible : 1;
|
bool mbPageBorderVisible : 1;
|
||||||
bool mbBordVisible : 1;
|
bool mbBordVisible : 1;
|
||||||
bool mbGridVisible : 1;
|
bool mbGridVisible : 1;
|
||||||
@@ -372,6 +373,9 @@ public:
|
|||||||
/// Draw Page as a white area or not
|
/// Draw Page as a white area or not
|
||||||
bool IsPageVisible() const { return mbPageVisible; }
|
bool IsPageVisible() const { return mbPageVisible; }
|
||||||
|
|
||||||
|
/// Draw Page shadow or not
|
||||||
|
bool IsPageShadowVisible() const { return mbPageShadowVisible; }
|
||||||
|
|
||||||
/// Draw Page as a white area or not
|
/// Draw Page as a white area or not
|
||||||
bool IsPageBorderVisible() const { return mbPageBorderVisible; }
|
bool IsPageBorderVisible() const { return mbPageBorderVisible; }
|
||||||
|
|
||||||
@@ -392,6 +396,7 @@ public:
|
|||||||
|
|
||||||
Color GetGridColor() const { return maGridColor;}
|
Color GetGridColor() const { return maGridColor;}
|
||||||
void SetPageVisible(bool bOn = true) { mbPageVisible=bOn; InvalidateAllWin(); }
|
void SetPageVisible(bool bOn = true) { mbPageVisible=bOn; InvalidateAllWin(); }
|
||||||
|
void SetPageShadowVisible(bool bOn = true) { mbPageShadowVisible=bOn; InvalidateAllWin(); }
|
||||||
void SetPageBorderVisible(bool bOn = true) { mbPageBorderVisible=bOn; InvalidateAllWin(); }
|
void SetPageBorderVisible(bool bOn = true) { mbPageBorderVisible=bOn; InvalidateAllWin(); }
|
||||||
void SetBordVisible(bool bOn = true) { mbBordVisible=bOn; InvalidateAllWin(); }
|
void SetBordVisible(bool bOn = true) { mbBordVisible=bOn; InvalidateAllWin(); }
|
||||||
void SetGridVisible(bool bOn = true) { mbGridVisible=bOn; InvalidateAllWin(); }
|
void SetGridVisible(bool bOn = true) { mbGridVisible=bOn; InvalidateAllWin(); }
|
||||||
|
@@ -32,8 +32,9 @@ static int help()
|
|||||||
{
|
{
|
||||||
fprintf(stderr, "Usage: gtktiledviewer <absolute-path-to-libreoffice-install's-program-directory> <path-to-document> [<options> ... ]\n\n");
|
fprintf(stderr, "Usage: gtktiledviewer <absolute-path-to-libreoffice-install's-program-directory> <path-to-document> [<options> ... ]\n\n");
|
||||||
fprintf(stderr, "Options:\n\n");
|
fprintf(stderr, "Options:\n\n");
|
||||||
fprintf(stderr, "--hide-whitespace: Hide whitespace between pages in text documents.\n");
|
|
||||||
fprintf(stderr, "--background-color <color>: Set custom background color, e.g. 'yellow'.\n");
|
fprintf(stderr, "--background-color <color>: Set custom background color, e.g. 'yellow'.\n");
|
||||||
|
fprintf(stderr, "--hide-page-shadow: Hide page/slide shadow.\n");
|
||||||
|
fprintf(stderr, "--hide-whitespace: Hide whitespace between pages in text documents.\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -507,12 +508,7 @@ static void createModelAndView(const char* pLOPath, const char* pDocPath, const
|
|||||||
for (size_t i = 0; i < rArguments.size(); ++i)
|
for (size_t i = 0; i < rArguments.size(); ++i)
|
||||||
{
|
{
|
||||||
const std::string& rArgument = rArguments[i];
|
const std::string& rArgument = rArguments[i];
|
||||||
if (rArgument == "--hide-whitespace")
|
if (rArgument == "--background-color" && i + 1 < rArguments.size())
|
||||||
{
|
|
||||||
aTree.put(boost::property_tree::ptree::path_type(".uno:HideWhitespace/type", '/'), "boolean");
|
|
||||||
aTree.put(boost::property_tree::ptree::path_type(".uno:HideWhitespace/value", '/'), true);
|
|
||||||
}
|
|
||||||
else if (rArgument == "--background-color" && i + 1 < rArguments.size())
|
|
||||||
{
|
{
|
||||||
GdkRGBA color;
|
GdkRGBA color;
|
||||||
gdk_rgba_parse(&color, rArguments[i + 1].c_str());
|
gdk_rgba_parse(&color, rArguments[i + 1].c_str());
|
||||||
@@ -520,7 +516,18 @@ static void createModelAndView(const char* pLOPath, const char* pDocPath, const
|
|||||||
gtk_widget_override_background_color(gtk_widget_get_toplevel(pDocView), GTK_STATE_FLAG_NORMAL, &color);
|
gtk_widget_override_background_color(gtk_widget_get_toplevel(pDocView), GTK_STATE_FLAG_NORMAL, &color);
|
||||||
SAL_WNODEPRECATED_DECLARATIONS_POP
|
SAL_WNODEPRECATED_DECLARATIONS_POP
|
||||||
}
|
}
|
||||||
|
else if (rArgument == "--hide-page-shadow")
|
||||||
|
{
|
||||||
|
aTree.put(boost::property_tree::ptree::path_type(".uno:ShowBorderShadow/type", '/'), "boolean");
|
||||||
|
aTree.put(boost::property_tree::ptree::path_type(".uno:ShowBorderShadow/value", '/'), false);
|
||||||
|
}
|
||||||
|
else if (rArgument == "--hide-whitespace")
|
||||||
|
{
|
||||||
|
aTree.put(boost::property_tree::ptree::path_type(".uno:HideWhitespace/type", '/'), "boolean");
|
||||||
|
aTree.put(boost::property_tree::ptree::path_type(".uno:HideWhitespace/value", '/'), true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::stringstream aStream;
|
std::stringstream aStream;
|
||||||
boost::property_tree::write_json(aStream, aTree);
|
boost::property_tree::write_json(aStream, aTree);
|
||||||
std::string aArguments = aStream.str();
|
std::string aArguments = aStream.str();
|
||||||
|
@@ -2359,7 +2359,7 @@ Size SdXImpressDocument::getDocumentSize()
|
|||||||
return Size(convertMm100ToTwip(aSize.getWidth()), convertMm100ToTwip(aSize.getHeight()));
|
return Size(convertMm100ToTwip(aSize.getWidth()), convertMm100ToTwip(aSize.getHeight()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SdXImpressDocument::initializeForTiledRendering(const css::uno::Sequence<css::beans::PropertyValue>& /*rArguments*/)
|
void SdXImpressDocument::initializeForTiledRendering(const css::uno::Sequence<css::beans::PropertyValue>& rArguments)
|
||||||
{
|
{
|
||||||
SolarMutexGuard aGuard;
|
SolarMutexGuard aGuard;
|
||||||
|
|
||||||
@@ -2371,6 +2371,13 @@ void SdXImpressDocument::initializeForTiledRendering(const css::uno::Sequence<cs
|
|||||||
|
|
||||||
if (DrawViewShell* pViewShell = GetViewShell())
|
if (DrawViewShell* pViewShell = GetViewShell())
|
||||||
{
|
{
|
||||||
|
DrawView* pDrawView = pViewShell->GetDrawView();
|
||||||
|
for (sal_Int32 i = 0; i < rArguments.getLength(); ++i)
|
||||||
|
{
|
||||||
|
const beans::PropertyValue& rValue = rArguments[i];
|
||||||
|
if (rValue.Name == ".uno:ShowBorderShadow" && rValue.Value.has<bool>())
|
||||||
|
pDrawView->SetPageShadowVisible(rValue.Value.get<bool>());
|
||||||
|
}
|
||||||
// Disable map mode, so that it's possible to send mouse event coordinates
|
// Disable map mode, so that it's possible to send mouse event coordinates
|
||||||
// in logic units.
|
// in logic units.
|
||||||
if (sd::Window* pWindow = pViewShell->GetActiveWindow())
|
if (sd::Window* pWindow = pViewShell->GetActiveWindow())
|
||||||
@@ -2383,7 +2390,7 @@ void SdXImpressDocument::initializeForTiledRendering(const css::uno::Sequence<cs
|
|||||||
// (whereas with async loading images start being loaded after
|
// (whereas with async loading images start being loaded after
|
||||||
// we have painted the tile, resulting in an invalidate, followed
|
// we have painted the tile, resulting in an invalidate, followed
|
||||||
// by the tile being rerendered - which is wasteful and ugly).
|
// by the tile being rerendered - which is wasteful and ugly).
|
||||||
pViewShell->GetDrawView()->SetSwapAsynchron(false);
|
pDrawView->SetSwapAsynchron(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -266,6 +266,11 @@ bool ViewObjectContactOfPageShadow::isPrimitiveVisible(const DisplayInfo& rDispl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!pSdrPageView->GetView().IsPageShadowVisible())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// no page shadow for preview renderers
|
// no page shadow for preview renderers
|
||||||
if(GetObjectContact().IsPreviewRenderer())
|
if(GetObjectContact().IsPreviewRenderer())
|
||||||
{
|
{
|
||||||
|
@@ -163,6 +163,7 @@ void SdrPaintView::ImpClearVars()
|
|||||||
mpItemBrowser=nullptr;
|
mpItemBrowser=nullptr;
|
||||||
#endif
|
#endif
|
||||||
mbPageVisible=true;
|
mbPageVisible=true;
|
||||||
|
mbPageShadowVisible=true;
|
||||||
mbPageBorderVisible=true;
|
mbPageBorderVisible=true;
|
||||||
mbBordVisible=true;
|
mbBordVisible=true;
|
||||||
mbGridVisible=true;
|
mbGridVisible=true;
|
||||||
|
@@ -3225,6 +3225,8 @@ void SwXTextDocument::initializeForTiledRendering(const css::uno::Sequence<css::
|
|||||||
const beans::PropertyValue& rValue = rArguments[i];
|
const beans::PropertyValue& rValue = rArguments[i];
|
||||||
if (rValue.Name == ".uno:HideWhitespace" && rValue.Value.has<bool>())
|
if (rValue.Name == ".uno:HideWhitespace" && rValue.Value.has<bool>())
|
||||||
aViewOption.SetHideWhitespaceMode(rValue.Value.get<bool>());
|
aViewOption.SetHideWhitespaceMode(rValue.Value.get<bool>());
|
||||||
|
else if (rValue.Name == ".uno:ShowBorderShadow" && rValue.Value.has<bool>())
|
||||||
|
SwViewOption::SetAppearanceFlag(VIEWOPT_SHADOW , rValue.Value.get<bool>());
|
||||||
}
|
}
|
||||||
pViewShell->ApplyViewOptions(aViewOption);
|
pViewShell->ApplyViewOptions(aViewOption);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user