X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/9aee5d22513f0367febab54b38b3a7dc58d120bb..a24327cd50ef17b953ecb908d260b73460158107:/src/tests/kitemlistcontrollertest.cpp diff --git a/src/tests/kitemlistcontrollertest.cpp b/src/tests/kitemlistcontrollertest.cpp index e34731fa4..80b88c03e 100644 --- a/src/tests/kitemlistcontrollertest.cpp +++ b/src/tests/kitemlistcontrollertest.cpp @@ -1,21 +1,8 @@ -/*************************************************************************** - * Copyright (C) 2012 by Frank Reininghaus * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2012 Frank Reininghaus + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #include "kitemviews/kitemlistcontainer.h" #include "kitemviews/kfileitemlistview.h" @@ -37,6 +24,7 @@ */ class KItemListControllerTestStyle : public QProxyStyle { + Q_OBJECT public: KItemListControllerTestStyle(QStyle* style) : QProxyStyle(style), @@ -57,7 +45,7 @@ public: int styleHint(StyleHint hint, const QStyleOption* option = nullptr, const QWidget* widget = nullptr, - QStyleHintReturn* returnData = nullptr) const Q_DECL_OVERRIDE + QStyleHintReturn* returnData = nullptr) const override { switch (hint) { case QStyle::SH_ItemView_ActivateItemOnSingleClick: @@ -71,10 +59,10 @@ private: bool m_activateItemOnSingleClick; }; -Q_DECLARE_METATYPE(KFileItemListView::ItemLayout); -Q_DECLARE_METATYPE(Qt::Orientation); -Q_DECLARE_METATYPE(KItemListController::SelectionBehavior); -Q_DECLARE_METATYPE(KItemSet); +Q_DECLARE_METATYPE(KFileItemListView::ItemLayout) +Q_DECLARE_METATYPE(Qt::Orientation) +Q_DECLARE_METATYPE(KItemListController::SelectionBehavior) +Q_DECLARE_METATYPE(KItemSet) class KItemListControllerTest : public QObject { @@ -138,20 +126,20 @@ void KItemListControllerTest::initTestCase() m_testDir->createFiles(files); m_model->loadDirectory(m_testDir->url()); - QSignalSpy spyDirectoryLoadingCompleted(m_model, SIGNAL(directoryLoadingCompleted())); + QSignalSpy spyDirectoryLoadingCompleted(m_model, &KFileItemModel::directoryLoadingCompleted); QVERIFY(spyDirectoryLoadingCompleted.wait()); m_container->show(); - QTest::qWaitForWindowExposed(m_container); + QVERIFY(QTest::qWaitForWindowExposed(m_container)); } void KItemListControllerTest::cleanupTestCase() { delete m_container; - m_container = 0; + m_container = nullptr; delete m_testDir; - m_testDir = 0; + m_testDir = nullptr; } /** Before each test, the current item, selection, and item size are reset to the defaults. */ @@ -196,7 +184,7 @@ struct KeyPress { */ struct ViewState { - ViewState(int current, const KItemSet selection, bool activated = false) : + ViewState(int current, const KItemSet &selection, bool activated = false) : m_current(current), m_selection(selection), m_activated(activated) @@ -209,7 +197,7 @@ struct ViewState { // We have to define a typedef for the pair in order to make the test compile. typedef QPair keyPressViewStatePair; -Q_DECLARE_METATYPE(QList); +Q_DECLARE_METATYPE(QList) /** * This function provides the data for the actual test function @@ -253,7 +241,7 @@ void KItemListControllerTest::testKeyboardNavigation_data() groupingEnabledList.append(true); groupingEnabledNames[true] = "grouping enabled"; - foreach (const KFileItemListView::ItemLayout& layout, layoutList) { + for (const KFileItemListView::ItemLayout& layout : layoutList) { // The following settings depend on the layout. // Note that 'columns' are actually 'rows' in // Compact layout. @@ -291,9 +279,9 @@ void KItemListControllerTest::testKeyboardNavigation_data() break; } - foreach (int columnCount, columnCountList) { - foreach (const KItemListController::SelectionBehavior& selectionBehavior, selectionBehaviorList) { - foreach (bool groupingEnabled, groupingEnabledList) { // krazy:exclude=foreach + for (int columnCount : qAsConst(columnCountList)) { + for (const KItemListController::SelectionBehavior& selectionBehavior : qAsConst(selectionBehaviorList)) { + for (bool groupingEnabled : qAsConst(groupingEnabledList)) { QList > testList; // First, key presses which should have the same effect @@ -325,6 +313,12 @@ void KItemListControllerTest::testKeyboardNavigation_data() << qMakePair(KeyPress(Qt::Key_E), ViewState(13, KItemSet() << 13)) << qMakePair(KeyPress(Qt::Key_Space), ViewState(14, KItemSet() << 14)) << qMakePair(KeyPress(Qt::Key_3), ViewState(15, KItemSet() << 15)) + << qMakePair(KeyPress(Qt::Key_Escape), ViewState(15, KItemSet())) + << qMakePair(KeyPress(Qt::Key_E), ViewState(13, KItemSet() << 13)) + << qMakePair(KeyPress(Qt::Key_E), ViewState(14, KItemSet() << 14)) + << qMakePair(KeyPress(Qt::Key_E), ViewState(15, KItemSet() << 15)) + << qMakePair(KeyPress(Qt::Key_Escape), ViewState(15, KItemSet())) + << qMakePair(KeyPress(Qt::Key_E), ViewState(13, KItemSet() << 13)) << qMakePair(KeyPress(Qt::Key_Home), ViewState(0, KItemSet() << 0)) << qMakePair(KeyPress(Qt::Key_Escape), ViewState(0, KItemSet())); @@ -506,8 +500,8 @@ void KItemListControllerTest::testKeyboardNavigation() adjustGeometryForColumnCount(columnCount); QCOMPARE(m_view->m_layouter->m_columnCount, columnCount); - QSignalSpy spySingleItemActivated(m_controller, SIGNAL(itemActivated(int))); - QSignalSpy spyMultipleItemsActivated(m_controller, SIGNAL(itemsActivated(KItemSet))); + QSignalSpy spySingleItemActivated(m_controller, &KItemListController::itemActivated); + QSignalSpy spyMultipleItemsActivated(m_controller, &KItemListController::itemsActivated); while (!testList.isEmpty()) { const QPair test = testList.takeFirst(); @@ -544,6 +538,7 @@ void KItemListControllerTest::testKeyboardNavigation() } // No items are selected. Therefore, the current item should be activated. // This is handled by falling through to the NoSelection/SingleSelection case. + Q_FALLTHROUGH(); case KItemListController::NoSelection: case KItemListController::SingleSelection: // In NoSelection and SingleSelection mode, the current item should be activated. @@ -583,7 +578,7 @@ void KItemListControllerTest::testMouseClickActivation() mouseReleaseEvent.setButton(Qt::LeftButton); mouseReleaseEvent.setButtons(Qt::NoButton); - QSignalSpy spyItemActivated(m_controller, SIGNAL(itemActivated(int))); + QSignalSpy spyItemActivated(m_controller, &KItemListController::itemActivated); // Default setting: single click activation. m_testStyle->setActivateItemOnSingleClick(true);