From kde-commits Thu Jan 21 18:27:08 2010 From: David Faure Date: Thu, 21 Jan 2010 18:27:08 +0000 To: kde-commits Subject: branches/KDE/4.3/kdebase/apps/konqueror/src Message-Id: <1264098428.678266.6684.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=126409843615488 SVN commit 1078191 by dfaure: Backport 1050276: Repair 'right click goes back in history' feature. Fixed for: 4.3.5 CCBUG: 168439 M +1 -0 CMakeLists.txt M +5 -0 konqmainwindow.cpp A konqrmbeventfilter.cpp trunk/KDE/kdebase/apps/konqueror/src/konqrmbeventfilter.cpp#1050276 [License: LGPL (v2/3+eV)] A konqrmbeventfilter.h trunk/KDE/kdebase/apps/konqueror/src/konqrmbeventfilter.h#1050276 [License: LGPL (v2/3+eV)] M +1 -1 konqueror.kcfg M +0 -85 konqview.cpp M +0 -7 konqview.h --- branches/KDE/4.3/kdebase/apps/konqueror/src/CMakeLists.txt #1078190:1078191 @@ -39,6 +39,7 @@ konqrun.cpp konqview.cpp konqviewmanager.cpp + konqrmbeventfilter.cpp konqmisc.cpp konqdraggablelabel.cpp konqframe.cpp --- branches/KDE/4.3/kdebase/apps/konqueror/src/konqmainwindow.cpp #1078190:1078191 @@ -22,6 +22,7 @@ */ #include "konqmainwindow.h" +#include "konqrmbeventfilter.h" #include "konqclosedwindowsmanager.h" #include "konqsessionmanager.h" #include "konqsessiondlg.h" @@ -195,6 +196,8 @@ s_lstViews->append( this ); + KonqRmbEventFilter::self(); // create it + m_pChildFrame = 0; m_pActiveChild = 0; m_pWorkingTab = 0; @@ -4568,6 +4571,7 @@ // ## should use the new currentView->isHierarchicalView() instead? // Would this be correct for the konqlistview tree view? KUrl viewURL = currentView->isToggleView() ? KUrl() : currentView->url(); + kDebug() << "viewURL=" << viewURL; bool openedForViewURL = false; //bool dirsSelected = false; @@ -4806,6 +4810,7 @@ KonqSettings::self()->readConfig(); m_pViewManager->applyConfiguration(); + KonqRmbEventFilter::self()->reparseConfiguration(); m_bHTMLAllowed = KonqSettings::htmlAllowed(); --- branches/KDE/4.3/kdebase/apps/konqueror/src/konqueror.kcfg #1078190:1078191 @@ -285,7 +285,7 @@ - + false --- branches/KDE/4.3/kdebase/apps/konqueror/src/konqview.cpp #1078190:1078191 @@ -98,7 +98,6 @@ m_bGotIconURL = false; m_bPopupMenuEnabled = true; m_browserIface = new KonqBrowserInterface( this ); - m_bBackRightClick = KonqSettings::backRightClick(); m_bFollowActive = false; m_bBuiltinView = false; m_bURLDropHandling = false; @@ -494,22 +493,6 @@ m_pPart->widget()->setAcceptDrops(true); m_pPart->widget()->installEventFilter( this ); - - if (m_bBackRightClick) { - QAbstractScrollArea* scrollArea = ::qobject_cast( m_pPart->widget() ); - if ( scrollArea ) { - scrollArea->viewport()->installEventFilter( this ); - } - } - -#if 0 - // KonqDirPart signal - if ( ::qobject_cast(m_pPart) ) - { - connect( m_pPart, SIGNAL( findOpen( KonqDirPart * ) ), - m_pMainWindow, SLOT( slotFindOpen( KonqDirPart * ) ) ); - } -#endif } void KonqView::slotEnableAction( const char * name, bool enabled ) @@ -1150,36 +1133,11 @@ disconnect( ext, SIGNAL(popupMenu(QPoint,KUrl,mode_t,KParts::OpenUrlArguments,KParts::BrowserArguments,KParts::BrowserExtension::PopupFlags,KParts::BrowserExtension::ActionGroupMap)), m_pMainWindow, SLOT(slotPopupMenu(QPoint,KUrl,mode_t,KParts::OpenUrlArguments,KParts::BrowserArguments,KParts::BrowserExtension::PopupFlags,KParts::BrowserExtension::ActionGroupMap)) ); } - enableBackRightClick( m_bBackRightClick ); } -// caller should ensure that this is called only when b changed, or for new parts -void KonqView::enableBackRightClick( bool b ) -{ - m_bBackRightClick = b; - if ( b ) - connect( this, SIGNAL( backRightClick() ), - m_pMainWindow, SLOT( slotBack() ) ); - else - disconnect( this, SIGNAL( backRightClick() ), - m_pMainWindow, SLOT( slotBack() ) ); -} - void KonqView::reparseConfiguration() { callExtensionMethod( "reparseConfiguration" ); - const bool b = KonqSettings::backRightClick(); - if ( m_bBackRightClick != b ) { - QAbstractScrollArea* scrollArea = ::qobject_cast( m_pPart->widget() ); - if (scrollArea) { - if ( m_bBackRightClick ) { - scrollArea->viewport()->installEventFilter( this ); - } else { - scrollArea->viewport()->removeEventFilter( this ); - } - } - enableBackRightClick( b ); - } } void KonqView::disableScrolling() @@ -1243,49 +1201,6 @@ emit ext->openUrlRequest( lstDragURLs.first() ); // this will call m_pMainWindow::slotOpenURLRequest delayed } - if ( m_bBackRightClick ) - { - if ( e->type() == QEvent::ContextMenu ) - { - QContextMenuEvent *ev = static_cast( e ); - if ( ev->reason() == QContextMenuEvent::Mouse ) - { - return true; - } - } - else if ( e->type() == QEvent::MouseButtonPress ) - { - QMouseEvent *ev = static_cast( e ); - if ( ev->button() == Qt::RightButton ) - { - return true; - } - } - else if ( e->type() == QEvent::MouseButtonRelease ) - { - QMouseEvent *ev = static_cast( e ); - if ( ev->button() == Qt::RightButton ) - { - emit backRightClick(); - return true; - } - } - else if ( e->type() == QEvent::MouseMove ) - { - QMouseEvent *ev = static_cast( e ); - if ( ev->button() == Qt::RightButton ) - { - obj->removeEventFilter( this ); - QMouseEvent me( QEvent::MouseButtonPress, ev->pos(), Qt::RightButton, Qt::RightButton, Qt::NoModifier ); - QApplication::sendEvent( obj, &me ); - QContextMenuEvent ce( QContextMenuEvent::Mouse, ev->pos(), ev->globalPos() ); - QApplication::sendEvent( obj, &ce ); - obj->installEventFilter( this ); - return true; - } - } - } - if ( e->type() == QEvent::FocusIn ) { setActiveComponent(); --- branches/KDE/4.3/kdebase/apps/konqueror/src/konqview.h #1078190:1078191 @@ -384,11 +384,6 @@ */ void viewCompleted( KonqView * view ); - /** - * Emitted only if the option backRightClick is activated - */ - void backRightClick(); - public Q_SLOTS: /** * Store location-bar URL in the child view @@ -433,7 +428,6 @@ void slotRequestFocus(KParts::ReadOnlyPart*); private: - void enableBackRightClick( bool b ); /** * Replace the current view with a new view, created by @p viewFactory. */ @@ -519,7 +513,6 @@ uint m_bPendingRedirection:1; uint m_bBuiltinView:1; uint m_bURLDropHandling:1; - uint m_bBackRightClick:1; uint m_bHierarchicalView:1; uint m_bDisableScrolling:1; KService::List m_partServiceOffers;