diff --git a/doc/index.docbook b/doc/index.docbook
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -1284,6 +1284,21 @@
+
+
+
+
+ Edit
+ Select All Text on Current Page
+
+
+
+ Selects all the text (if the document provides it) of the current page.
+
+
+
+
+
diff --git a/part.h b/part.h
--- a/part.h
+++ b/part.h
@@ -360,6 +360,7 @@
QAction *m_nextBookmark;
QAction *m_copy;
QAction *m_selectAll;
+ QAction *m_selectCurrentPage;
QAction *m_find;
QAction *m_findNext;
QAction *m_findPrev;
diff --git a/part.cpp b/part.cpp
--- a/part.cpp
+++ b/part.cpp
@@ -720,6 +720,7 @@
m_copy = nullptr;
m_selectAll = nullptr;
+ m_selectCurrentPage = nullptr;
// Find and other actions
m_find = KStandardAction::find( this, SLOT(slotShowFindBar()), ac );
@@ -843,6 +844,12 @@
m_selectAll = KStandardAction::selectAll( m_pageView, SLOT(selectAll()), ac );
+ // Setup select all action for the current page
+ m_selectCurrentPage = ac->addAction(QStringLiteral("edit_select_all_current_page"));
+ m_selectCurrentPage->setText(i18n("Select All Text on Current Page"));
+ connect( m_selectCurrentPage, &QAction::triggered, m_pageView, &PageView::slotSelectPage );
+ m_selectCurrentPage->setEnabled( false );
+
m_save = KStandardAction::save( this, [this] { saveFile(); }, ac );
m_save->setEnabled( false );
@@ -2146,6 +2153,7 @@
m_reload->setEnabled( true );
if (m_copy) m_copy->setEnabled( true );
if (m_selectAll) m_selectAll->setEnabled( true );
+ if (m_selectCurrentPage) m_selectCurrentPage->setEnabled( true );
}
else
{
@@ -2159,6 +2167,7 @@
m_reload->setEnabled( false );
if (m_copy) m_copy->setEnabled( false );
if (m_selectAll) m_selectAll->setEnabled( false );
+ if (m_selectCurrentPage) m_selectCurrentPage->setEnabled( false );
}
if ( factory() )
diff --git a/part.rc b/part.rc
--- a/part.rc
+++ b/part.rc
@@ -1,5 +1,5 @@
-
+