Merge remote-tracking branch 'origin/master' into frameworks

Conflicts:
	CMakeLists.txt
This commit is contained in:
Montel Laurent 2014-12-28 10:38:34 +01:00
commit bb02e208d2
2 changed files with 29 additions and 20 deletions

View file

@ -197,7 +197,7 @@ if(LibKScreen_FOUND)
# target_link_libraries(okularcore KF5::LibKScreen)
endif(LibKScreen_FOUND)
set_target_properties(okularcore PROPERTIES VERSION 5.0.0 SOVERSION 5 )
set_target_properties(okularcore PROPERTIES VERSION 6.0.0 SOVERSION 6 )
install(TARGETS okularcore ${INSTALL_TARGETS_DEFAULT_ARGS} )

View file

@ -145,6 +145,7 @@ public:
Okular::Annotation * mouseAnn;
QPoint mouseAnnPos;
int mouseAnnPageNum;
int mouseMode;
// table selection
QList<double> tableSelectionCols;
@ -288,6 +289,7 @@ PageView::PageView( QWidget *parent, Okular::Document *document )
d->mouseTextSelecting = false;
d->mouseOnRect = false;
d->mouseAnn = 0;
d->mouseMode = Okular::Settings::mouseMode();
d->tableDividersGuessed = false;
d->viewportMoveActive = false;
d->lastSourceLocationViewportPageNumber = -1;
@ -1896,7 +1898,9 @@ void PageView::mouseMoveEvent( QMouseEvent * e )
if ( deltaY )
{
d->zoomFactor *= ( 1.0 + ( (double)deltaY / 500.0 ) );
d->blockPixmapsRequest = true;
updateZoom( ZoomRefreshCurrent );
d->blockPixmapsRequest = false;
viewport()->repaint();
}
return;
@ -1915,7 +1919,7 @@ void PageView::mouseMoveEvent( QMouseEvent * e )
bool leftButton = (e->buttons() == Qt::LeftButton);
bool rightButton = (e->buttons() == Qt::RightButton);
switch ( Okular::Settings::mouseMode() )
switch ( d->mouseMode )
{
case Okular::Settings::EnumMouseMode::Browse:
if ( leftButton )
@ -2091,10 +2095,10 @@ void PageView::mousePressEvent( QMouseEvent * e )
rightButton = e->button() == Qt::RightButton;
// Not sure we should erase the selection when clicking with left.
if ( Okular::Settings::mouseMode() != Okular::Settings::EnumMouseMode::TextSelect )
if ( d->mouseMode != Okular::Settings::EnumMouseMode::TextSelect )
textSelectionClear();
switch ( Okular::Settings::mouseMode() )
switch ( d->mouseMode )
{
case Okular::Settings::EnumMouseMode::Browse: // drag start / click / link following
if ( leftButton )
@ -2319,7 +2323,7 @@ void PageView::mouseReleaseEvent( QMouseEvent * e )
bool leftButton = e->button() == Qt::LeftButton;
bool rightButton = e->button() == Qt::RightButton;
switch ( Okular::Settings::mouseMode() )
switch ( d->mouseMode )
{
case Okular::Settings::EnumMouseMode::Browse:{
// return the cursor to its normal state after dragging
@ -3004,7 +3008,7 @@ void PageView::mouseDoubleClickEvent( QMouseEvent * e )
double nX = pageItem->absToPageX(eventPos.x());
double nY = pageItem->absToPageY(eventPos.y());
if ( Okular::Settings::mouseMode() == Okular::Settings::EnumMouseMode::TextSelect ) {
if ( d->mouseMode == Okular::Settings::EnumMouseMode::TextSelect ) {
textSelectionClear();
Okular::RegularAreaRect *wordRect = pageItem->page()->wordAt( Okular::NormalizedPoint( nX, nY ) );
@ -3099,7 +3103,7 @@ void PageView::wheelEvent( QWheelEvent *e )
bool PageView::viewportEvent( QEvent * e )
{
if ( e->type() == QEvent::ToolTip && Okular::Settings::mouseMode() == Okular::Settings::EnumMouseMode::Browse )
if ( e->type() == QEvent::ToolTip && d->mouseMode == Okular::Settings::EnumMouseMode::Browse )
{
QHelpEvent * he = static_cast< QHelpEvent* >( e );
const QPoint eventPos = contentAreaPoint( he->pos() );
@ -3830,15 +3834,15 @@ void PageView::updateCursor( const QPoint &p )
double nY = pageItem->absToPageY(p.y());
// if over a ObjectRect (of type Link) change cursor to hand
if ( Okular::Settings::mouseMode() == Okular::Settings::EnumMouseMode::TextSelect )
if ( d->mouseMode == Okular::Settings::EnumMouseMode::TextSelect )
setCursor( Qt::IBeamCursor );
else if ( Okular::Settings::mouseMode() == Okular::Settings::EnumMouseMode::Magnifier )
else if ( d->mouseMode == Okular::Settings::EnumMouseMode::Magnifier )
setCursor( Qt::CrossCursor );
else if ( Okular::Settings::mouseMode() == Okular::Settings::EnumMouseMode::RectSelect )
else if ( d->mouseMode == Okular::Settings::EnumMouseMode::RectSelect )
setCursor( Qt::CrossCursor );
else if ( d->mouseAnn )
setCursor( Qt::ClosedHandCursor );
else if ( Okular::Settings::mouseMode() == Okular::Settings::EnumMouseMode::Browse )
else if ( d->mouseMode == Okular::Settings::EnumMouseMode::Browse )
{
const Okular::ObjectRect * linkobj = pageItem->page()->objectRect( Okular::ObjectRect::Action, nX, nY, pageItem->uncroppedWidth(), pageItem->uncroppedHeight() );
const Okular::ObjectRect * annotobj = pageItem->page()->objectRect( Okular::ObjectRect::OAnnotation, nX, nY, pageItem->uncroppedWidth(), pageItem->uncroppedHeight() );
@ -4318,8 +4322,7 @@ static void slotRequestPreloadPixmap( Okular::DocumentObserver * observer, const
void PageView::slotRequestVisiblePixmaps( int newValue )
{
// if requests are blocked (because raised by an unwanted event), exit
if ( d->blockPixmapsRequest || d->viewportMoveActive ||
( QApplication::mouseButtons () & Qt::MidButton ) )
if ( d->blockPixmapsRequest || d->viewportMoveActive )
return;
// precalc view limits for intersecting with page coords inside the loop
@ -4644,7 +4647,8 @@ void PageView::slotContinuousToggled( bool on )
void PageView::slotSetMouseNormal()
{
Okular::Settings::setMouseMode( Okular::Settings::EnumMouseMode::Browse );
d->mouseMode = Okular::Settings::EnumMouseMode::Browse;
Okular::Settings::setMouseMode( d->mouseMode );
// hide the messageWindow
d->messageWindow->hide();
// reshow the annotator toolbar if hiding was forced (and if it is not already visible)
@ -4657,7 +4661,8 @@ void PageView::slotSetMouseNormal()
void PageView::slotSetMouseZoom()
{
Okular::Settings::setMouseMode( Okular::Settings::EnumMouseMode::Zoom );
d->mouseMode = Okular::Settings::EnumMouseMode::Zoom;
Okular::Settings::setMouseMode( d->mouseMode );
// change the text in messageWindow (and show it if hidden)
d->messageWindow->display( i18n( "Select zooming area. Right-click to zoom out." ), QString(), PageViewMessage::Info, -1 );
// force hiding of annotator toolbar
@ -4673,7 +4678,8 @@ void PageView::slotSetMouseZoom()
void PageView::slotSetMouseMagnifier()
{
Okular::Settings::setMouseMode( Okular::Settings::EnumMouseMode::Magnifier );
d->mouseMode = Okular::Settings::EnumMouseMode::Magnifier;
Okular::Settings::setMouseMode( d->mouseMode );
d->messageWindow->display( i18n( "Click to see the magnified view." ), QString() );
// force an update of the cursor
@ -4683,7 +4689,8 @@ void PageView::slotSetMouseMagnifier()
void PageView::slotSetMouseSelect()
{
Okular::Settings::setMouseMode( Okular::Settings::EnumMouseMode::RectSelect );
d->mouseMode = Okular::Settings::EnumMouseMode::RectSelect;
Okular::Settings::setMouseMode( d->mouseMode );
// change the text in messageWindow (and show it if hidden)
d->messageWindow->display( i18n( "Draw a rectangle around the text/graphics to copy." ), QString(), PageViewMessage::Info, -1 );
// force hiding of annotator toolbar
@ -4699,7 +4706,8 @@ void PageView::slotSetMouseSelect()
void PageView::slotSetMouseTextSelect()
{
Okular::Settings::setMouseMode( Okular::Settings::EnumMouseMode::TextSelect );
d->mouseMode = Okular::Settings::EnumMouseMode::TextSelect;
Okular::Settings::setMouseMode( d->mouseMode );
// change the text in messageWindow (and show it if hidden)
d->messageWindow->display( i18n( "Select text" ), QString(), PageViewMessage::Info, -1 );
// force hiding of annotator toolbar
@ -4715,7 +4723,8 @@ void PageView::slotSetMouseTextSelect()
void PageView::slotSetMouseTableSelect()
{
Okular::Settings::setMouseMode( Okular::Settings::EnumMouseMode::TableSelect );
d->mouseMode = Okular::Settings::EnumMouseMode::TableSelect;
Okular::Settings::setMouseMode( d->mouseMode );
// change the text in messageWindow (and show it if hidden)
d->messageWindow->display( i18n(
"Draw a rectangle around the table, then click near edges to divide up; press Esc to clear."
@ -4741,7 +4750,7 @@ void PageView::slotToggleAnnotator( bool on )
// the annotator can be used in normal mouse mode only, so if asked for it,
// switch to normal mode
if ( on && Okular::Settings::mouseMode() != Okular::Settings::EnumMouseMode::Browse )
if ( on && d->mouseMode != Okular::Settings::EnumMouseMode::Browse )
d->aMouseNormal->trigger();
// ask for Author's name if not already set