mirror of
https://github.com/JakubMelka/PDF4QT.git
synced 2025-06-05 21:59:17 +02:00
Issue #108: Add accessibility options in pdf reader
This commit is contained in:
@@ -141,6 +141,10 @@ std::vector<QAction*> PDFActionManager::getRenderingOptionActions() const
|
||||
RenderOptionIgnoreOptionalContentSettings,
|
||||
RenderOptionDisplayAnnotations,
|
||||
RenderOptionInvertColors,
|
||||
RenderOptionGrayscale,
|
||||
RenderOptionBitonal,
|
||||
RenderOptionHighContrast,
|
||||
RenderOptionCustomColors,
|
||||
RenderOptionShowTextBlocks,
|
||||
RenderOptionShowTextLines
|
||||
});
|
||||
@@ -249,7 +253,11 @@ void PDFActionManager::initActions(QSize iconSize, bool initializeStampActions)
|
||||
setUserData(RenderOptionSmoothPictures, pdf::PDFRenderer::SmoothImages);
|
||||
setUserData(RenderOptionIgnoreOptionalContentSettings, pdf::PDFRenderer::IgnoreOptionalContent);
|
||||
setUserData(RenderOptionDisplayAnnotations, pdf::PDFRenderer::DisplayAnnotations);
|
||||
setUserData(RenderOptionInvertColors, pdf::PDFRenderer::InvertColors);
|
||||
setUserData(RenderOptionInvertColors, pdf::PDFRenderer::ColorAdjust_Invert);
|
||||
setUserData(RenderOptionGrayscale, pdf::PDFRenderer::ColorAdjust_Grayscale);
|
||||
setUserData(RenderOptionBitonal, pdf::PDFRenderer::ColorAdjust_Bitonal);
|
||||
setUserData(RenderOptionHighContrast, pdf::PDFRenderer::ColorAdjust_HighContrast);
|
||||
setUserData(RenderOptionCustomColors, pdf::PDFRenderer::ColorAdjust_CustomColors);
|
||||
setUserData(RenderOptionShowTextBlocks, pdf::PDFRenderer::DebugTextBlocks);
|
||||
setUserData(RenderOptionShowTextLines, pdf::PDFRenderer::DebugTextLines);
|
||||
|
||||
@@ -1051,8 +1059,17 @@ void PDFProgramController::onActionRenderingOptionTriggered(bool checked)
|
||||
Q_ASSERT(action);
|
||||
|
||||
pdf::PDFRenderer::Features features = m_settings->getFeatures();
|
||||
features.setFlag(static_cast<pdf::PDFRenderer::Feature>(action->data().toInt()), checked);
|
||||
pdf::PDFRenderer::Feature affectedFeature = static_cast<pdf::PDFRenderer::Feature>(action->data().toInt());
|
||||
pdf::PDFRenderer::Features colorFeatures = pdf::PDFRenderer::getColorFeatures();
|
||||
|
||||
if (colorFeatures.testFlag(affectedFeature) && checked)
|
||||
{
|
||||
features = features & ~colorFeatures;
|
||||
}
|
||||
|
||||
features.setFlag(affectedFeature, checked);
|
||||
m_settings->setFeatures(features);
|
||||
updateRenderingOptionActions();
|
||||
}
|
||||
|
||||
void PDFProgramController::performSaveAs()
|
||||
|
@@ -160,6 +160,10 @@ public:
|
||||
RenderOptionIgnoreOptionalContentSettings,
|
||||
RenderOptionDisplayAnnotations,
|
||||
RenderOptionInvertColors,
|
||||
RenderOptionGrayscale,
|
||||
RenderOptionBitonal,
|
||||
RenderOptionHighContrast,
|
||||
RenderOptionCustomColors,
|
||||
RenderOptionShowTextBlocks,
|
||||
RenderOptionShowTextLines,
|
||||
PageLayoutSinglePage,
|
||||
|
@@ -150,7 +150,11 @@ PDFViewerMainWindow::PDFViewerMainWindow(QWidget* parent) :
|
||||
m_actionManager->setAction(PDFActionManager::RenderOptionSmoothPictures, ui->actionRenderOptionSmoothPictures);
|
||||
m_actionManager->setAction(PDFActionManager::RenderOptionIgnoreOptionalContentSettings, ui->actionRenderOptionIgnoreOptionalContentSettings);
|
||||
m_actionManager->setAction(PDFActionManager::RenderOptionDisplayAnnotations, ui->actionRenderOptionDisplayAnnotations);
|
||||
m_actionManager->setAction(PDFActionManager::RenderOptionInvertColors, ui->actionInvertColors);
|
||||
m_actionManager->setAction(PDFActionManager::RenderOptionInvertColors, ui->actionColorInvert);
|
||||
m_actionManager->setAction(PDFActionManager::RenderOptionGrayscale, ui->actionColorGrayscale);
|
||||
m_actionManager->setAction(PDFActionManager::RenderOptionHighContrast, ui->actionColorHighContrast);
|
||||
m_actionManager->setAction(PDFActionManager::RenderOptionBitonal, ui->actionColorBitonal);
|
||||
m_actionManager->setAction(PDFActionManager::RenderOptionCustomColors, ui->actionColorCustom);
|
||||
m_actionManager->setAction(PDFActionManager::RenderOptionShowTextBlocks, ui->actionShow_Text_Blocks);
|
||||
m_actionManager->setAction(PDFActionManager::RenderOptionShowTextLines, ui->actionShow_Text_Lines);
|
||||
m_actionManager->setAction(PDFActionManager::Properties, ui->actionProperties);
|
||||
|
@@ -91,7 +91,11 @@
|
||||
<addaction name="actionFitWidth"/>
|
||||
<addaction name="actionFitHeight"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionInvertColors"/>
|
||||
<addaction name="actionColorInvert"/>
|
||||
<addaction name="actionColorGrayscale"/>
|
||||
<addaction name="actionColorHighContrast"/>
|
||||
<addaction name="actionColorBitonal"/>
|
||||
<addaction name="actionColorCustom"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuTools">
|
||||
<property name="title">
|
||||
@@ -527,7 +531,7 @@
|
||||
<string>Copy text</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionInvertColors">
|
||||
<action name="actionColorInvert">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@@ -536,7 +540,55 @@
|
||||
<normaloff>:/resources/invert-colors.svg</normaloff>:/resources/invert-colors.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Invert Colors</string>
|
||||
<string>Color | Inverted</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionColorGrayscale">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="pdf4qtviewer.qrc">
|
||||
<normaloff>:/resources/invert-colors.svg</normaloff>:/resources/invert-colors.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Color | Grayscale</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionColorHighContrast">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="pdf4qtviewer.qrc">
|
||||
<normaloff>:/resources/invert-colors.svg</normaloff>:/resources/invert-colors.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Color | High Contrast</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionColorBitonal">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="pdf4qtviewer.qrc">
|
||||
<normaloff>:/resources/invert-colors.svg</normaloff>:/resources/invert-colors.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Color | Monochromatic</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionColorCustom">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="pdf4qtviewer.qrc">
|
||||
<normaloff>:/resources/invert-colors.svg</normaloff>:/resources/invert-colors.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Color | Custom</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionRotateRight">
|
||||
|
Reference in New Issue
Block a user