diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 3dc7b1f6a..e25d02945 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -287,10 +287,10 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Darwin") macosdockbadge/badger.mm macosdockbadge/badgeview.h macosdockbadge/badgeview.mm - macutilities.h - macutilities.mm macosshiftclickhandler.h macosshiftclickhandler.cpp + macutilities.h + macutilities.mm ) target_link_libraries(qbt_gui PRIVATE objc) endif() diff --git a/src/gui/macosshiftclickhandler.cpp b/src/gui/macosshiftclickhandler.cpp index 3a6287d85..a0d086fb9 100644 --- a/src/gui/macosshiftclickhandler.cpp +++ b/src/gui/macosshiftclickhandler.cpp @@ -42,7 +42,7 @@ bool MacOSShiftClickHandler::eventFilter(QObject *watched, QEvent *event) { if ((watched == m_treeView) && (event->type() == QEvent::MouseButtonPress)) { - auto *mouseEvent = static_cast(event); + const auto *mouseEvent = static_cast(event); if (mouseEvent->button() != Qt::LeftButton) return false; @@ -52,20 +52,20 @@ bool MacOSShiftClickHandler::eventFilter(QObject *watched, QEvent *event) const Qt::KeyboardModifiers modifiers = mouseEvent->modifiers(); const bool shiftPressed = modifiers.testFlag(Qt::ShiftModifier); - const bool commandPressed = modifiers.testFlag(Qt::ControlModifier); - + if (shiftPressed && m_lastClickedIndex.isValid()) { const QItemSelection selection(m_lastClickedIndex, clickedIndex); + const bool commandPressed = modifiers.testFlag(Qt::ControlModifier); if (commandPressed) - m_treeView->selectionModel()->select(selection, QItemSelectionModel::Select | QItemSelectionModel::Rows); + m_treeView->selectionModel()->select(selection, (QItemSelectionModel::Select | QItemSelectionModel::Rows)); else - m_treeView->selectionModel()->select(selection, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows); + m_treeView->selectionModel()->select(selection, (QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows)); m_treeView->selectionModel()->setCurrentIndex(clickedIndex, QItemSelectionModel::NoUpdate); return true; } - if (!(modifiers & (Qt::AltModifier | Qt::MetaModifier))) + if (!modifiers.testFlags(Qt::AltModifier | Qt::MetaModifier)) m_lastClickedIndex = clickedIndex; } diff --git a/src/gui/macosshiftclickhandler.h b/src/gui/macosshiftclickhandler.h index b1020619c..23fa7aabf 100644 --- a/src/gui/macosshiftclickhandler.h +++ b/src/gui/macosshiftclickhandler.h @@ -45,6 +45,6 @@ public: private: bool eventFilter(QObject *watched, QEvent *event) override; - TransferListWidget *m_treeView; + TransferListWidget *m_treeView = nullptr; QPersistentModelIndex m_lastClickedIndex; }; diff --git a/src/gui/transferlistwidget.cpp b/src/gui/transferlistwidget.cpp index 9efb9e54d..cd6b44653 100644 --- a/src/gui/transferlistwidget.cpp +++ b/src/gui/transferlistwidget.cpp @@ -74,8 +74,8 @@ #include "utils.h" #ifdef Q_OS_MACOS -#include "macutilities.h" #include "macosshiftclickhandler.h" +#include "macutilities.h" #endif namespace