qt5: remove duplicate code
Create new toPopplerAdditionalActionType private function
diff --git a/qt5/src/poppler-annotation.cc b/qt5/src/poppler-annotation.cc
index 2394ffc..5550efc 100644
--- a/qt5/src/poppler-annotation.cc
+++ b/qt5/src/poppler-annotation.cc
@@ -778,20 +778,7 @@
if ( pdfAnnot->getType() != Annot::typeScreen && pdfAnnot->getType() != Annot::typeWidget )
return nullptr;
- Annot::AdditionalActionsType actionType = Annot::actionCursorEntering;
- switch ( type )
- {
- case Annotation::CursorEnteringAction: actionType = Annot::actionCursorEntering; break;
- case Annotation::CursorLeavingAction: actionType = Annot::actionCursorLeaving; break;
- case Annotation::MousePressedAction: actionType = Annot::actionMousePressed; break;
- case Annotation::MouseReleasedAction: actionType = Annot::actionMouseReleased; break;
- case Annotation::FocusInAction: actionType = Annot::actionFocusIn; break;
- case Annotation::FocusOutAction: actionType = Annot::actionFocusOut; break;
- case Annotation::PageOpeningAction: actionType = Annot::actionPageOpening; break;
- case Annotation::PageClosingAction: actionType = Annot::actionPageClosing; break;
- case Annotation::PageVisibleAction: actionType = Annot::actionPageVisible; break;
- case Annotation::PageInvisibleAction: actionType = Annot::actionPageInvisible; break;
- }
+ const Annot::AdditionalActionsType actionType = toPopplerAdditionalActionType(type);
::LinkAction *linkAction = nullptr;
if ( pdfAnnot->getType() == Annot::typeScreen )
diff --git a/qt5/src/poppler-form.cc b/qt5/src/poppler-form.cc
index 03d0489..9d1b329 100644
--- a/qt5/src/poppler-form.cc
+++ b/qt5/src/poppler-form.cc
@@ -1,6 +1,6 @@
/* poppler-form.h: qt interface to poppler
* Copyright (C) 2007-2008, 2011, Pino Toscano <pino@kde.org>
- * Copyright (C) 2008, 2011, 2012, 2015-2017 Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2008, 2011, 2012, 2015-2018 Albert Astals Cid <aacid@kde.org>
* Copyright (C) 2011 Carlos Garcia Campos <carlosgc@gnome.org>
* Copyright (C) 2012, Adam Reichold <adamreichold@myopera.com>
* Copyright (C) 2016, Hanno Meyer-Thurow <h.mth@web.de>
@@ -212,20 +212,7 @@
return nullptr;
}
- Annot::AdditionalActionsType actionType = Annot::actionMouseReleased;
- switch (type)
- {
- case Annotation::CursorEnteringAction: actionType = Annot::actionCursorEntering; break;
- case Annotation::CursorLeavingAction: actionType = Annot::actionCursorLeaving; break;
- case Annotation::MousePressedAction: actionType = Annot::actionMousePressed; break;
- case Annotation::MouseReleasedAction: actionType = Annot::actionMouseReleased; break;
- case Annotation::FocusInAction: actionType = Annot::actionFocusIn; break;
- case Annotation::FocusOutAction: actionType = Annot::actionFocusOut; break;
- case Annotation::PageOpeningAction: actionType = Annot::actionPageOpening; break;
- case Annotation::PageClosingAction: actionType = Annot::actionPageClosing; break;
- case Annotation::PageVisibleAction: actionType = Annot::actionPageVisible; break;
- case Annotation::PageInvisibleAction: actionType = Annot::actionPageInvisible; break;
- }
+ const Annot::AdditionalActionsType actionType = toPopplerAdditionalActionType(type);
Link* action = nullptr;
if (::LinkAction *act = w->getAdditionalAction(actionType))
diff --git a/qt5/src/poppler-private.cc b/qt5/src/poppler-private.cc
index 78751f8..ca5251d 100644
--- a/qt5/src/poppler-private.cc
+++ b/qt5/src/poppler-private.cc
@@ -163,6 +163,24 @@
return QStringToUnicodeGooString(dt.toUTC().toString("yyyyMMddhhmmss+00'00'"));
}
+ Annot::AdditionalActionsType toPopplerAdditionalActionType(Annotation::AdditionalActionType type) {
+ switch ( type )
+ {
+ case Annotation::CursorEnteringAction: return Annot::actionCursorEntering;
+ case Annotation::CursorLeavingAction: return Annot::actionCursorLeaving;
+ case Annotation::MousePressedAction: return Annot::actionMousePressed;
+ case Annotation::MouseReleasedAction: return Annot::actionMouseReleased;
+ case Annotation::FocusInAction: return Annot::actionFocusIn;
+ case Annotation::FocusOutAction: return Annot::actionFocusOut;
+ case Annotation::PageOpeningAction: return Annot::actionPageOpening;
+ case Annotation::PageClosingAction: return Annot::actionPageClosing;
+ case Annotation::PageVisibleAction: return Annot::actionPageVisible;
+ case Annotation::PageInvisibleAction: return Annot::actionPageInvisible;
+ }
+
+ return Annot::actionCursorEntering;
+ }
+
static void linkActionToTocItem( const ::LinkAction * a, DocumentData * doc, QDomElement * e )
{
if ( !a || !e )
diff --git a/qt5/src/poppler-private.h b/qt5/src/poppler-private.h
index 5271517..9b261d3 100644
--- a/qt5/src/poppler-private.h
+++ b/qt5/src/poppler-private.h
@@ -70,6 +70,8 @@
void qt5ErrorFunction(int pos, char *msg, va_list args);
+ Annot::AdditionalActionsType toPopplerAdditionalActionType(Annotation::AdditionalActionType type);
+
class LinkDestinationData
{
public: