diff --git a/src/dolphincontextmenu.h b/src/dolphincontextmenu.h --- a/src/dolphincontextmenu.h +++ b/src/dolphincontextmenu.h @@ -49,7 +49,7 @@ Q_OBJECT public: - enum Command + enum class Command { None, OpenParentFolder, diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -69,7 +69,7 @@ m_context(NoContext), m_copyToMenu(parent), m_customActions(), - m_command(None), + m_command(Command::None), m_removeAction(nullptr) { // The context menu either accesses the URLs of the selected items @@ -306,11 +306,11 @@ model.createPlacesItem(text, selectedUrl, KIO::iconNameForUrl(selectedUrl)); } } else if (activatedAction == openParentAction) { - m_command = OpenParentFolder; + m_command = Command::OpenParentFolder; } else if (activatedAction == openParentInNewWindowAction) { - m_command = OpenParentFolderInNewWindow; + m_command = Command::OpenParentFolderInNewWindow; } else if (activatedAction == openParentInNewTabAction) { - m_command = OpenParentFolderInNewTab; + m_command = Command::OpenParentFolderInNewTab; } } } diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -797,19 +797,19 @@ const DolphinContextMenu::Command command = contextMenu.data()->open(); switch (command) { - case DolphinContextMenu::OpenParentFolder: + case DolphinContextMenu::Command::OpenParentFolder: changeUrl(KIO::upUrl(item.url())); break; - case DolphinContextMenu::OpenParentFolderInNewWindow: + case DolphinContextMenu::Command::OpenParentFolderInNewWindow: Dolphin::openNewWindow({KIO::upUrl(item.url())}, this); break; - case DolphinContextMenu::OpenParentFolderInNewTab: + case DolphinContextMenu::Command::OpenParentFolderInNewTab: openNewTab(KIO::upUrl(item.url())); break; - case DolphinContextMenu::None: + case DolphinContextMenu::Command::None: default: break; } diff --git a/src/kitemviews/kfileitemlistview.cpp b/src/kitemviews/kfileitemlistview.cpp --- a/src/kitemviews/kfileitemlistview.cpp +++ b/src/kitemviews/kfileitemlistview.cpp @@ -413,7 +413,7 @@ { const KItemListStyleOption& option = styleOption(); const int iconSize = option.iconSize; - if (itemLayout() == IconsLayout) { + if (itemLayout() == ItemLayout::Icons) { const int maxIconWidth = itemSize().width() - 2 * option.padding; return QSize(maxIconWidth, iconSize); } diff --git a/src/kitemviews/kfileitemmodel.h b/src/kitemviews/kfileitemmodel.h --- a/src/kitemviews/kfileitemmodel.h +++ b/src/kitemviews/kfileitemmodel.h @@ -302,7 +302,7 @@ ItemData* parent; }; - enum RemoveItemsBehavior { + enum class RemoveItemsBehavior { KeepItemData, DeleteItemData }; diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -574,7 +574,7 @@ const int childrenCount = childIndex - firstChildIndex; removeFilteredChildren(KItemRangeList() << KItemRange(index, 1 + childrenCount)); - removeItems(KItemRangeList() << KItemRange(firstChildIndex, childrenCount), DeleteItemData); + removeItems(KItemRangeList() << KItemRange(firstChildIndex, childrenCount), RemoveItemsBehavior::DeleteItemData); m_itemData.at(index)->values.insert("previouslyExpandedChildren", expandedChildren); } @@ -710,7 +710,7 @@ } const KItemRangeList removedRanges = KItemRangeList::fromSortedContainer(newFilteredIndexes); - removeItems(removedRanges, KeepItemData); + removeItems(removedRanges, RemoveItemsBehavior::KeepItemData); // Check which hidden items from m_filteredItems should // get visible again and hence removed from m_filteredItems. @@ -1055,7 +1055,7 @@ const KItemRangeList itemRanges = KItemRangeList::fromSortedContainer(indexesToRemove); removeFilteredChildren(itemRanges); - removeItems(itemRanges, DeleteItemData); + removeItems(itemRanges, RemoveItemsBehavior::DeleteItemData); } void KFileItemModel::slotRefreshItems(const QList >& items) @@ -1275,7 +1275,7 @@ removedItemsCount += range.count; for (int index = range.index; index < range.index + range.count; ++index) { - if (behavior == DeleteItemData) { + if (behavior == RemoveItemsBehavior::DeleteItemData) { delete m_itemData.at(index); } @@ -1404,7 +1404,7 @@ } } - removeItems(KItemRangeList::fromSortedContainer(indexesToRemove), DeleteItemData); + removeItems(KItemRangeList::fromSortedContainer(indexesToRemove), RemoveItemsBehavior::DeleteItemData); m_expandedDirs.clear(); // Also remove all filtered items which have a parent. diff --git a/src/kitemviews/kfileitemmodelrolesupdater.h b/src/kitemviews/kfileitemmodelrolesupdater.h --- a/src/kitemviews/kfileitemmodelrolesupdater.h +++ b/src/kitemviews/kfileitemmodelrolesupdater.h @@ -251,7 +251,7 @@ void applySortProgressToModel(); - enum ResolveHint { + enum class ResolveHint { ResolveFast, ResolveAll }; @@ -274,7 +274,7 @@ QList indexesToResolve() const; private: - enum State { + enum class State { Idle, Paused, ResolvingSortRole, diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -63,7 +63,7 @@ KFileItemModelRolesUpdater::KFileItemModelRolesUpdater(KFileItemModel* model, QObject* parent) : QObject(parent), - m_state(Idle), + m_state(State::Idle), m_previewChangedDuringPausing(false), m_iconSizeChangedDuringPausing(false), m_rolesChangedDuringPausing(false), @@ -147,7 +147,7 @@ { if (size != m_iconSize) { m_iconSize = size; - if (m_state == Paused) { + if (m_state == State::Paused) { m_iconSizeChangedDuringPausing = true; } else if (m_previewShown) { // An icon size change requires the regenerating of @@ -234,12 +234,12 @@ void KFileItemModelRolesUpdater::setPaused(bool paused) { - if (paused == (m_state == Paused)) { + if (paused == (m_state == State::Paused)) { return; } if (paused) { - m_state = Paused; + m_state = State::Paused; killPreviewJob(); } else { const bool updatePreviews = (m_iconSizeChangedDuringPausing && m_previewShown) || @@ -254,10 +254,10 @@ m_rolesChangedDuringPausing = false; if (!m_pendingSortRoleItems.isEmpty()) { - m_state = ResolvingSortRole; + m_state = State::ResolvingSortRole; resolveNextSortRole(); } else { - m_state = Idle; + m_state = State::Idle; } startUpdating(); @@ -295,7 +295,7 @@ } #endif - if (m_state == Paused) { + if (m_state == State::Paused) { m_rolesChangedDuringPausing = true; } else { startUpdating(); @@ -310,7 +310,7 @@ bool KFileItemModelRolesUpdater::isPaused() const { - return m_state == Paused; + return m_state == State::Paused; } QStringList KFileItemModelRolesUpdater::enabledPlugins() const @@ -343,9 +343,9 @@ // If there are still items whose sort role is unknown, check if the // asynchronous determination of the sort role is already in progress, // and start it if that is not the case. - if (!m_pendingSortRoleItems.isEmpty() && m_state != ResolvingSortRole) { + if (!m_pendingSortRoleItems.isEmpty() && m_state != State::ResolvingSortRole) { killPreviewJob(); - m_state = ResolvingSortRole; + m_state = State::ResolvingSortRole; resolveNextSortRole(); } } @@ -377,7 +377,7 @@ #endif if (allItemsRemoved) { - m_state = Idle; + m_state = State::Idle; m_finishedItems.clear(); m_pendingSortRoleItems.clear(); @@ -470,19 +470,19 @@ if (!m_pendingSortRoleItems.isEmpty()) { // Trigger the asynchronous determination of the sort role. killPreviewJob(); - m_state = ResolvingSortRole; + m_state = State::ResolvingSortRole; resolveNextSortRole(); } } else { - m_state = Idle; + m_state = State::Idle; m_pendingSortRoleItems.clear(); applySortProgressToModel(); } } void KFileItemModelRolesUpdater::slotGotPreview(const KFileItem& item, const QPixmap& pixmap) { - if (m_state != PreviewJobRunning) { + if (m_state != State::PreviewJobRunning) { return; } @@ -565,7 +565,7 @@ void KFileItemModelRolesUpdater::slotPreviewFailed(const KFileItem& item) { - if (m_state != PreviewJobRunning) { + if (m_state != State::PreviewJobRunning) { return; } @@ -582,20 +582,20 @@ connect(m_model, &KFileItemModel::itemsChanged, this, &KFileItemModelRolesUpdater::slotItemsChanged); - applyResolvedRoles(index, ResolveAll); + applyResolvedRoles(index, ResolveHint::ResolveAll); m_finishedItems.insert(item); } } void KFileItemModelRolesUpdater::slotPreviewJobFinished() { m_previewJob = nullptr; - if (m_state != PreviewJobRunning) { + if (m_state != State::PreviewJobRunning) { return; } - m_state = Idle; + m_state = State::Idle; if (!m_pendingPreviewItems.isEmpty()) { startPreviewJob(); @@ -608,7 +608,7 @@ void KFileItemModelRolesUpdater::resolveNextSortRole() { - if (m_state != ResolvingSortRole) { + if (m_state != State::ResolvingSortRole) { return; } @@ -633,7 +633,7 @@ applySortProgressToModel(); QTimer::singleShot(0, this, &KFileItemModelRolesUpdater::resolveNextSortRole); } else { - m_state = Idle; + m_state = State::Idle; // Prevent that we try to update the items twice. disconnect(m_model, &KFileItemModel::itemsMoved, @@ -647,7 +647,7 @@ void KFileItemModelRolesUpdater::resolveNextPendingRoles() { - if (m_state != ResolvingAllRoles) { + if (m_state != State::ResolvingAllRoles) { return; } @@ -659,16 +659,16 @@ continue; } - applyResolvedRoles(index, ResolveAll); + applyResolvedRoles(index, ResolveHint::ResolveAll); m_finishedItems.insert(item); m_changedItems.remove(item); break; } if (!m_pendingIndexes.isEmpty()) { QTimer::singleShot(0, this, &KFileItemModelRolesUpdater::resolveNextPendingRoles); } else { - m_state = Idle; + m_state = State::Idle; if (m_clearPreviews) { // Only go through the list if there are items which might still have previews. @@ -780,13 +780,13 @@ void KFileItemModelRolesUpdater::startUpdating() { - if (m_state == Paused) { + if (m_state == State::Paused) { return; } if (m_finishedItems.count() == m_model->count()) { // All roles have been resolved already. - m_state = Idle; + m_state = State::Idle; return; } @@ -802,7 +802,7 @@ // A detailed update of the items in and near the visible area // only makes sense if sorting is finished. - if (m_state == ResolvingSortRole) { + if (m_state == State::ResolvingSortRole) { return; } @@ -824,7 +824,7 @@ } else { m_pendingIndexes = indexes; // Trigger the asynchronous resolving of all roles. - m_state = ResolvingAllRoles; + m_state = State::ResolvingAllRoles; QTimer::singleShot(0, this, &KFileItemModelRolesUpdater::resolveNextPendingRoles); } } @@ -847,7 +847,7 @@ // Try to determine the final icons for all visible items. int index; for (index = m_firstVisibleIndex; index <= lastVisibleIndex && timer.elapsed() < MaxBlockTimeout; ++index) { - applyResolvedRoles(index, ResolveFast); + applyResolvedRoles(index, ResolveHint::ResolveFast); } // KFileItemListView::initializeItemListWidget(KItemListWidget*) will load @@ -857,7 +857,7 @@ void KFileItemModelRolesUpdater::startPreviewJob() { - m_state = PreviewJobRunning; + m_state = State::PreviewJobRunning; if (m_pendingPreviewItems.isEmpty()) { QTimer::singleShot(0, this, &KFileItemModelRolesUpdater::slotPreviewJobFinished); @@ -919,7 +919,7 @@ void KFileItemModelRolesUpdater::updateChangedItems() { - if (m_state == Paused) { + if (m_state == State::Paused) { return; } @@ -932,11 +932,11 @@ if (m_resolvableRoles.contains(m_model->sortRole())) { m_pendingSortRoleItems += m_changedItems; - if (m_state != ResolvingSortRole) { + if (m_state != State::ResolvingSortRole) { // Stop the preview job if necessary, and trigger the // asynchronous determination of the sort role. killPreviewJob(); - m_state = ResolvingSortRole; + m_state = State::ResolvingSortRole; QTimer::singleShot(0, this, &KFileItemModelRolesUpdater::resolveNextSortRole); } @@ -980,7 +980,7 @@ m_pendingIndexes = visibleChangedIndexes + m_pendingIndexes + invisibleChangedIndexes; if (!resolvingInProgress) { // Trigger the asynchronous resolving of the changed roles. - m_state = ResolvingAllRoles; + m_state = State::ResolvingAllRoles; QTimer::singleShot(0, this, &KFileItemModelRolesUpdater::resolveNextPendingRoles); } } @@ -1023,7 +1023,7 @@ bool KFileItemModelRolesUpdater::applyResolvedRoles(int index, ResolveHint hint) { const KFileItem item = m_model->fileItem(index); - const bool resolveAll = (hint == ResolveAll); + const bool resolveAll = (hint == ResolveHint::ResolveAll); bool iconChanged = false; if (!item.isMimeTypeKnown() || !item.isFinalIconKnown()) { @@ -1115,7 +1115,7 @@ void KFileItemModelRolesUpdater::updateAllPreviews() { - if (m_state == Paused) { + if (m_state == State::Paused) { m_previewChangedDuringPausing = true; } else { m_finishedItems.clear(); diff --git a/src/kitemviews/kitemlistcontroller.h b/src/kitemviews/kitemlistcontroller.h --- a/src/kitemviews/kitemlistcontroller.h +++ b/src/kitemviews/kitemlistcontroller.h @@ -66,19 +66,19 @@ Q_PROPERTY(MouseDoubleClickAction mouseDoubleClickAction READ mouseDoubleClickAction WRITE setMouseDoubleClickAction) public: - enum SelectionBehavior { + enum class SelectionBehavior { NoSelection, SingleSelection, MultiSelection }; Q_ENUM(SelectionBehavior) - enum AutoActivationBehavior { + enum class AutoActivationBehavior { ActivationAndExpansion, ExpansionOnly }; - enum MouseDoubleClickAction { + enum class MouseDoubleClickAction { ActivateAndExpandItem, ActivateItemOnly }; diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -43,9 +43,9 @@ m_singleClickActivationEnforced(false), m_selectionTogglePressed(false), m_clearSelectionIfItemsAreNotDragged(false), - m_selectionBehavior(NoSelection), - m_autoActivationBehavior(ActivationAndExpansion), - m_mouseDoubleClickAction(ActivateItemOnly), + m_selectionBehavior(SelectionBehavior::NoSelection), + m_autoActivationBehavior(AutoActivationBehavior::ActivationAndExpansion), + m_mouseDoubleClickAction(MouseDoubleClickAction::ActivateItemOnly), m_model(nullptr), m_view(nullptr), m_selectionManager(new KItemListSelectionManager(this)), @@ -258,7 +258,7 @@ } } - const bool selectSingleItem = m_selectionBehavior != NoSelection && + const bool selectSingleItem = m_selectionBehavior != SelectionBehavior::NoSelection && itemCount == 1 && (key == Qt::Key_Home || key == Qt::Key_End || key == Qt::Key_Up || key == Qt::Key_Down || @@ -409,19 +409,19 @@ } case Qt::Key_Escape: - if (m_selectionBehavior != SingleSelection) { + if (m_selectionBehavior != SelectionBehavior::SingleSelection) { m_selectionManager->clearSelection(); } m_keyboardManager->cancelSearch(); emit escapePressed(); break; case Qt::Key_Space: - if (m_selectionBehavior == MultiSelection) { + if (m_selectionBehavior == SelectionBehavior::MultiSelection) { if (controlPressed) { // Toggle the selection state of the current item. m_selectionManager->endAnchoredSelection(); - m_selectionManager->setSelected(index, 1, KItemListSelectionManager::Toggle); + m_selectionManager->setSelected(index, 1, KItemListSelectionManager::SelectionMode::Toggle); m_selectionManager->beginAnchoredSelection(index); break; } else { @@ -444,17 +444,17 @@ if (m_selectionManager->currentItem() != index) { switch (m_selectionBehavior) { - case NoSelection: + case SelectionBehavior::NoSelection: m_selectionManager->setCurrentItem(index); break; - case SingleSelection: + case SelectionBehavior::SingleSelection: m_selectionManager->setCurrentItem(index); m_selectionManager->clearSelection(); m_selectionManager->setSelected(index, 1); break; - case MultiSelection: + case SelectionBehavior::MultiSelection: if (controlPressed) { m_selectionManager->endAnchoredSelection(); } @@ -492,7 +492,7 @@ if (index >= 0) { m_selectionManager->setCurrentItem(index); - if (m_selectionBehavior != NoSelection) { + if (m_selectionBehavior != SelectionBehavior::NoSelection) { m_selectionManager->clearSelection(); m_selectionManager->setSelected(index, 1); m_selectionManager->beginAnchoredSelection(index); @@ -526,7 +526,7 @@ if (m_view->supportsItemExpanding() && m_model->isExpandable(index)) { const bool expanded = m_model->isExpanded(index); m_model->setExpanded(index, !expanded); - } else if (m_autoActivationBehavior != ExpansionOnly) { + } else if (m_autoActivationBehavior != AutoActivationBehavior::ExpansionOnly) { emit itemActivated(index); } } @@ -563,7 +563,7 @@ m_selectionTogglePressed = m_view->isAboveSelectionToggle(m_pressedIndex, m_pressedMousePos); if (m_selectionTogglePressed) { - m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::Toggle); + m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::SelectionMode::Toggle); // The previous anchored selection has been finished already in // KItemListSelectionManager::setSelected(). We can safely change // the current item and start a new anchored selection now. @@ -584,7 +584,7 @@ // - open the context menu and perform an action for all selected items. const bool shiftOrControlPressed = shiftPressed || controlPressed; const bool pressedItemAlreadySelected = m_pressedIndex >= 0 && m_selectionManager->isSelected(m_pressedIndex); - const bool clearSelection = m_selectionBehavior == SingleSelection || + const bool clearSelection = m_selectionBehavior == SelectionBehavior::SingleSelection || (!shiftOrControlPressed && !pressedItemAlreadySelected); if (clearSelection) { m_selectionManager->clearSelection(); @@ -610,20 +610,20 @@ m_selectionManager->setCurrentItem(m_pressedIndex); switch (m_selectionBehavior) { - case NoSelection: + case SelectionBehavior::NoSelection: break; - case SingleSelection: + case SelectionBehavior::SingleSelection: m_selectionManager->setSelected(m_pressedIndex); break; - case MultiSelection: + case SelectionBehavior::MultiSelection: if (controlPressed && !shiftPressed) { - m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::Toggle); + m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::SelectionMode::Toggle); m_selectionManager->beginAnchoredSelection(m_pressedIndex); } else if (!shiftPressed || !m_selectionManager->isAnchoredSelectionActive()) { // Select the pressed item and start a new anchored selection - m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::Select); + m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::SelectionMode::Select); m_selectionManager->beginAnchoredSelection(m_pressedIndex); } break; @@ -650,7 +650,7 @@ return true; } - if (m_selectionBehavior == MultiSelection) { + if (m_selectionBehavior == SelectionBehavior::MultiSelection) { QPointF startPos = m_pressedMousePos; if (m_view->scrollOrientation() == Qt::Vertical) { startPos.ry() += m_view->scrollOffset(); @@ -690,7 +690,7 @@ // Always assure that the dragged item gets selected. Usually this is already // done on the mouse-press event, but when using the selection-toggle on a // selected item the dragged item is not selected yet. - m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::Toggle); + m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::SelectionMode::Toggle); } else { // A selected item has been clicked to drag all selected items // -> the selection should not be cleared when the mouse button is released. @@ -746,7 +746,7 @@ } if (!isAboveSelectionToggle && m_selectionTogglePressed) { - m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::Toggle); + m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::SelectionMode::Toggle); m_selectionTogglePressed = false; return true; } @@ -772,7 +772,7 @@ // A selected item has been clicked, but no drag operation has been started // -> clear the rest of the selection. m_selectionManager->clearSelection(); - m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::Select); + m_selectionManager->setSelected(m_pressedIndex, 1, KItemListSelectionManager::SelectionMode::Select); m_selectionManager->beginAnchoredSelection(m_pressedIndex); } @@ -810,7 +810,7 @@ const int index = m_view->itemAt(pos); // Expand item if desired - See Bug 295573 - if (m_mouseDoubleClickAction != ActivateItemOnly) { + if (m_mouseDoubleClickAction != 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); @@ -1344,7 +1344,7 @@ void KItemListController::updateExtendedSelectionRegion() { if (m_view) { - const bool extend = (m_selectionBehavior != MultiSelection); + const bool extend = (m_selectionBehavior != SelectionBehavior::MultiSelection); KItemListStyleOption option = m_view->styleOption(); if (option.extendedSelectionRegion != extend) { option.extendedSelectionRegion = extend; diff --git a/src/kitemviews/kitemlistheader.cpp b/src/kitemviews/kitemlistheader.cpp --- a/src/kitemviews/kitemlistheader.cpp +++ b/src/kitemviews/kitemlistheader.cpp @@ -31,7 +31,7 @@ m_headerWidget->setAutomaticColumnResizing(automatic); if (automatic) { m_view->applyAutomaticColumnWidths(); - m_view->doLayout(KItemListView::NoAnimation); + m_view->doLayout(KItemListView::LayoutAnimationHint::NoAnimation); } } } @@ -46,7 +46,7 @@ if (!m_headerWidget->automaticColumnResizing()) { m_headerWidget->setColumnWidth(role, width); m_view->applyColumnWidthsFromHeader(); - m_view->doLayout(KItemListView::NoAnimation); + m_view->doLayout(KItemListView::LayoutAnimationHint::NoAnimation); } } @@ -64,7 +64,7 @@ } m_view->applyColumnWidthsFromHeader(); - m_view->doLayout(KItemListView::NoAnimation); + m_view->doLayout(KItemListView::LayoutAnimationHint::NoAnimation); } } diff --git a/src/kitemviews/kitemlistselectionmanager.h b/src/kitemviews/kitemlistselectionmanager.h --- a/src/kitemviews/kitemlistselectionmanager.h +++ b/src/kitemviews/kitemlistselectionmanager.h @@ -38,13 +38,13 @@ { Q_OBJECT - enum RangesRemovingBehaviour { + enum class RangesRemovingBehaviour { DiscardRemovedIndex, AdjustRemovedIndex }; public: - enum SelectionMode { + enum class SelectionMode { Select, Deselect, Toggle @@ -61,7 +61,7 @@ bool isSelected(int index) const; bool hasSelection() const; - void setSelected(int index, int count = 1, SelectionMode mode = Select); + void setSelected(int index, int count = 1, SelectionMode mode = SelectionMode::Select); void clearSelection(); void beginAnchoredSelection(int anchor); diff --git a/src/kitemviews/kitemlistselectionmanager.cpp b/src/kitemviews/kitemlistselectionmanager.cpp --- a/src/kitemviews/kitemlistselectionmanager.cpp +++ b/src/kitemviews/kitemlistselectionmanager.cpp @@ -130,19 +130,19 @@ const int endIndex = index + count -1; switch (mode) { - case Select: + case SelectionMode::Select: for (int i = index; i <= endIndex; ++i) { m_selectedItems.insert(i); } break; - case Deselect: + case SelectionMode::Deselect: for (int i = index; i <= endIndex; ++i) { m_selectedItems.remove(i); } break; - case Toggle: + case SelectionMode::Toggle: for (int i = index; i <= endIndex; ++i) { if (m_selectedItems.contains(i)) { m_selectedItems.remove(i); @@ -282,20 +282,20 @@ const int previousCurrent = m_currentItem; // Update the current item - m_currentItem = indexAfterRangesRemoving(m_currentItem, itemRanges, DiscardRemovedIndex); + m_currentItem = indexAfterRangesRemoving(m_currentItem, itemRanges, RangesRemovingBehaviour::DiscardRemovedIndex); if (m_currentItem != previousCurrent) { emit currentChanged(m_currentItem, previousCurrent); if (m_currentItem < 0) { // Calling setCurrentItem() would trigger the selectionChanged signal, but we want to // emit it only once in this function -> change the current item manually and emit currentChanged - m_currentItem = indexAfterRangesRemoving(previousCurrent, itemRanges, AdjustRemovedIndex); + m_currentItem = indexAfterRangesRemoving(previousCurrent, itemRanges, RangesRemovingBehaviour::AdjustRemovedIndex); emit currentChanged(m_currentItem, -1); } } // Update the anchor item if (m_anchorItem >= 0) { - m_anchorItem = indexAfterRangesRemoving(m_anchorItem, itemRanges, DiscardRemovedIndex); + m_anchorItem = indexAfterRangesRemoving(m_anchorItem, itemRanges, RangesRemovingBehaviour::DiscardRemovedIndex); if (m_anchorItem < 0) { m_isAnchoredSelectionActive = false; } @@ -307,7 +307,7 @@ m_selectedItems.clear(); for (int oldIndex : previous) { - const int index = indexAfterRangesRemoving(oldIndex, itemRanges, DiscardRemovedIndex); + const int index = indexAfterRangesRemoving(oldIndex, itemRanges, RangesRemovingBehaviour::DiscardRemovedIndex); if (index >= 0) { m_selectedItems.insert(index); } @@ -382,7 +382,7 @@ const int firstIndexAfterRange = itemRange.index + itemRange.count; if (index < firstIndexAfterRange) { // The index is part of the removed range - if (behaviour == DiscardRemovedIndex) { + if (behaviour == RangesRemovingBehaviour::DiscardRemovedIndex) { return -1; } else { // Use the first item after the range as new index diff --git a/src/kitemviews/kitemlistview.h b/src/kitemviews/kitemlistview.h --- a/src/kitemviews/kitemlistview.h +++ b/src/kitemviews/kitemlistview.h @@ -454,13 +454,13 @@ void slotRoleEditingFinished(int index, const QByteArray& role, const QVariant& value); private: - enum LayoutAnimationHint + enum class LayoutAnimationHint { NoAnimation, Animation }; - enum SizeType + enum class SizeType { LayouterSize, ItemSize diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -73,7 +73,7 @@ m_supportsItemExpanding(false), m_editingRole(false), m_activeTransactions(0), - m_endTransactionAnimationHint(Animation), + m_endTransactionAnimationHint(LayoutAnimationHint::Animation), m_itemSize(), m_controller(nullptr), m_model(nullptr), @@ -162,7 +162,7 @@ // Don't check whether the m_layoutTimer is active: Changing the // scroll offset must always trigger a synchronous layout, otherwise // the smooth-scrolling might get jerky. - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); onScrollOffsetChanged(offset, previousOffset); } @@ -190,7 +190,7 @@ // Don't check whether the m_layoutTimer is active: Changing the // item offset must always trigger a synchronous layout, otherwise // the smooth-scrolling might get jerky. - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); } qreal KItemListView::itemOffset() const @@ -248,7 +248,7 @@ } } - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); } QList KItemListView::visibleRoles() const @@ -368,7 +368,7 @@ // Triggering a synchronous layout is fine from a performance point of view, // as with dynamic item sizes no moving animation must be done. m_layouter->setSize(newSize); - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); } else { const bool animate = !changesItemGridLayout(newSize, m_layouter->itemSize(), @@ -384,7 +384,7 @@ } } else { m_layoutTimer->stop(); - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); } } } @@ -558,7 +558,7 @@ if (m_activeTransactions == 0) { onTransactionEnd(); doLayout(m_endTransactionAnimationHint); - m_endTransactionAnimationHint = Animation; + m_endTransactionAnimationHint = LayoutAnimationHint::Animation; } } @@ -746,7 +746,7 @@ } m_sizeHintResolver->clearCache(); - doLayout(animate ? Animation : NoAnimation); + doLayout(animate ? LayoutAnimationHint::Animation : LayoutAnimationHint::NoAnimation); onItemSizeChanged(size, previousSize); } @@ -786,7 +786,7 @@ m_sizeHintResolver->clearCache(); m_layouter->markAsDirty(); - doLayout(animate ? Animation : NoAnimation); + doLayout(animate ? LayoutAnimationHint::Animation : LayoutAnimationHint::NoAnimation); if (m_itemSize.isEmpty()) { updatePreferredColumnWidths(); @@ -816,7 +816,7 @@ } - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); onScrollOrientationChanged(orientation, previousOrientation); emit scrollOrientationChanged(orientation, previousOrientation); @@ -1076,7 +1076,7 @@ } if (!hasMultipleRanges) { - doLayout(animateChangedItemCount(count) ? Animation : NoAnimation, index, count); + doLayout(animateChangedItemCount(count) ? LayoutAnimationHint::Animation : LayoutAnimationHint::NoAnimation, index, count); updateSiblingsInformation(); } } @@ -1086,7 +1086,7 @@ } if (hasMultipleRanges) { - m_endTransactionAnimationHint = NoAnimation; + m_endTransactionAnimationHint = LayoutAnimationHint::NoAnimation; endTransaction(); updateSiblingsInformation(); @@ -1192,7 +1192,7 @@ // geometry update if necessary. const int activeTransactions = m_activeTransactions; m_activeTransactions = 0; - doLayout(animateChangedItemCount(count) ? Animation : NoAnimation, index, -count); + doLayout(animateChangedItemCount(count) ? LayoutAnimationHint::Animation : LayoutAnimationHint::NoAnimation, index, -count); m_activeTransactions = activeTransactions; updateSiblingsInformation(); } @@ -1203,7 +1203,7 @@ } if (hasMultipleRanges) { - m_endTransactionAnimationHint = NoAnimation; + m_endTransactionAnimationHint = LayoutAnimationHint::NoAnimation; endTransaction(); updateSiblingsInformation(); } @@ -1239,7 +1239,7 @@ } } - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); updateSiblingsInformation(); } @@ -1277,7 +1277,7 @@ // The sort-role has been changed which might result // in modified group headers updateVisibleGroupHeaders(); - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); } QAccessibleTableModelChangeEvent ev(this, QAccessibleTableModelChangeEvent::DataChanged); @@ -1290,7 +1290,7 @@ void KItemListView::slotGroupsChanged() { updateVisibleGroupHeaders(); - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); updateSiblingsInformation(); } @@ -1320,16 +1320,16 @@ updateAlternateBackgrounds(); } updateSiblingsInformation(); - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); } void KItemListView::slotSortOrderChanged(Qt::SortOrder current, Qt::SortOrder previous) { Q_UNUSED(current); Q_UNUSED(previous); if (m_grouped) { updateVisibleGroupHeaders(); - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); } } @@ -1339,7 +1339,7 @@ Q_UNUSED(previous); if (m_grouped) { updateVisibleGroupHeaders(); - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); } } @@ -1349,7 +1349,7 @@ // In SingleSelection mode (e.g., in the Places Panel), the current item is // always the selected item. It is not necessary to highlight the current item then. - if (m_controller->selectionBehavior() != KItemListController::SingleSelection) { + if (m_controller->selectionBehavior() != KItemListController::SelectionBehavior::SingleSelection) { KItemListWidget* previousWidget = m_visibleItems.value(previous, 0); if (previousWidget) { previousWidget->setCurrent(false); @@ -1419,7 +1419,7 @@ void KItemListView::slotLayoutTimerFinished() { m_layouter->setSize(geometry().size()); - doLayout(Animation); + doLayout(LayoutAnimationHint::Animation); } void KItemListView::slotRubberBandPosChanged() @@ -1452,7 +1452,7 @@ m_headerWidget->setAutomaticColumnResizing(false); applyColumnWidthsFromHeader(); - doLayout(NoAnimation); + doLayout(LayoutAnimationHint::NoAnimation); } void KItemListView::slotHeaderColumnMoved(const QByteArray& role, @@ -1650,10 +1650,10 @@ } if (m_activeTransactions > 0) { - if (hint == NoAnimation) { + if (hint == LayoutAnimationHint::NoAnimation) { // As soon as at least one property change should be done without animation, // the whole transaction will be marked as not animated. - m_endTransactionAnimationHint = NoAnimation; + m_endTransactionAnimationHint = LayoutAnimationHint::NoAnimation; } return; } @@ -1689,7 +1689,7 @@ // Assure that for each visible item a KItemListWidget is available. KItemListWidget // instances from invisible items are reused. If no reusable items are // found then new KItemListWidget instances get created. - const bool animate = (hint == Animation); + const bool animate = (hint == LayoutAnimationHint::Animation); for (int i = firstVisibleIndex; i <= lastVisibleIndex; ++i) { bool applyNewPos = true; bool wasHidden = false; @@ -1848,7 +1848,7 @@ if (invisible) { if (m_animation->isStarted(widget)) { - if (hint == NoAnimation) { + if (hint == LayoutAnimationHint::NoAnimation) { // Stopping the animation will call KItemListView::slotAnimationFinished() // and the widget will be recycled if necessary there. m_animation->stop(widget); @@ -1987,8 +1987,8 @@ void KItemListView::setLayouterSize(const QSizeF& size, SizeType sizeType) { switch (sizeType) { - case LayouterSize: m_layouter->setSize(size); break; - case ItemSize: m_layouter->setItemSize(size); break; + case SizeType::LayouterSize: m_layouter->setSize(size); break; + case SizeType::ItemSize: m_layouter->setItemSize(size); break; default: break; } } @@ -2003,7 +2003,7 @@ // In SingleSelection mode (e.g., in the Places Panel), the current item is // always the selected item. It is not necessary to highlight the current item then. - if (m_controller->selectionBehavior() != KItemListController::SingleSelection) { + if (m_controller->selectionBehavior() != KItemListController::SelectionBehavior::SingleSelection) { widget->setCurrent(index == selectionManager->currentItem()); } widget->setSelected(selectionManager->isSelected(index)); diff --git a/src/kitemviews/kitemlistviewaccessible.cpp b/src/kitemviews/kitemlistviewaccessible.cpp --- a/src/kitemviews/kitemlistviewaccessible.cpp +++ b/src/kitemviews/kitemlistviewaccessible.cpp @@ -341,7 +341,7 @@ state.focused = true; } - if (m_view->controller()->selectionBehavior() == KItemListController::MultiSelection) { + if (m_view->controller()->selectionBehavior() == KItemListController::SelectionBehavior::MultiSelection) { state.multiSelectable = true; } diff --git a/src/kitemviews/kstandarditemlistview.h b/src/kitemviews/kstandarditemlistview.h --- a/src/kitemviews/kstandarditemlistview.h +++ b/src/kitemviews/kstandarditemlistview.h @@ -44,11 +44,11 @@ Q_OBJECT public: - enum ItemLayout + enum class ItemLayout { - IconsLayout, - CompactLayout, - DetailsLayout + Icons, + Compact, + Details }; explicit KStandardItemListView(QGraphicsWidget* parent = nullptr); diff --git a/src/kitemviews/kstandarditemlistview.cpp b/src/kitemviews/kstandarditemlistview.cpp --- a/src/kitemviews/kstandarditemlistview.cpp +++ b/src/kitemviews/kstandarditemlistview.cpp @@ -25,7 +25,7 @@ KStandardItemListView::KStandardItemListView(QGraphicsWidget* parent) : KItemListView(parent), - m_itemLayout(DetailsLayout) + m_itemLayout(ItemLayout::Details) { setAcceptDrops(true); setScrollOrientation(Qt::Vertical); @@ -48,7 +48,7 @@ m_itemLayout = layout; setSupportsItemExpanding(itemLayoutSupportsItemExpanding(layout)); - setScrollOrientation(layout == CompactLayout ? Qt::Horizontal : Qt::Vertical); + setScrollOrientation(layout == ItemLayout::Compact ? Qt::Horizontal : Qt::Vertical); onItemLayoutChanged(layout, previous); @@ -76,9 +76,9 @@ Q_ASSERT(standardItemListWidget); switch (itemLayout()) { - case IconsLayout: standardItemListWidget->setLayout(KStandardItemListWidget::IconsLayout); break; - case CompactLayout: standardItemListWidget->setLayout(KStandardItemListWidget::CompactLayout); break; - case DetailsLayout: standardItemListWidget->setLayout(KStandardItemListWidget::DetailsLayout); break; + case ItemLayout::Icons: standardItemListWidget->setLayout(KStandardItemListWidget::Layout::Icons); break; + case ItemLayout::Compact: standardItemListWidget->setLayout(KStandardItemListWidget::Layout::Compact); break; + case ItemLayout::Details: standardItemListWidget->setLayout(KStandardItemListWidget::Layout::Details); break; default: Q_ASSERT(false); break; } @@ -103,7 +103,7 @@ bool KStandardItemListView::itemLayoutSupportsItemExpanding(ItemLayout layout) const { - return layout == DetailsLayout; + return layout == ItemLayout::Details; } void KStandardItemListView::onItemLayoutChanged(ItemLayout current, ItemLayout previous) @@ -130,9 +130,9 @@ void KStandardItemListView::polishEvent() { switch (m_itemLayout) { - case IconsLayout: applyDefaultStyleOption(style()->pixelMetric(QStyle::PM_LargeIconSize), 2, 4, 8); break; - case CompactLayout: applyDefaultStyleOption(style()->pixelMetric(QStyle::PM_SmallIconSize), 2, 8, 0); break; - case DetailsLayout: applyDefaultStyleOption(style()->pixelMetric(QStyle::PM_SmallIconSize), 2, 0, 0); break; + case ItemLayout::Icons: applyDefaultStyleOption(style()->pixelMetric(QStyle::PM_LargeIconSize), 2, 4, 8); break; + case ItemLayout::Compact: applyDefaultStyleOption(style()->pixelMetric(QStyle::PM_SmallIconSize), 2, 8, 0); break; + case ItemLayout::Details: applyDefaultStyleOption(style()->pixelMetric(QStyle::PM_SmallIconSize), 2, 0, 0); break; default: Q_ASSERT(false); break; } diff --git a/src/kitemviews/kstandarditemlistwidget.h b/src/kitemviews/kstandarditemlistwidget.h --- a/src/kitemviews/kstandarditemlistwidget.h +++ b/src/kitemviews/kstandarditemlistwidget.h @@ -87,11 +87,11 @@ Q_OBJECT public: - enum Layout + enum class Layout { - IconsLayout, - CompactLayout, - DetailsLayout + Icons, + Compact, + Details }; KStandardItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent); diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@ -51,15 +51,15 @@ void KStandardItemListWidgetInformant::calculateItemSizeHints(QVector& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const { switch (static_cast(view)->itemLayout()) { - case KStandardItemListWidget::IconsLayout: + case KStandardItemListView::ItemLayout::Icons: calculateIconsLayoutItemSizeHints(logicalHeightHints, logicalWidthHint, view); break; - case KStandardItemListWidget::CompactLayout: + case KStandardItemListView::ItemLayout::Compact: calculateCompactLayoutItemSizeHints(logicalHeightHints, logicalWidthHint, view); break; - case KStandardItemListWidget::DetailsLayout: + case KStandardItemListView::ItemLayout::Details: calculateDetailsLayoutItemSizeHints(logicalHeightHints, logicalWidthHint, view); break; @@ -254,7 +254,7 @@ m_dirtyLayout(true), m_dirtyContent(true), m_dirtyContentRoles(), - m_layout(IconsLayout), + m_layout(Layout::Icons), m_pixmapPos(), m_pixmap(), m_scaledPixmapSize(), @@ -460,16 +460,16 @@ const_cast(this)->triggerCacheRefreshing(); switch (m_layout) { - case CompactLayout: { + case Layout::Compact: { QRectF rect = m_textRect; const TextInfo* topText = m_textInfo.value(m_sortedVisibleRoles.first()); const TextInfo* bottomText = m_textInfo.value(m_sortedVisibleRoles.last()); rect.setTop(topText->pos.y()); rect.setBottom(bottomText->pos.y() + bottomText->staticText.size().height()); return rect; } - case DetailsLayout: { + case Layout::Details: { QRectF rect = m_textRect; const TextInfo* textInfo = m_textInfo.value(m_sortedVisibleRoles.first()); rect.setTop(textInfo->pos.y()); @@ -496,11 +496,11 @@ const_cast(this)->triggerCacheRefreshing(); switch (m_layout) { - case IconsLayout: + case Layout::Icons: return m_textRect; - case CompactLayout: - case DetailsLayout: { + case Layout::Compact: + case Layout::Details: { const int padding = styleOption().padding; QRectF adjustedIconRect = iconRect().adjusted(-padding, -padding, padding, padding); return adjustedIconRect | m_textRect; @@ -561,7 +561,7 @@ QWidget* widget) { QPixmap pixmap = KItemListWidget::createDragPixmap(option, widget); - if (m_layout != DetailsLayout) { + if (m_layout != Layout::Details) { return pixmap; } @@ -938,7 +938,7 @@ // the remaining height when the alignment is vertical. const QSizeF widgetSize = size(); - const bool iconOnTop = (m_layout == IconsLayout); + const bool iconOnTop = (m_layout == Layout::Icons); const KItemListStyleOption& option = styleOption(); const qreal padding = option.padding; @@ -983,7 +983,7 @@ KIconEffect::semiTransparent(m_pixmap); } - if (m_layout == IconsLayout && isSelected()) { + if (m_layout == Layout::Icons && isSelected()) { const QColor color = palette().brush(QPalette::Normal, QPalette::Highlight).color(); QImage image = m_pixmap.toImage(); KIconEffect::colorize(image, color, 0.8f); @@ -1001,7 +1001,7 @@ const TextInfo* textInfo = m_textInfo.value("text"); scaledIconSize = static_cast(textInfo->pos.y() - 2 * padding); } else { - const int textRowsCount = (m_layout == CompactLayout) ? visibleRoles().count() : 1; + const int textRowsCount = (m_layout == Layout::Compact) ? visibleRoles().count() : 1; const qreal requiredTextHeight = textRowsCount * m_customizedFontMetrics.height(); scaledIconSize = (requiredTextHeight < maxIconHeight) ? widgetSize.height() - 2 * padding : maxIconHeight; @@ -1048,12 +1048,12 @@ { QTextOption textOption; switch (m_layout) { - case IconsLayout: + case Layout::Icons: textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); textOption.setAlignment(Qt::AlignHCenter); break; - case CompactLayout: - case DetailsLayout: + case Layout::Compact: + case Layout::Details: textOption.setAlignment(Qt::AlignLeft); textOption.setWrapMode(QTextOption::NoWrap); break; @@ -1073,9 +1073,9 @@ } switch (m_layout) { - case IconsLayout: updateIconsLayoutTextCache(); break; - case CompactLayout: updateCompactLayoutTextCache(); break; - case DetailsLayout: updateDetailsLayoutTextCache(); break; + case Layout::Icons: updateIconsLayoutTextCache(); break; + case Layout::Compact: updateCompactLayoutTextCache(); break; + case Layout::Details: updateDetailsLayoutTextCache(); break; default: Q_ASSERT(false); break; } @@ -1086,7 +1086,7 @@ const KItemListStyleOption& option = styleOption(); QSizeF ratingSize = preferredRatingSize(option); - const qreal availableWidth = (m_layout == DetailsLayout) + const qreal availableWidth = (m_layout == Layout::Details) ? columnWidth("rating") - columnPadding(option) : size().width(); if (ratingSize.width() > availableWidth) { @@ -1350,7 +1350,7 @@ QColor c1; if (m_customTextColor.isValid()) { c1 = m_customTextColor; - } else if (isSelected() && m_layout != DetailsLayout) { + } else if (isSelected() && m_layout != Layout::Details) { c1 = styleOption().palette.highlightedText().color(); } else { c1 = styleOption().palette.text().color(); @@ -1424,7 +1424,7 @@ } QRectF rect(textInfo->pos, textInfo->staticText.size()); - if (m_layout == DetailsLayout) { + if (m_layout == Layout::Details) { rect.setWidth(columnWidth(role) - rect.x()); } diff --git a/src/kitemviews/private/kdirectorycontentscounter.cpp b/src/kitemviews/private/kdirectorycontentscounter.cpp --- a/src/kitemviews/private/kdirectorycontentscounter.cpp +++ b/src/kitemviews/private/kdirectorycontentscounter.cpp @@ -93,11 +93,11 @@ KDirectoryContentsCounterWorker::Options options; if (m_model->showHiddenFiles()) { - options |= KDirectoryContentsCounterWorker::CountHiddenFiles; + options |= KDirectoryContentsCounterWorker::Option::CountHiddenFiles; } if (m_model->showDirectoriesOnly()) { - options |= KDirectoryContentsCounterWorker::CountDirectoriesOnly; + options |= KDirectoryContentsCounterWorker::Option::CountDirectoriesOnly; } return KDirectoryContentsCounterWorker::subItemsCount(path, options); @@ -167,11 +167,11 @@ KDirectoryContentsCounterWorker::Options options; if (m_model->showHiddenFiles()) { - options |= KDirectoryContentsCounterWorker::CountHiddenFiles; + options |= KDirectoryContentsCounterWorker::Option::CountHiddenFiles; } if (m_model->showDirectoriesOnly()) { - options |= KDirectoryContentsCounterWorker::CountDirectoriesOnly; + options |= KDirectoryContentsCounterWorker::Option::CountDirectoriesOnly; } emit requestDirectoryContentsCount(path, options); diff --git a/src/kitemviews/private/kdirectorycontentscounterworker.h b/src/kitemviews/private/kdirectorycontentscounterworker.h --- a/src/kitemviews/private/kdirectorycontentscounterworker.h +++ b/src/kitemviews/private/kdirectorycontentscounterworker.h @@ -30,7 +30,7 @@ Q_OBJECT public: - enum Option { + enum class Option { NoOptions = 0x0, CountHiddenFiles = 0x1, CountDirectoriesOnly = 0x2 diff --git a/src/kitemviews/private/kdirectorycontentscounterworker.cpp b/src/kitemviews/private/kdirectorycontentscounterworker.cpp --- a/src/kitemviews/private/kdirectorycontentscounterworker.cpp +++ b/src/kitemviews/private/kdirectorycontentscounterworker.cpp @@ -36,8 +36,8 @@ int KDirectoryContentsCounterWorker::subItemsCount(const QString& path, Options options) { - const bool countHiddenFiles = options & CountHiddenFiles; - const bool countDirectoriesOnly = options & CountDirectoriesOnly; + const bool countHiddenFiles = options & Option::CountHiddenFiles; + const bool countDirectoriesOnly = options & Option::CountDirectoriesOnly; #ifdef Q_OS_WIN QDir dir(path); diff --git a/src/kitemviews/private/kitemlistheaderwidget.h b/src/kitemviews/private/kitemlistheaderwidget.h --- a/src/kitemviews/private/kitemlistheaderwidget.h +++ b/src/kitemviews/private/kitemlistheaderwidget.h @@ -147,11 +147,11 @@ qreal roleXPosition(const QByteArray& role) const; private: - enum RoleOperation + enum class RoleOperation { NoRoleOperation, - ResizeRoleOperation, - MoveRoleOperation + Resize, + Move }; bool m_automaticColumnResizing; diff --git a/src/kitemviews/private/kitemlistheaderwidget.cpp b/src/kitemviews/private/kitemlistheaderwidget.cpp --- a/src/kitemviews/private/kitemlistheaderwidget.cpp +++ b/src/kitemviews/private/kitemlistheaderwidget.cpp @@ -36,7 +36,7 @@ m_preferredColumnWidths(), m_hoveredRoleIndex(-1), m_pressedRoleIndex(-1), - m_roleOperation(NoRoleOperation), + m_roleOperation(RoleOperation::NoRoleOperation), m_pressedMousePos(), m_movingRole() { @@ -178,7 +178,7 @@ } if (!m_movingRole.pixmap.isNull()) { - Q_ASSERT(m_roleOperation == MoveRoleOperation); + Q_ASSERT(m_roleOperation == RoleOperation::Move); painter->drawPixmap(m_movingRole.x, 0, m_movingRole.pixmap); } } @@ -189,7 +189,7 @@ updatePressedRoleIndex(event->pos()); m_pressedMousePos = event->pos(); m_roleOperation = isAboveRoleGrip(m_pressedMousePos, m_pressedRoleIndex) ? - ResizeRoleOperation : NoRoleOperation; + RoleOperation::Resize : RoleOperation::NoRoleOperation; event->accept(); } else { event->ignore(); @@ -205,7 +205,7 @@ } switch (m_roleOperation) { - case NoRoleOperation: { + case RoleOperation::NoRoleOperation: { // Only a click has been done and no moving or resizing has been started const QByteArray sortRole = m_model->sortRole(); const int sortRoleIndex = m_columns.indexOf(sortRole); @@ -231,14 +231,14 @@ break; } - case ResizeRoleOperation: { + case RoleOperation::Resize: { const QByteArray pressedRole = m_columns[m_pressedRoleIndex]; const qreal currentWidth = m_columnWidths.value(pressedRole); emit columnWidthChangeFinished(pressedRole, currentWidth); break; } - case MoveRoleOperation: + case RoleOperation::Move: m_movingRole.pixmap = QPixmap(); m_movingRole.x = 0; m_movingRole.xDec = 0; @@ -250,7 +250,7 @@ } m_pressedRoleIndex = -1; - m_roleOperation = NoRoleOperation; + m_roleOperation = RoleOperation::NoRoleOperation; update(); QApplication::restoreOverrideCursor(); @@ -261,11 +261,11 @@ QGraphicsWidget::mouseMoveEvent(event); switch (m_roleOperation) { - case NoRoleOperation: + case RoleOperation::NoRoleOperation: if ((event->pos() - m_pressedMousePos).manhattanLength() >= QApplication::startDragDistance()) { // A role gets dragged by the user. Create a pixmap of the role that will get // synchronized on each furter mouse-move-event with the mouse-position. - m_roleOperation = MoveRoleOperation; + m_roleOperation = RoleOperation::Move; const int roleIndex = roleIndexAt(m_pressedMousePos); m_movingRole.index = roleIndex; if (roleIndex == 0) { @@ -289,7 +289,7 @@ } break; - case ResizeRoleOperation: { + case RoleOperation::Resize: { const QByteArray pressedRole = m_columns[m_pressedRoleIndex]; qreal previousWidth = m_columnWidths.value(pressedRole); @@ -304,7 +304,7 @@ break; } - case MoveRoleOperation: { + case RoleOperation::Move: { // TODO: It should be configurable whether moving the first role is allowed. // In the context of Dolphin this is not required, however this should be // changed if KItemViews are used in a more generic way. diff --git a/src/kitemviews/private/kitemlistviewanimation.cpp b/src/kitemviews/private/kitemlistviewanimation.cpp --- a/src/kitemviews/private/kitemlistviewanimation.cpp +++ b/src/kitemviews/private/kitemlistviewanimation.cpp @@ -75,7 +75,7 @@ currentPos.rx() += diff; } - if (type == MovingAnimation) { + if (AnimationType(type) == MovingAnimation) { // Stop the animation, calculate the moved start- and end-value // and restart the animation for the remaining duration. const int remainingDuration = propertyAnim->duration() @@ -177,10 +177,10 @@ propertyAnim->stop(); switch (type) { - case MovingAnimation: break; - case CreateAnimation: widget->setOpacity(1.0); break; - case DeleteAnimation: widget->setOpacity(0.0); break; - case ResizeAnimation: break; + case AnimationType::MovingAnimation: break; + case AnimationType::CreateAnimation: widget->setOpacity(1.0); break; + case AnimationType::DeleteAnimation: widget->setOpacity(0.0); break; + case AnimationType::ResizeAnimation: break; default: break; } diff --git a/src/panels/folders/folderspanel.h b/src/panels/folders/folderspanel.h --- a/src/panels/folders/folderspanel.h +++ b/src/panels/folders/folderspanel.h @@ -89,7 +89,7 @@ /** * Indicate if it is allowed to leave current location. */ - enum NavigationBehaviour { + enum class NavigationBehaviour { StayWhereYouAre, ///< Don't leave current location. AllowJumpHome ///< Go Home only when context menu option got checked. }; @@ -99,7 +99,7 @@ * @param url URL of the leaf directory that should get expanded. * @param navigationBehaviour Navigation behaviour \see NavigationBehaviour */ - void loadTree(const QUrl& url, NavigationBehaviour navigationBehaviour = StayWhereYouAre); + void loadTree(const QUrl& url, NavigationBehaviour navigationBehaviour = NavigationBehaviour::StayWhereYouAre); void reloadTree(); diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp --- a/src/panels/folders/folderspanel.cpp +++ b/src/panels/folders/folderspanel.cpp @@ -130,7 +130,7 @@ void FoldersPanel::reloadTree() { if (m_controller) { - loadTree(url(), AllowJumpHome); + loadTree(url(), NavigationBehaviour::AllowJumpHome); } } @@ -165,9 +165,11 @@ connect(m_model, &KFileItemModel::directoryLoadingCompleted, this, &FoldersPanel::slotLoadingCompleted, Qt::QueuedConnection); m_controller = new KItemListController(m_model, view, this); - m_controller->setSelectionBehavior(KItemListController::SingleSelection); - m_controller->setAutoActivationBehavior(KItemListController::ExpansionOnly); - m_controller->setMouseDoubleClickAction(KItemListController::ActivateAndExpandItem); + m_controller->setSelectionBehavior(KItemListController::SelectionBehavior::SingleSelection + + ); + m_controller->setAutoActivationBehavior(KItemListController::AutoActivationBehavior::ExpansionOnly); + m_controller->setMouseDoubleClickAction(KItemListController::MouseDoubleClickAction::ActivateAndExpandItem); m_controller->setAutoActivationDelay(750); m_controller->setSingleClickActivationEnforced(true); @@ -328,7 +330,7 @@ // Use the root directory as base for local URLs (#150941) baseUrl = QUrl::fromLocalFile(QDir::rootPath()); } - } else if (FoldersPanelSettings::limitFoldersPanelToHome() && navigationBehaviour == AllowJumpHome) { + } else if (FoldersPanelSettings::limitFoldersPanelToHome() && navigationBehaviour == NavigationBehaviour::AllowJumpHome) { baseUrl = Dolphin::homeUrl(); jumpHome = true; } else { diff --git a/src/panels/information/pixmapviewer.h b/src/panels/information/pixmapviewer.h --- a/src/panels/information/pixmapviewer.h +++ b/src/panels/information/pixmapviewer.h @@ -38,29 +38,29 @@ Q_OBJECT public: - enum Transition + enum class Transition { /** No transition is done when the pixmap is changed. */ NoTransition, /** * The old pixmap is replaced by the new pixmap and the size is * adjusted smoothly to the size of the new pixmap. */ - DefaultTransition, + Default, /** * If the old pixmap and the new pixmap have the same content, but * a different size it is recommended to use Transition::SizeTransition * instead of Transition::DefaultTransition. In this case it is assured * that the larger pixmap is used for downscaling, which leads * to an improved scaling output. */ - SizeTransition + Size }; explicit PixmapViewer(QWidget* parent, - Transition transition = DefaultTransition); + Transition transition = Transition::Default); ~PixmapViewer() override; void setPixmap(const QPixmap& pixmap); diff --git a/src/panels/information/pixmapviewer.cpp b/src/panels/information/pixmapviewer.cpp --- a/src/panels/information/pixmapviewer.cpp +++ b/src/panels/information/pixmapviewer.cpp @@ -36,7 +36,7 @@ m_animation.setDuration(150); m_animation.setCurveShape(QTimeLine::LinearCurve); - if (m_transition != NoTransition) { + if (m_transition != Transition::NoTransition) { connect(&m_animation, &QTimeLine::valueChanged, this, static_cast(&PixmapViewer::update)); connect(&m_animation, &QTimeLine::finished, this, &PixmapViewer::checkPendingPixmaps); } @@ -52,7 +52,7 @@ return; } - if ((m_transition != NoTransition) && (m_animation.state() == QTimeLine::Running)) { + if ((m_transition != Transition::NoTransition) && (m_animation.state() == QTimeLine::Running)) { m_pendingPixmaps.enqueue(pixmap); if (m_pendingPixmaps.count() > 5) { // don't queue more than 5 pixmaps @@ -65,7 +65,7 @@ m_pixmap = pixmap; update(); - const bool animate = (m_transition != NoTransition) && + const bool animate = (m_transition != Transition::NoTransition) && (m_pixmap.size() != m_oldPixmap.size()); if (animate) { m_animation.start(); @@ -89,12 +89,12 @@ QPainter painter(this); - if (m_transition != NoTransition) { + if (m_transition != Transition::NoTransition) { const float value = m_animation.currentValue(); const int scaledWidth = static_cast((m_oldPixmap.width() * (1.0 - value)) + (m_pixmap.width() * value)); const int scaledHeight = static_cast((m_oldPixmap.height() * (1.0 - value)) + (m_pixmap.height() * value)); - const bool useOldPixmap = (m_transition == SizeTransition) && + const bool useOldPixmap = (m_transition == Transition::Size) && (m_oldPixmap.width() > m_pixmap.width()); const QPixmap& largePixmap = useOldPixmap ? m_oldPixmap : m_pixmap; if (!largePixmap.isNull()) { diff --git a/src/panels/places/placesitemmodel.cpp b/src/panels/places/placesitemmodel.cpp --- a/src/panels/places/placesitemmodel.cpp +++ b/src/panels/places/placesitemmodel.cpp @@ -452,23 +452,23 @@ if (!props.exist()) { const QString path = itemUrl.path(); if (path == QLatin1String("/documents")) { - props.setViewMode(DolphinView::DetailsView); + props.setViewMode(DolphinView::Mode::DetailsView); props.setPreviewsShown(false); props.setVisibleRoles({"text", "path"}); } else if (path == QLatin1String("/images")) { - props.setViewMode(DolphinView::IconsView); + props.setViewMode(DolphinView::Mode::IconsView); props.setPreviewsShown(true); props.setVisibleRoles({"text", "imageSize"}); } else if (path == QLatin1String("/audio")) { - props.setViewMode(DolphinView::DetailsView); + props.setViewMode(DolphinView::Mode::DetailsView); props.setPreviewsShown(false); props.setVisibleRoles({"text", "artist", "album"}); } else if (path == QLatin1String("/videos")) { - props.setViewMode(DolphinView::IconsView); + props.setViewMode(DolphinView::Mode::IconsView); props.setPreviewsShown(true); props.setVisibleRoles({"text"}); } else if (itemUrl.scheme() == QLatin1String("timeline")) { - props.setViewMode(DolphinView::DetailsView); + props.setViewMode(DolphinView::Mode::DetailsView); props.setVisibleRoles({"text", "modificationtime"}); } props.save(); diff --git a/src/panels/places/placespanel.cpp b/src/panels/places/placespanel.cpp --- a/src/panels/places/placespanel.cpp +++ b/src/panels/places/placespanel.cpp @@ -125,7 +125,7 @@ m_view->setGroupHeaderCreator(new KItemListGroupHeaderCreator()); m_controller = new KItemListController(m_model, m_view, this); - m_controller->setSelectionBehavior(KItemListController::SingleSelection); + m_controller->setSelectionBehavior(KItemListController::SelectionBehavior::SingleSelection); m_controller->setSingleClickActivationEnforced(true); readSettings(); diff --git a/src/settings/kcm/kcmdolphinviewmodes.cpp b/src/settings/kcm/kcmdolphinviewmodes.cpp --- a/src/settings/kcm/kcmdolphinviewmodes.cpp +++ b/src/settings/kcm/kcmdolphinviewmodes.cpp @@ -47,17 +47,17 @@ QTabWidget* tabWidget = new QTabWidget(this); // Initialize 'Icons' tab - ViewSettingsTab* iconsTab = new ViewSettingsTab(ViewSettingsTab::IconsMode, tabWidget); + ViewSettingsTab* iconsTab = new ViewSettingsTab(ViewSettingsTab::Mode::Icons, tabWidget); tabWidget->addTab(iconsTab, QIcon::fromTheme(QStringLiteral("view-list-icons")), i18nc("@title:tab", "Icons")); connect(iconsTab, &ViewSettingsTab::changed, this, &DolphinViewModesConfigModule::viewModeChanged); // Initialize 'Compact' tab - ViewSettingsTab* compactTab = new ViewSettingsTab(ViewSettingsTab::CompactMode, tabWidget); + ViewSettingsTab* compactTab = new ViewSettingsTab(ViewSettingsTab::Mode::Compact, tabWidget); tabWidget->addTab(compactTab, QIcon::fromTheme(QStringLiteral("view-list-details")), i18nc("@title:tab", "Compact")); connect(compactTab, &ViewSettingsTab::changed, this, &DolphinViewModesConfigModule::viewModeChanged); // Initialize 'Details' tab - ViewSettingsTab* detailsTab = new ViewSettingsTab(ViewSettingsTab::DetailsMode, tabWidget); + ViewSettingsTab* detailsTab = new ViewSettingsTab(ViewSettingsTab::Mode::Details, tabWidget); tabWidget->addTab(detailsTab, QIcon::fromTheme(QStringLiteral("view-list-tree")), i18nc("@title:tab", "Details")); connect(detailsTab, &ViewSettingsTab::changed, this, &DolphinViewModesConfigModule::viewModeChanged); diff --git a/src/settings/servicemodel.cpp b/src/settings/servicemodel.cpp --- a/src/settings/servicemodel.cpp +++ b/src/settings/servicemodel.cpp @@ -88,9 +88,9 @@ if (row < rowCount()) { switch (role) { case ConfigurableRole: return m_items[row].configurable; - case Qt::CheckStateRole: return m_items[row].checked; - case Qt::DecorationRole: return m_items[row].icon; - case Qt::DisplayRole: return m_items[row].text; + case Qt::CheckStateRole: return m_items[row].checked; + case Qt::DecorationRole: return m_items[row].icon; + case Qt::DisplayRole: return m_items[row].text; case DesktopEntryNameRole: return m_items[row].desktopEntryName; default: break; } diff --git a/src/settings/viewmodes/dolphinfontrequester.h b/src/settings/viewmodes/dolphinfontrequester.h --- a/src/settings/viewmodes/dolphinfontrequester.h +++ b/src/settings/viewmodes/dolphinfontrequester.h @@ -34,7 +34,7 @@ Q_OBJECT public: - enum Mode + enum class Mode { SystemFont = 0, CustomFont = 1 diff --git a/src/settings/viewmodes/dolphinfontrequester.cpp b/src/settings/viewmodes/dolphinfontrequester.cpp --- a/src/settings/viewmodes/dolphinfontrequester.cpp +++ b/src/settings/viewmodes/dolphinfontrequester.cpp @@ -31,7 +31,7 @@ QWidget(parent), m_modeCombo(nullptr), m_chooseFontButton(nullptr), - m_mode(SystemFont), + m_mode(Mode::SystemFont), m_customFont() { QHBoxLayout* topLayout = new QHBoxLayout(this); @@ -60,8 +60,8 @@ void DolphinFontRequester::setMode(Mode mode) { m_mode = mode; - m_modeCombo->setCurrentIndex(m_mode); - m_chooseFontButton->setEnabled(m_mode == CustomFont); + m_modeCombo->setCurrentIndex(static_cast(m_mode)); + m_chooseFontButton->setEnabled(m_mode == Mode::CustomFont); } DolphinFontRequester::Mode DolphinFontRequester::mode() const @@ -71,7 +71,7 @@ QFont DolphinFontRequester::currentFont() const { - return (m_mode == CustomFont) ? m_customFont : QFontDatabase::systemFont(QFontDatabase::GeneralFont); + return (m_mode == Mode::CustomFont) ? m_customFont : QFontDatabase::systemFont(QFontDatabase::GeneralFont); } void DolphinFontRequester::setCustomFont(const QFont& font) @@ -97,7 +97,7 @@ void DolphinFontRequester::changeMode(int index) { - setMode((index == CustomFont) ? CustomFont : SystemFont); + setMode((Mode(index) == Mode::CustomFont) ? Mode::CustomFont : Mode::SystemFont); emit changed(); } diff --git a/src/settings/viewmodes/viewmodesettings.h b/src/settings/viewmodes/viewmodesettings.h --- a/src/settings/viewmodes/viewmodesettings.h +++ b/src/settings/viewmodes/viewmodesettings.h @@ -29,11 +29,11 @@ class ViewModeSettings { public: - enum ViewMode + enum class ViewMode { - IconsMode, - CompactMode, - DetailsMode + Icons, + Compact, + Details }; explicit ViewModeSettings(ViewMode mode); diff --git a/src/settings/viewmodes/viewmodesettings.cpp b/src/settings/viewmodes/viewmodesettings.cpp --- a/src/settings/viewmodes/viewmodesettings.cpp +++ b/src/settings/viewmodes/viewmodesettings.cpp @@ -25,18 +25,18 @@ #define VIEWMODESETTINGS_SET_VALUE(mode, setValue, value) \ switch (mode) { \ - case ViewModeSettings::IconsMode: IconsModeSettings::setValue(value); break; \ - case ViewModeSettings::CompactMode: CompactModeSettings::setValue(value); break; \ - case ViewModeSettings::DetailsMode: DetailsModeSettings::setValue(value); break; \ + case ViewModeSettings::ViewMode::Icons: IconsModeSettings::setValue(value); break; \ + case ViewModeSettings::ViewMode::Compact: CompactModeSettings::setValue(value); break; \ + case ViewModeSettings::ViewMode::Details: DetailsModeSettings::setValue(value); break; \ default: Q_ASSERT(false); break; \ } #define VIEWMODESETTINGS_RETURN_VALUE(mode, getValue, type) \ type value; \ switch (m_mode) { \ - case IconsMode: value = IconsModeSettings::getValue(); break; \ - case CompactMode: value = CompactModeSettings::getValue(); break; \ - case DetailsMode: value = DetailsModeSettings::getValue(); break; \ + case ViewMode::Icons: value = IconsModeSettings::getValue(); break; \ + case ViewMode::Compact: value = CompactModeSettings::getValue(); break; \ + case ViewMode::Details: value = DetailsModeSettings::getValue(); break; \ default: value = IconsModeSettings::getValue(); \ Q_ASSERT(false); \ break; \ @@ -125,19 +125,19 @@ void ViewModeSettings::readConfig() { switch (m_mode) { - case ViewModeSettings::IconsMode: IconsModeSettings::self()->load(); break; - case ViewModeSettings::CompactMode: CompactModeSettings::self()->load(); break; - case ViewModeSettings::DetailsMode: DetailsModeSettings::self()->load(); break; + case ViewModeSettings::ViewMode::Icons: IconsModeSettings::self()->load(); break; + case ViewModeSettings::ViewMode::Compact: CompactModeSettings::self()->load(); break; + case ViewModeSettings::ViewMode::Details: DetailsModeSettings::self()->load(); break; default: Q_ASSERT(false); break; } } void ViewModeSettings::save() { switch (m_mode) { - case ViewModeSettings::IconsMode: IconsModeSettings::self()->save(); break; - case ViewModeSettings::CompactMode: CompactModeSettings::self()->save(); break; - case ViewModeSettings::DetailsMode: DetailsModeSettings::self()->save(); break; + case ViewModeSettings::ViewMode::Icons: IconsModeSettings::self()->save(); break; + case ViewModeSettings::ViewMode::Compact: CompactModeSettings::self()->save(); break; + case ViewModeSettings::ViewMode::Details: DetailsModeSettings::self()->save(); break; default: Q_ASSERT(false); break; } } diff --git a/src/settings/viewmodes/viewsettingspage.cpp b/src/settings/viewmodes/viewsettingspage.cpp --- a/src/settings/viewmodes/viewsettingspage.cpp +++ b/src/settings/viewmodes/viewsettingspage.cpp @@ -38,17 +38,17 @@ QTabWidget* tabWidget = new QTabWidget(this); // Initialize 'Icons' tab - ViewSettingsTab* iconsTab = new ViewSettingsTab(ViewSettingsTab::IconsMode, tabWidget); + ViewSettingsTab* iconsTab = new ViewSettingsTab(ViewSettingsTab::Mode::Icons, tabWidget); tabWidget->addTab(iconsTab, QIcon::fromTheme(QStringLiteral("view-list-icons")), i18nc("@title:tab", "Icons")); connect(iconsTab, &ViewSettingsTab::changed, this, &ViewSettingsPage::changed); // Initialize 'Compact' tab - ViewSettingsTab* compactTab = new ViewSettingsTab(ViewSettingsTab::CompactMode, tabWidget); + ViewSettingsTab* compactTab = new ViewSettingsTab(ViewSettingsTab::Mode::Compact, tabWidget); tabWidget->addTab(compactTab, QIcon::fromTheme(QStringLiteral("view-list-details")), i18nc("@title:tab", "Compact")); connect(compactTab, &ViewSettingsTab::changed, this, &ViewSettingsPage::changed); // Initialize 'Details' tab - ViewSettingsTab* detailsTab = new ViewSettingsTab(ViewSettingsTab::DetailsMode, tabWidget); + ViewSettingsTab* detailsTab = new ViewSettingsTab(ViewSettingsTab::Mode::Details, tabWidget); tabWidget->addTab(detailsTab, QIcon::fromTheme(QStringLiteral("view-list-tree")), i18nc("@title:tab", "Details")); connect(detailsTab, &ViewSettingsTab::changed, this, &ViewSettingsPage::changed); diff --git a/src/settings/viewmodes/viewsettingstab.h b/src/settings/viewmodes/viewsettingstab.h --- a/src/settings/viewmodes/viewsettingstab.h +++ b/src/settings/viewmodes/viewsettingstab.h @@ -37,11 +37,11 @@ Q_OBJECT public: - enum Mode + enum class Mode { - IconsMode, - CompactMode, - DetailsMode + Icons, + Compact, + Details }; explicit ViewSettingsTab(Mode mode, QWidget* parent = nullptr); diff --git a/src/settings/viewmodes/viewsettingstab.cpp b/src/settings/viewmodes/viewsettingstab.cpp --- a/src/settings/viewmodes/viewsettingstab.cpp +++ b/src/settings/viewmodes/viewsettingstab.cpp @@ -87,7 +87,7 @@ textGroupLayout->addWidget(m_fontRequester, 0, 1); switch (m_mode) { - case IconsMode: { + case Mode::Icons: { QLabel* widthLabel = new QLabel(i18nc("@label:listbox", "Width:"), textGroup); m_widthBox = new KComboBox(textGroup); m_widthBox->addItem(i18nc("@item:inlistbox Text width", "Small")); @@ -110,7 +110,7 @@ textGroupLayout->addWidget(m_maxLinesBox, 3, 1); break; } - case CompactMode: { + case Mode::Compact: { QLabel* maxWidthLabel = new QLabel(i18nc("@label:listbox", "Maximum width:"), textGroup); m_widthBox = new KComboBox(textGroup); m_widthBox->addItem(i18nc("@item:inlistbox Maximum width", "Unlimited")); @@ -122,7 +122,7 @@ textGroupLayout->addWidget(m_widthBox, 2, 1); break; } - case DetailsMode: + case Mode::Details: m_expandableFolders = new QCheckBox(i18nc("@option:check", "Expandable folders"), this); break; default: @@ -143,14 +143,14 @@ connect(m_fontRequester, &DolphinFontRequester::changed, this, &ViewSettingsTab::changed); switch (m_mode) { - case IconsMode: + case Mode::Icons: connect(m_widthBox, static_cast(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); connect(m_maxLinesBox, static_cast(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); break; - case CompactMode: + case Mode::Compact: connect(m_widthBox, static_cast(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); break; - case DetailsMode: + case Mode::Details: connect(m_expandableFolders, &QCheckBox::toggled, this, &ViewSettingsTab::changed); break; default: @@ -165,17 +165,17 @@ void ViewSettingsTab::applySettings() { const QFont font = m_fontRequester->currentFont(); - const bool useSystemFont = (m_fontRequester->mode() == DolphinFontRequester::SystemFont); + const bool useSystemFont = (m_fontRequester->mode() == DolphinFontRequester::Mode::SystemFont); switch (m_mode) { - case IconsMode: + case Mode::Icons: IconsModeSettings::setTextWidthIndex(m_widthBox->currentIndex()); IconsModeSettings::setMaximumTextLines(m_maxLinesBox->currentIndex()); break; - case CompactMode: + case Mode::Compact: CompactModeSettings::setMaximumTextWidthIndex(m_widthBox->currentIndex()); break; - case DetailsMode: + case Mode::Details: DetailsModeSettings::setExpandableFolders(m_expandableFolders->isChecked()); break; default: @@ -202,9 +202,9 @@ { KConfigSkeleton* settings = nullptr; switch (m_mode) { - case IconsMode: settings = IconsModeSettings::self(); break; - case CompactMode: settings = CompactModeSettings::self(); break; - case DetailsMode: settings = DetailsModeSettings::self(); break; + case Mode::Icons: settings = IconsModeSettings::self(); break; + case Mode::Compact: settings = CompactModeSettings::self(); break; + case Mode::Details: settings = DetailsModeSettings::self(); break; default: Q_ASSERT(false); break; } @@ -216,14 +216,14 @@ void ViewSettingsTab::loadSettings() { switch (m_mode) { - case IconsMode: + case Mode::Icons: m_widthBox->setCurrentIndex(IconsModeSettings::textWidthIndex()); m_maxLinesBox->setCurrentIndex(IconsModeSettings::maximumTextLines()); break; - case CompactMode: + case Mode::Compact: m_widthBox->setCurrentIndex(CompactModeSettings::maximumTextWidthIndex()); break; - case DetailsMode: + case Mode::Details: m_expandableFolders->setChecked(DetailsModeSettings::expandableFolders()); break; default: @@ -239,8 +239,8 @@ m_previewSizeSlider->setValue(ZoomLevelInfo::zoomLevelForIconSize(previewSize)); m_fontRequester->setMode(settings.useSystemFont() - ? DolphinFontRequester::SystemFont - : DolphinFontRequester::CustomFont); + ? DolphinFontRequester::Mode::SystemFont + : DolphinFontRequester::Mode::CustomFont); QFont font(settings.fontFamily(), qRound(settings.fontSize())); font.setItalic(settings.italicFont()); @@ -254,12 +254,12 @@ ViewModeSettings::ViewMode mode; switch (m_mode) { - case ViewSettingsTab::IconsMode: mode = ViewModeSettings::IconsMode; break; - case ViewSettingsTab::CompactMode: mode = ViewModeSettings::CompactMode; break; - case ViewSettingsTab::DetailsMode: mode = ViewModeSettings::DetailsMode; break; - default: mode = ViewModeSettings::IconsMode; - Q_ASSERT(false); - break; + case ViewSettingsTab::Mode::Icons: mode = ViewModeSettings::ViewMode::Icons; break; + case ViewSettingsTab::Mode::Compact: mode = ViewModeSettings::ViewMode::Compact; break; + case ViewSettingsTab::Mode::Details: mode = ViewModeSettings::ViewMode::Details; break; + default: mode = ViewModeSettings::ViewMode::Icons; + Q_ASSERT(false); + break; } return mode; diff --git a/src/settings/viewpropertiesdialog.cpp b/src/settings/viewpropertiesdialog.cpp --- a/src/settings/viewpropertiesdialog.cpp +++ b/src/settings/viewpropertiesdialog.cpp @@ -85,9 +85,9 @@ QLabel* viewModeLabel = new QLabel(i18nc("@label:listbox", "View mode:"), propsGrid); m_viewMode = new KComboBox(propsGrid); - m_viewMode->addItem(QIcon::fromTheme(QStringLiteral("view-list-icons")), i18nc("@item:inlistbox", "Icons"), DolphinView::IconsView); - m_viewMode->addItem(QIcon::fromTheme(QStringLiteral("view-list-details")), i18nc("@item:inlistbox", "Compact"), DolphinView::CompactView); - m_viewMode->addItem(QIcon::fromTheme(QStringLiteral("view-list-tree")), i18nc("@item:inlistbox", "Details"), DolphinView::DetailsView); + m_viewMode->addItem(QIcon::fromTheme(QStringLiteral("view-list-icons")), i18nc("@item:inlistbox", "Icons"), static_cast(DolphinView::Mode::IconsView)); + m_viewMode->addItem(QIcon::fromTheme(QStringLiteral("view-list-details")), i18nc("@item:inlistbox", "Compact"), static_cast(DolphinView::Mode::CompactView)); + m_viewMode->addItem(QIcon::fromTheme(QStringLiteral("view-list-tree")), i18nc("@item:inlistbox", "Details"), static_cast(DolphinView::Mode::DetailsView)); QLabel* sortingLabel = new QLabel(i18nc("@label:listbox", "Sorting:"), propsGrid); QWidget* sortingBox = new QWidget(propsGrid); @@ -289,7 +289,7 @@ void ViewPropertiesDialog::configureAdditionalInfo() { QList visibleRoles = m_viewProps->visibleRoles(); - const bool useDefaultRoles = (m_viewProps->viewMode() == DolphinView::DetailsView) && visibleRoles.isEmpty(); + const bool useDefaultRoles = (m_viewProps->viewMode() == DolphinView::Mode::DetailsView) && visibleRoles.isEmpty(); if (useDefaultRoles) { // Using the details view without any additional information (-> additional column) // makes no sense and leads to a usability problem as no viewport area is available @@ -380,9 +380,9 @@ { // Load view mode switch (m_viewProps->viewMode()) { - case DolphinView::IconsView: m_viewMode->setCurrentIndex(0); break; - case DolphinView::CompactView: m_viewMode->setCurrentIndex(1); break; - case DolphinView::DetailsView: m_viewMode->setCurrentIndex(2); break; + case DolphinView::Mode::IconsView: m_viewMode->setCurrentIndex(0); break; + case DolphinView::Mode::CompactView: m_viewMode->setCurrentIndex(1); break; + case DolphinView::Mode::DetailsView: m_viewMode->setCurrentIndex(2); break; default: break; } diff --git a/src/tests/kitemlistcontrollertest.cpp b/src/tests/kitemlistcontrollertest.cpp --- a/src/tests/kitemlistcontrollertest.cpp +++ b/src/tests/kitemlistcontrollertest.cpp @@ -124,7 +124,7 @@ m_controller = new KItemListController(m_model, m_view, this); m_container = new KItemListContainer(m_controller); m_controller = m_container->controller(); - m_controller->setSelectionBehavior(KItemListController::MultiSelection); + m_controller->setSelectionBehavior(KItemListController::SelectionBehavior::MultiSelection); m_selectionManager = m_controller->selectionManager(); m_testStyle = new KItemListControllerTestStyle(m_view->style()); m_view->setStyle(m_testStyle); @@ -266,23 +266,23 @@ Qt::Key previousRowKey; switch (layout) { - case KFileItemListView::IconsLayout: + case KFileItemListView::ItemLayout::Icons: scrollOrientation = Qt::Vertical; columnCountList << 1 << 3 << 5; nextItemKey = Qt::Key_Right; previousItemKey = Qt::Key_Left; nextRowKey = Qt::Key_Down; previousRowKey = Qt::Key_Up; break; - case KFileItemListView::CompactLayout: + case KFileItemListView::ItemLayout::Compact: scrollOrientation = Qt::Horizontal; columnCountList << 1 << 3 << 5; nextItemKey = Qt::Key_Down; previousItemKey = Qt::Key_Up; nextRowKey = Qt::Key_Right; previousRowKey = Qt::Key_Left; break; - case KFileItemListView::DetailsLayout: + case KFileItemListView::ItemLayout::Details: scrollOrientation = Qt::Vertical; columnCountList << 1; nextItemKey = Qt::Key_Down; @@ -522,14 +522,14 @@ QCOMPARE(m_selectionManager->currentItem(), current); switch (selectionBehavior) { - case KItemListController::NoSelection: QVERIFY(m_selectionManager->selectedItems().isEmpty()); break; - case KItemListController::SingleSelection: QCOMPARE(m_selectionManager->selectedItems(), KItemSet() << current); break; - case KItemListController::MultiSelection: QCOMPARE(m_selectionManager->selectedItems(), selection); break; + case KItemListController::SelectionBehavior::NoSelection: QVERIFY(m_selectionManager->selectedItems().isEmpty()); break; + case KItemListController::SelectionBehavior::SingleSelection: QCOMPARE(m_selectionManager->selectedItems(), KItemSet() << current); break; + case KItemListController::SelectionBehavior::MultiSelection: QCOMPARE(m_selectionManager->selectedItems(), selection); break; } if (activated) { switch (selectionBehavior) { - case KItemListController::MultiSelection: + case KItemListController::SelectionBehavior::MultiSelection: if (!selection.isEmpty()) { // The selected items should be activated. if (selection.count() == 1) { @@ -545,8 +545,8 @@ } // No items are selected. Therefore, the current item should be activated. // This is handled by falling through to the NoSelection/SingleSelection case. - case KItemListController::NoSelection: - case KItemListController::SingleSelection: + case KItemListController::SelectionBehavior::NoSelection: + case KItemListController::SelectionBehavior::SingleSelection: // In NoSelection and SingleSelection mode, the current item should be activated. QVERIFY(!spySingleItemActivated.isEmpty()); QCOMPARE(qvariant_cast(spySingleItemActivated.takeFirst().at(0)), current); @@ -559,7 +559,7 @@ void KItemListControllerTest::testMouseClickActivation() { - m_view->setItemLayout(KFileItemListView::IconsLayout); + m_view->setItemLayout(KFileItemListView::ItemLayout::Icons); // Make sure that we have a large window, such that // the items are visible and clickable. diff --git a/src/tests/kitemlistselectionmanagertest.cpp b/src/tests/kitemlistselectionmanagertest.cpp --- a/src/tests/kitemlistselectionmanagertest.cpp +++ b/src/tests/kitemlistselectionmanagertest.cpp @@ -313,7 +313,7 @@ } namespace { - enum ChangeType { + enum class ChangeType { NoChange, InsertItems, RemoveItems, @@ -369,57 +369,57 @@ << (KItemSet() << 5 << 6) << 2 << 3 << (KItemSet() << 2 << 3 << 5 << 6) - << NoChange + << ChangeType::NoChange << QList{} << (KItemSet() << 2 << 3 << 5 << 6); QTest::newRow("Insert Items") << (KItemSet() << 5 << 6) << 2 << 3 << (KItemSet() << 2 << 3 << 5 << 6) - << InsertItems + << ChangeType::InsertItems << QList{QVariant::fromValue(KItemRangeList() << KItemRange(1, 1) << KItemRange(5, 2) << KItemRange(10, 5))} << (KItemSet() << 3 << 4 << 8 << 9); QTest::newRow("Remove Items") << (KItemSet() << 5 << 6) << 2 << 3 << (KItemSet() << 2 << 3 << 5 << 6) - << RemoveItems + << ChangeType::RemoveItems << QList{QVariant::fromValue(KItemRangeList() << KItemRange(1, 1) << KItemRange(3, 1) << KItemRange(10, 5))} << (KItemSet() << 1 << 2 << 3 << 4); QTest::newRow("Empty Anchored Selection") << KItemSet() << 2 << 2 << KItemSet() - << EndAnchoredSelection + << ChangeType::EndAnchoredSelection << QList{} << KItemSet(); QTest::newRow("Toggle selection") << (KItemSet() << 1 << 3 << 4) << 6 << 8 << (KItemSet() << 1 << 3 << 4 << 6 << 7 << 8) - << SetSelected - << QList{0, 10, QVariant::fromValue(KItemListSelectionManager::Toggle)} + << ChangeType::SetSelected + << QList{0, 10, QVariant::fromValue(KItemListSelectionManager::SelectionMode::Toggle)} << (KItemSet() << 0 << 2 << 5 << 9); // Swap items 2, 3 and 4, 5 QTest::newRow("Move items") << (KItemSet() << 0 << 1 << 2 << 3) << -1 << -1 << (KItemSet() << 0 << 1 << 2 << 3) - << MoveItems + << ChangeType::MoveItems << QList{QVariant::fromValue(KItemRange(2, 4)), QVariant::fromValue(QList{4, 5, 2, 3})} << (KItemSet() << 0 << 1 << 4 << 5); QTest::newRow("Move items with active anchored selection") << KItemSet() << 0 << 3 << (KItemSet() << 0 << 1 << 2 << 3) - << MoveItems + << ChangeType::MoveItems << QList{QVariant::fromValue(KItemRange(2, 4)), QVariant::fromValue(QList{4, 5, 2, 3})} << (KItemSet() << 0 << 1 << 4 << 5); @@ -429,7 +429,7 @@ << (KItemSet() << 0 << 1) << 3 << 4 << (KItemSet() << 0 << 1 << 3 << 4) - << MoveItems + << ChangeType::MoveItems << QList{QVariant::fromValue(KItemRange(0, 10)), QVariant::fromValue(QList{9, 8, 7, 6, 5, 4, 3, 2, 1, 0})} << (KItemSet() << 5 << 6 << 8 << 9); @@ -469,26 +469,26 @@ // Change the model by inserting or removing items. switch (changeType) { - case InsertItems: + case ChangeType::InsertItems: m_selectionManager->itemsInserted(data.at(0).value()); break; - case RemoveItems: + case ChangeType::RemoveItems: m_selectionManager->itemsRemoved(data.at(0).value()); break; - case MoveItems: + case ChangeType::MoveItems: m_selectionManager->itemsMoved(data.at(0).value(), data.at(1).value>()); break; - case EndAnchoredSelection: + case ChangeType::EndAnchoredSelection: m_selectionManager->endAnchoredSelection(); QVERIFY(!m_selectionManager->isAnchoredSelectionActive()); break; - case SetSelected: + case ChangeType::SetSelected: m_selectionManager->setSelected(data.at(0).value(), // index data.at(1).value(), // count data.at(2).value()); break; - case NoChange: + case ChangeType::NoChange: break; } diff --git a/src/tests/placesitemmodeltest.cpp b/src/tests/placesitemmodeltest.cpp --- a/src/tests/placesitemmodeltest.cpp +++ b/src/tests/placesitemmodeltest.cpp @@ -412,19 +412,19 @@ QTest::addColumn >("expectedVisibleRole"); // places - QTest::newRow("Places - Home") << QUrl::fromLocalFile(QDir::homePath()) << DolphinView::IconsView << true << QList({"text"}); + QTest::newRow("Places - Home") << QUrl::fromLocalFile(QDir::homePath()) << DolphinView::Mode::IconsView << true << QList({"text"}); // baloo -search - QTest::newRow("Baloo - Documents") << QUrl("search:/documents") << DolphinView::DetailsView << false << QList({"text", "path"}); + QTest::newRow("Baloo - Documents") << QUrl("search:/documents") << DolphinView::Mode::DetailsView << false << QList({"text", "path"}); // audio files - QTest::newRow("Places - Audio") << QUrl("search:/audio") << DolphinView::DetailsView << false << QList({"text", "artist", "album"}); + QTest::newRow("Places - Audio") << QUrl("search:/audio") << DolphinView::Mode::DetailsView << false << QList({"text", "artist", "album"}); // baloo - timeline - QTest::newRow("Baloo - Last Month") << QUrl("timeline:/lastmonth") << DolphinView::DetailsView << true << QList({"text", "modificationtime"}); + QTest::newRow("Baloo - Last Month") << QUrl("timeline:/lastmonth") << DolphinView::Mode::DetailsView << true << QList({"text", "modificationtime"}); // devices - QTest::newRow("Devices - Floppy") << QUrl("file:///media/floppy0") << DolphinView::IconsView << true << QList({"text"}); + QTest::newRow("Devices - Floppy") << QUrl("file:///media/floppy0") << DolphinView::Mode::IconsView << true << QList({"text"}); } diff --git a/src/views/dolphinfileitemlistwidget.cpp b/src/views/dolphinfileitemlistwidget.cpp --- a/src/views/dolphinfileitemlistwidget.cpp +++ b/src/views/dolphinfileitemlistwidget.cpp @@ -48,16 +48,16 @@ // as tint colors and are mixed with the current set text color. The tint colors // have been optimized for the base colors of the corresponding Oxygen emblems. switch (version) { - case KVersionControlPlugin::UpdateRequiredVersion: tintColor = Qt::yellow; break; - case KVersionControlPlugin::LocallyModifiedUnstagedVersion: tintColor = Qt::green; break; - case KVersionControlPlugin::LocallyModifiedVersion: tintColor = Qt::green; break; - case KVersionControlPlugin::AddedVersion: tintColor = Qt::green; break; - case KVersionControlPlugin::RemovedVersion: tintColor = Qt::darkRed; break; - case KVersionControlPlugin::ConflictingVersion: tintColor = Qt::red; break; - case KVersionControlPlugin::IgnoredVersion: tintColor = Qt::white; break; - case KVersionControlPlugin::MissingVersion: tintColor = Qt::red; break; - case KVersionControlPlugin::NormalVersion: - case KVersionControlPlugin::UnversionedVersion: + case KVersionControlPlugin::ItemVersion::UpdateRequired: tintColor = Qt::yellow; break; + case KVersionControlPlugin::ItemVersion::LocallyModifiedUnstaged: tintColor = Qt::green; break; + case KVersionControlPlugin::ItemVersion::LocallyModified: tintColor = Qt::green; break; + case KVersionControlPlugin::ItemVersion::Added: tintColor = Qt::green; break; + case KVersionControlPlugin::ItemVersion::Removed: tintColor = Qt::darkRed; break; + case KVersionControlPlugin::ItemVersion::Conflicting: tintColor = Qt::red; break; + case KVersionControlPlugin::ItemVersion::Ignored: tintColor = Qt::white; break; + case KVersionControlPlugin::ItemVersion::Missing: tintColor = Qt::red; break; + case KVersionControlPlugin::ItemVersion::Normal: + case KVersionControlPlugin::ItemVersion::Unversioned: default: break; } @@ -90,30 +90,30 @@ QString iconName; switch (version) { - case KVersionControlPlugin::NormalVersion: + case KVersionControlPlugin::ItemVersion::Normal: iconName = QStringLiteral("vcs-normal"); break; - case KVersionControlPlugin::UpdateRequiredVersion: + case KVersionControlPlugin::ItemVersion::UpdateRequired: iconName = QStringLiteral("vcs-update-required"); break; - case KVersionControlPlugin::LocallyModifiedVersion: + case KVersionControlPlugin::ItemVersion::LocallyModified: iconName = QStringLiteral("vcs-locally-modified"); break; - case KVersionControlPlugin::LocallyModifiedUnstagedVersion: + case KVersionControlPlugin::ItemVersion::LocallyModifiedUnstaged: iconName = QStringLiteral("vcs-locally-modified-unstaged"); break; - case KVersionControlPlugin::AddedVersion: + case KVersionControlPlugin::ItemVersion::Added: iconName = QStringLiteral("vcs-added"); break; - case KVersionControlPlugin::RemovedVersion: + case KVersionControlPlugin::ItemVersion::Removed: iconName = QStringLiteral("vcs-removed"); break; - case KVersionControlPlugin::ConflictingVersion: + case KVersionControlPlugin::ItemVersion::Conflicting: iconName = QStringLiteral("vcs-conflicting"); break; - case KVersionControlPlugin::UnversionedVersion: - case KVersionControlPlugin::IgnoredVersion: - case KVersionControlPlugin::MissingVersion: + case KVersionControlPlugin::ItemVersion::Unversioned: + case KVersionControlPlugin::ItemVersion::Ignored: + case KVersionControlPlugin::ItemVersion::Missing: break; default: Q_ASSERT(false); diff --git a/src/views/dolphinitemlistview.cpp b/src/views/dolphinitemlistview.cpp --- a/src/views/dolphinitemlistview.cpp +++ b/src/views/dolphinitemlistview.cpp @@ -109,12 +109,12 @@ bool DolphinItemListView::itemLayoutSupportsItemExpanding(ItemLayout layout) const { - return layout == DetailsLayout && DetailsModeSettings::expandableFolders(); + return layout == ItemLayout::Details && DetailsModeSettings::expandableFolders(); } void DolphinItemListView::onItemLayoutChanged(ItemLayout current, ItemLayout previous) { - setHeaderVisible(current == DetailsLayout); + setHeaderVisible(current == ItemLayout::Details); updateFont(); updateGridSize(); @@ -175,7 +175,7 @@ int maxTextWidth = 0; switch (itemLayout()) { - case KFileItemListView::IconsLayout: { + case KFileItemListView::ItemLayout::Icons: { const int minItemWidth = 48; itemWidth = minItemWidth + IconsModeSettings::textWidthIndex() * 64; @@ -198,7 +198,7 @@ maxTextLines = IconsModeSettings::maximumTextLines(); break; } - case KFileItemListView::CompactLayout: { + case KFileItemListView::ItemLayout::Compact: { itemWidth = padding * 4 + iconSize + option.fontMetrics.height() * 5; const int textLinesCount = visibleRoles().count(); itemHeight = padding * 2 + qMax(iconSize, textLinesCount * option.fontMetrics.lineSpacing()); @@ -212,7 +212,7 @@ horizontalMargin = 8; break; } - case KFileItemListView::DetailsLayout: { + case KFileItemListView::ItemLayout::Details: { itemWidth = -1; itemHeight = padding * 2 + qMax(iconSize, option.fontMetrics.lineSpacing()); break; @@ -242,12 +242,12 @@ ViewModeSettings::ViewMode mode; switch (itemLayout()) { - case KFileItemListView::IconsLayout: mode = ViewModeSettings::IconsMode; break; - case KFileItemListView::CompactLayout: mode = ViewModeSettings::CompactMode; break; - case KFileItemListView::DetailsLayout: mode = ViewModeSettings::DetailsMode; break; - default: mode = ViewModeSettings::IconsMode; - Q_ASSERT(false); - break; + case KFileItemListView::ItemLayout::Icons: mode = ViewModeSettings::ViewMode::Icons; break; + case KFileItemListView::ItemLayout::Compact: mode = ViewModeSettings::ViewMode::Compact; break; + case KFileItemListView::ItemLayout::Details: mode = ViewModeSettings::ViewMode::Details; break; + default: mode = ViewModeSettings::ViewMode::Icons; + Q_ASSERT(false); + break; } return mode; diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -67,7 +67,7 @@ * view mode is automatically updated if the directory itself * defines a view mode (see class ViewProperties for details). */ - enum Mode + enum class Mode { /** * The items are shown as icons with a name-label below. @@ -86,6 +86,7 @@ */ CompactView }; + static constexpr auto IconsView = static_cast(Mode::IconsView); /** * @param url Specifies the content which should be shown. diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -78,7 +78,7 @@ m_dragging(false), m_url(url), m_viewPropertiesContext(), - m_mode(DolphinView::IconsView), + m_mode(DolphinView::Mode::IconsView), m_visibleRoles(), m_topLayout(nullptr), m_model(nullptr), @@ -131,7 +131,7 @@ connect(m_container->horizontalScrollBar(), &QScrollBar::valueChanged, this, &DolphinView::hideToolTip); connect(m_container->verticalScrollBar(), &QScrollBar::valueChanged, this, &DolphinView::hideToolTip); - controller->setSelectionBehavior(KItemListController::MultiSelection); + controller->setSelectionBehavior(KItemListController::SelectionBehavior::MultiSelection); connect(controller, &KItemListController::itemActivated, this, &DolphinView::slotItemActivated); connect(controller, &KItemListController::itemsActivated, this, &DolphinView::slotItemsActivated); connect(controller, &KItemListController::itemMiddleClicked, this, &DolphinView::slotItemMiddleClicked); @@ -362,8 +362,8 @@ void DolphinView::selectItems(const QRegExp& pattern, bool enabled) { const KItemListSelectionManager::SelectionMode mode = enabled - ? KItemListSelectionManager::Select - : KItemListSelectionManager::Deselect; + ? KItemListSelectionManager::SelectionMode::Select + : KItemListSelectionManager::SelectionMode::Deselect; KItemListSelectionManager* selectionManager = m_container->controller()->selectionManager(); for (int index = 0; index < m_model->count(); index++) { @@ -608,7 +608,7 @@ void DolphinView::invertSelection() { KItemListSelectionManager* selectionManager = m_container->controller()->selectionManager(); - selectionManager->setSelected(0, m_model->count(), KItemListSelectionManager::Toggle); + selectionManager->setSelected(0, m_model->count(), KItemListSelectionManager::SelectionMode::Toggle); } void DolphinView::clearSelection() @@ -1217,7 +1217,7 @@ bool DolphinView::itemsExpandable() const { - return m_mode == DetailsView; + return m_mode == Mode::DetailsView; } void DolphinView::restoreState(QDataStream& stream) @@ -1720,9 +1720,9 @@ void DolphinView::applyModeToView() { switch (m_mode) { - case IconsView: m_view->setItemLayout(KFileItemListView::IconsLayout); break; - case CompactView: m_view->setItemLayout(KFileItemListView::CompactLayout); break; - case DetailsView: m_view->setItemLayout(KFileItemListView::DetailsLayout); break; + case Mode::IconsView: m_view->setItemLayout(KFileItemListView::ItemLayout::Icons); break; + case Mode::CompactView: m_view->setItemLayout(KFileItemListView::ItemLayout::Compact); break; + case Mode::DetailsView: m_view->setItemLayout(KFileItemListView::ItemLayout::Details); break; default: Q_ASSERT(false); break; } } diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp --- a/src/views/dolphinviewactionhandler.cpp +++ b/src/views/dolphinviewactionhandler.cpp @@ -330,11 +330,11 @@ QString DolphinViewActionHandler::currentViewModeActionName() const { switch (m_currentView->mode()) { - case DolphinView::IconsView: + case DolphinView::Mode::IconsView: return QStringLiteral("icons"); - case DolphinView::DetailsView: + case DolphinView::Mode::DetailsView: return QStringLiteral("details"); - case DolphinView::CompactView: + case DolphinView::Mode::CompactView: return QStringLiteral("compact"); default: Q_ASSERT(false); @@ -493,7 +493,7 @@ iconsView->setToolTip(i18nc("@info", "Icons view mode")); m_actionCollection->setDefaultShortcut(iconsView, Qt::CTRL + Qt::Key_1); iconsView->setIcon(QIcon::fromTheme(QStringLiteral("view-list-icons"))); - iconsView->setData(QVariant::fromValue(DolphinView::IconsView)); + iconsView->setData(QVariant::fromValue(DolphinView::Mode::IconsView)); return iconsView; } @@ -504,7 +504,7 @@ iconsView->setToolTip(i18nc("@info", "Compact view mode")); m_actionCollection->setDefaultShortcut(iconsView, Qt::CTRL + Qt::Key_2); iconsView->setIcon(QIcon::fromTheme(QStringLiteral("view-list-details"))); // TODO: discuss with Oxygen-team the wrong (?) name - iconsView->setData(QVariant::fromValue(DolphinView::CompactView)); + iconsView->setData(QVariant::fromValue(DolphinView::Mode::CompactView)); return iconsView; } @@ -515,7 +515,7 @@ detailsView->setToolTip(i18nc("@info", "Details view mode")); m_actionCollection->setDefaultShortcut(detailsView, Qt::CTRL + Qt::Key_3); detailsView->setIcon(QIcon::fromTheme(QStringLiteral("view-list-tree"))); - detailsView->setData(QVariant::fromValue(DolphinView::DetailsView)); + detailsView->setData(QVariant::fromValue(DolphinView::Mode::DetailsView)); return detailsView; } diff --git a/src/views/versioncontrol/kversioncontrolplugin.h b/src/views/versioncontrol/kversioncontrolplugin.h --- a/src/views/versioncontrol/kversioncontrolplugin.h +++ b/src/views/versioncontrol/kversioncontrolplugin.h @@ -87,62 +87,62 @@ Q_OBJECT public: - enum ItemVersion + enum class ItemVersion { /** The file is not under version control. */ - UnversionedVersion, + Unversioned, /** * The file is under version control and represents * the latest version. */ - NormalVersion, + Normal, /** * The file is under version control and a newer * version exists on the main branch. */ - UpdateRequiredVersion, + UpdateRequired, /** * The file is under version control and has been * modified locally. All modifications will be part * of the next commit. */ - LocallyModifiedVersion, + LocallyModified, /** * The file has not been under version control but * has been marked to get added with the next commit. */ - AddedVersion, + Added, /** * The file is under version control but has been marked * for getting removed with the next commit. */ - RemovedVersion, + Removed, /** * The file is under version control and has been locally * modified. A modification has also been done on the main * branch. */ - ConflictingVersion, + Conflicting, /** * The file is under version control and has local * modifications, which will not be part of the next * commit (or are "unstaged" in git jargon). * @since 4.6 */ - LocallyModifiedUnstagedVersion, + LocallyModifiedUnstaged, /** * The file is not under version control and is listed * in the ignore list of the version control system. * @since 4.8 */ - IgnoredVersion, + Ignored, /** * The file is is tracked by the version control system, but * is missing in the directory (e.g. by deleted without using * a version control command). * @since 4.8 */ - MissingVersion + Missing }; KVersionControlPlugin(QObject* parent = nullptr); diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -176,7 +176,7 @@ const KFileItem& fileItem = item.first; const KVersionControlPlugin::ItemVersion version = item.second; QHash values; - values.insert("version", QVariant(version)); + values.insert("version", QVariant(static_cast(version))); m_model->setData(m_model->index(fileItem), values); } } @@ -237,7 +237,7 @@ if (expansionLevel == currentExpansionLevel) { ItemState itemState; itemState.first = m_model->fileItem(index); - itemState.second = KVersionControlPlugin::UnversionedVersion; + itemState.second = KVersionControlPlugin::ItemVersion::Unversioned; items.append(itemState); } else if (expansionLevel > currentExpansionLevel) { diff --git a/src/views/viewproperties.cpp b/src/views/viewproperties.cpp --- a/src/views/viewproperties.cpp +++ b/src/views/viewproperties.cpp @@ -90,7 +90,7 @@ (m_node->timestamp() < settings->viewPropsTimestamp())); if (useDefaultProps) { if (useDetailsViewWithPath) { - setViewMode(DolphinView::DetailsView); + setViewMode(DolphinView::Mode::DetailsView); setVisibleRoles({"path"}); } else { // The global view-properties act as default for directories without @@ -139,16 +139,16 @@ void ViewProperties::setViewMode(DolphinView::Mode mode) { - if (m_node->viewMode() != mode) { - m_node->setViewMode(mode); + if (DolphinView::Mode(m_node->viewMode()) != mode) { + m_node->setViewMode(static_cast(mode)); update(); } } DolphinView::Mode ViewProperties::viewMode() const { const int mode = qBound(0, m_node->viewMode(), 2); - return static_cast(mode); + return DolphinView::Mode(mode); } void ViewProperties::setPreviewsShown(bool show) @@ -255,7 +255,7 @@ } if (oldVisibleRoles != newVisibleRoles) { - const bool markCustomizedDetails = (m_node->viewMode() == DolphinView::DetailsView) + const bool markCustomizedDetails = (DolphinView::Mode(m_node->viewMode()) == DolphinView::Mode::DetailsView) && !newVisibleRoles.contains(CustomizedDetailsString); if (markCustomizedDetails) { // The additional information of the details-view has been modified. Set a marker, @@ -305,7 +305,7 @@ // For the details view the size and date should be shown per default // until the additional information has been explicitly changed by the user const bool useDefaultValues = roles.count() == 1 // "text" - && (m_node->viewMode() == DolphinView::DetailsView) + && (DolphinView::Mode(m_node->viewMode()) == DolphinView::Mode::DetailsView) && !visibleRoles.contains(CustomizedDetailsString); if (useDefaultValues) { roles.append("size"); @@ -385,10 +385,10 @@ { QString prefix; - switch (m_node->viewMode()) { - case DolphinView::IconsView: prefix = QStringLiteral("Icons_"); break; - case DolphinView::CompactView: prefix = QStringLiteral("Compact_"); break; - case DolphinView::DetailsView: prefix = QStringLiteral("Details_"); break; + switch (DolphinView::Mode(m_node->viewMode())) { + case DolphinView::Mode::IconsView: prefix = QStringLiteral("Icons_"); break; + case DolphinView::Mode::CompactView: prefix = QStringLiteral("Compact_"); break; + case DolphinView::Mode::DetailsView: prefix = QStringLiteral("Details_"); break; default: qCWarning(DolphinDebug) << "Unknown view-mode of the view properties"; }