]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Merge branch for accessibility
authorAmandeep Singh <aman.dedman@gmail.com>
Sat, 22 Sep 2012 18:18:54 +0000 (23:48 +0530)
committerAmandeep Singh <aman.dedman@gmail.com>
Sat, 22 Sep 2012 18:19:15 +0000 (23:49 +0530)
1  2 
src/CMakeLists.txt
src/kitemviews/kitemlistcontroller.cpp

diff --combined src/CMakeLists.txt
index b7eec5a6580086c45c1925a2826a3ae3f0917006,624b307044a5a56a770190393751e7f5924ede2c..a914051ec6d96808ada4585c569e3b2d46e2df70
@@@ -6,7 -6,7 +6,7 @@@ configure_file(config-nepomuk.h.cmake $
  macro_bool_to_01(X11_Xrender_FOUND HAVE_XRENDER)
  configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h )
  
 -include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
 +include_directories( ${KACTIVITIES_INCLUDE_DIRS} )
  
  if (Nepomuk_FOUND)
    # Yes, Soprano includes is what we need here
@@@ -29,12 -29,13 +29,13 @@@ set(dolphinprivate_LIB_SRC
      kitemviews/kitemlistselectionmanager.cpp
      kitemviews/kitemliststyleoption.cpp
      kitemviews/kitemlistview.cpp
+     kitemviews/kitemlistviewaccessible.cpp
      kitemviews/kitemlistwidget.cpp
      kitemviews/kitemmodelbase.cpp
      kitemviews/kstandarditem.cpp
      kitemviews/kstandarditemlistgroupheader.cpp
-     kitemviews/kstandarditemlistview.cpp
      kitemviews/kstandarditemlistwidget.cpp
+     kitemviews/kstandarditemlistview.cpp
      kitemviews/kstandarditemmodel.cpp
      kitemviews/private/kfileitemclipboard.cpp
      kitemviews/private/kfileitemmodeldirlister.cpp
@@@ -131,13 -132,6 +132,13 @@@ set(dolphinpart_SRC
     dolphinpart.cpp
  )
  
 +# Add dolphinpart_ext.cpp conditionally, only with KDE > 4.9.1.
 +if (${KDE_VERSION} VERSION_GREATER "4.9.1")
 +set(dolphinpart_SRCS
 +    ${dolphinpart_SRCS}
 +    dolphinpart_ext.cpp)
 +endif (${KDE_VERSION} VERSION_GREATER "4.9.1")
 +
  kde4_add_plugin(dolphinpart ${dolphinpart_SRCS})
  
  target_link_libraries(dolphinpart dolphinprivate konq ${KDE4_KPARTS_LIBS} ${KDE4_KFILE_LIBS})
@@@ -241,13 -235,6 +242,13 @@@ if (Nepomuk_FOUND
      )
  endif (Nepomuk_FOUND)
  
 +if (KActivities_FOUND)
 +    target_link_libraries(
 +        kdeinit_dolphin
 +        ${KACTIVITIES_LIBRARY}
 +    )
 +endif (KActivities_FOUND)
 +
  install(TARGETS kdeinit_dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
  install(TARGETS dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
  
index 5a7175e4ccc628617aedbd353c97299c4d645e24,c8e0094b5a1b9b680bf812269f190eafccf21c9f..c16488f9eb448e5563578b9e0b07d8a0e6ce1a35
@@@ -40,6 -40,7 +40,7 @@@
  #include <QGraphicsView>
  #include <QMimeData>
  #include <QTimer>
+ #include <QAccessible>
  
  KItemListController::KItemListController(KItemModelBase* model, KItemListView* view, QObject* parent) :
      QObject(parent),
@@@ -47,8 -48,6 +48,8 @@@
      m_selectionTogglePressed(false),
      m_clearSelectionIfItemsAreNotDragged(false),
      m_selectionBehavior(NoSelection),
 +    m_autoActivationBehavior(ActivationAndExpansion),
 +    m_mouseDoubleClickAction(ActivateItemOnly),
      m_model(0),
      m_view(0),
      m_selectionManager(new KItemListSelectionManager(this)),
@@@ -159,26 -158,6 +160,26 @@@ KItemListController::SelectionBehavior 
      return m_selectionBehavior;
  }
  
 +void KItemListController::setAutoActivationBehavior(AutoActivationBehavior behavior)
 +{
 +    m_autoActivationBehavior = behavior;
 +}
 +
 +KItemListController::AutoActivationBehavior KItemListController::autoActivationBehavior() const
 +{
 +    return m_autoActivationBehavior;
 +}
 +
 +void KItemListController::setMouseDoubleClickAction(MouseDoubleClickAction action)
 +{
 +    m_mouseDoubleClickAction = action;
 +}
 +
 +KItemListController::MouseDoubleClickAction KItemListController::mouseDoubleClickAction() const
 +{
 +    return m_mouseDoubleClickAction;
 +}
 +
  void KItemListController::setAutoActivationDelay(int delay)
  {
      m_autoActivationTimer->setInterval(delay);
@@@ -489,20 -468,11 +490,20 @@@ void KItemListController::slotAutoActiv
          return;
      }
  
 -    if (m_model->supportsDropping(index)) {
 +    /* m_view->isUnderMouse() fixes a bug in the Folder-View-Panel and in the
 +     * Places-Panel.
 +     *
 +     * Bug: When you drag a file onto a Folder-View-Item or a Places-Item and
 +     * then move away before the auto-activation timeout triggers, than the
 +     * item still becomes activated/expanded.
 +     *
 +     * See Bug 293200 and 305783
 +     */
 +    if (m_model->supportsDropping(index) && m_view->isUnderMouse()) {
          if (m_view->supportsItemExpanding() && m_model->isExpandable(index)) {
              const bool expanded = m_model->isExpanded(index);
              m_model->setExpanded(index, !expanded);
 -        } else {
 +        } else if (m_autoActivationBehavior != ExpansionOnly) {
              emit itemActivated(index);
          }
      }
@@@ -775,14 -745,6 +776,14 @@@ bool KItemListController::mouseDoubleCl
      const QPointF pos = transform.map(event->pos());
      const int index = m_view->itemAt(pos);
  
 +    // Expand item if desired - See Bug 295573
 +    if (m_mouseDoubleClickAction != ActivateItemOnly) {
 +        if (m_view && m_model && m_view->supportsItemExpanding() && m_model->isExpandable(index)) {
 +            const bool expanded = m_model->isExpanded(index);
 +            m_model->setExpanded(index, !expanded);
 +        }
 +    }
 +
      bool emitItemActivated = !m_singleClickActivation &&
                               (event->button() & Qt::LeftButton) &&
                               index >= 0 && index < m_model->count();
@@@ -887,6 -849,8 +888,8 @@@ bool KItemListController::dropEvent(QGr
          emit itemDropEvent(m_view->itemAt(pos), event);
      }
  
+     QAccessible::updateAccessibility(view(), 0, QAccessible::DragDropEnd);
      return true;
  }
  
@@@ -1134,6 -1098,7 +1137,7 @@@ void KItemListController::startDragging
      drag->setHotSpot(hotSpot);
  
      drag->exec(Qt::MoveAction | Qt::CopyAction | Qt::LinkAction, Qt::CopyAction);
+     QAccessible::updateAccessibility(view(), 0, QAccessible::DragDropStart);
  }
  
  KItemListWidget* KItemListController::hoveredWidget() const