From 272aa65bb55dd31f58e8a8e24ea7bc8bd2712daa Mon Sep 17 00:00:00 2001 From: Heiko Becker Date: Fri, 6 Aug 2021 00:36:50 +0200 Subject: [PATCH 01/13] Revert "Disable Hidden Files Last sort by default" This reverts commit fd2203bb3925edb5d657d49a706e26ea736362d2. --- src/kitemviews/kfileitemmodel.cpp | 2 +- ...dolphin_directoryviewpropertysettings.kcfg | 2 +- src/tests/kfileitemmodeltest.cpp | 26 ++++++------------- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index af8cfc1312..ef80b4edbd 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -34,7 +34,7 @@ KFileItemModel::KFileItemModel(QObject* parent) : KItemModelBase("text", parent), m_dirLister(nullptr), m_sortDirsFirst(true), - m_sortHiddenLast(false), + m_sortHiddenLast(true), m_sortRole(NameRole), m_sortingProgressPercent(-1), m_roles(), diff --git a/src/settings/dolphin_directoryviewpropertysettings.kcfg b/src/settings/dolphin_directoryviewpropertysettings.kcfg index f4d2883696..9846326b94 100644 --- a/src/settings/dolphin_directoryviewpropertysettings.kcfg +++ b/src/settings/dolphin_directoryviewpropertysettings.kcfg @@ -59,7 +59,7 @@ - false + true diff --git a/src/tests/kfileitemmodeltest.cpp b/src/tests/kfileitemmodeltest.cpp index 4b84f15794..f527fbc61b 100644 --- a/src/tests/kfileitemmodeltest.cpp +++ b/src/tests/kfileitemmodeltest.cpp @@ -814,16 +814,16 @@ void KFileItemModelTest::testSorting() { // testDir structure is as follows // ./ - // ├─ .g/ // ├─ a // ├─ b // ├─ c/ // │ ├─ c-2/ // │ │ ├─ c-3 // │ ├─ c-1 - // ├─ .f // ├─ d // ├─ e + // ├─ .f + // ├─ .g/ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved); @@ -968,20 +968,10 @@ void KFileItemModelTest::testSorting() // 'Show Hidden Files' enabled m_model->setShowHiddenFiles(true); QVERIFY(m_model->showHiddenFiles()); - QVERIFY(!m_model->sortHiddenLast()); - QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << ".g" << "d" << "e" << "b" << "a" << ".f"); + QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "d" << "e" << "b" << "a" << ".g" << ".f"); QCOMPARE(itemsMovedSpy.count(), 0); QCOMPARE(itemsInsertedSpy.count(), 1); - QCOMPARE(itemsInsertedSpy.takeFirst().at(0).value(), KItemRangeList() << KItemRange(4, 1) << KItemRange(8, 1)); - - // 'Sort Hidden Files Last' enabled - m_model->setSortHiddenLast(true); - QVERIFY(m_model->sortHiddenLast()); - QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "d" << "e" << "b" << "a" << ".g" << ".f"); - QCOMPARE(itemsMovedSpy.count(), 1); - QCOMPARE(itemsInsertedSpy.count(), 0); - QCOMPARE(itemsMovedSpy.first().at(0).value(), KItemRange(4, 5)); - QCOMPARE(itemsMovedSpy.takeFirst().at(1).value >(), QList() << 8 << 4 << 5 << 6 << 7); + QCOMPARE(itemsInsertedSpy.takeFirst().at(0).value(), KItemRangeList() << KItemRange(8, 2)); // Sort by Name m_model->setSortRole("text"); @@ -1161,7 +1151,7 @@ void KFileItemModelTest::testRemoveHiddenItems() m_model->setShowHiddenFiles(true); m_model->loadDirectory(m_testDir->url()); QVERIFY(itemsInsertedSpy.wait()); - QCOMPARE(itemsInModel(), QStringList() << ".a" << ".b" << "c" << "d" <<".f" << ".g" << "h" << "i"); + QCOMPARE(itemsInModel(), QStringList() << "c" << "d" << "h" << "i" << ".a" << ".b" <<".f" << ".g"); QCOMPARE(itemsInsertedSpy.count(), 1); QCOMPARE(itemsRemovedSpy.count(), 0); KItemRangeList itemRangeList = itemsInsertedSpy.takeFirst().at(0).value(); @@ -1172,14 +1162,14 @@ void KFileItemModelTest::testRemoveHiddenItems() QCOMPARE(itemsInsertedSpy.count(), 0); QCOMPARE(itemsRemovedSpy.count(), 1); itemRangeList = itemsRemovedSpy.takeFirst().at(0).value(); - QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 2) << KItemRange(4, 2)); + QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(4, 4)); m_model->setShowHiddenFiles(true); - QCOMPARE(itemsInModel(), QStringList() << ".a" << ".b" << "c" << "d" <<".f" << ".g" << "h" << "i"); + QCOMPARE(itemsInModel(), QStringList() << "c" << "d" << "h" << "i" << ".a" << ".b" <<".f" << ".g"); QCOMPARE(itemsInsertedSpy.count(), 1); QCOMPARE(itemsRemovedSpy.count(), 0); itemRangeList = itemsInsertedSpy.takeFirst().at(0).value(); - QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 2) << KItemRange(2, 2)); + QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(4, 4)); m_model->clear(); QCOMPARE(itemsInModel(), QStringList()); From bb67def173f31819bb9a696627f9af71c7037dcd Mon Sep 17 00:00:00 2001 From: Heiko Becker Date: Fri, 6 Aug 2021 00:36:57 +0200 Subject: [PATCH 02/13] Revert "Configurable Show hidden files and folders last toggle" This reverts commit 50149d6abb8a0a978db3c6afb5238bc42a4a89c8. It breaks the string freeze and I don't think it can count as a bug fix, so it breaks the feature freeze, too. CCMAIL: zrenfire@gmail.com --- src/kitemviews/kfileitemmodel.cpp | 28 ++++-------------- src/kitemviews/kfileitemmodel.h | 7 ----- ...dolphin_directoryviewpropertysettings.kcfg | 5 ---- src/settings/viewpropertiesdialog.cpp | 14 --------- src/settings/viewpropertiesdialog.h | 2 -- src/views/dolphinview.cpp | 29 ------------------- src/views/dolphinview.h | 15 ---------- src/views/dolphinviewactionhandler.cpp | 19 ------------ src/views/dolphinviewactionhandler.h | 10 ------- src/views/viewproperties.cpp | 14 --------- src/views/viewproperties.h | 3 -- 11 files changed, 6 insertions(+), 140 deletions(-) diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index ef80b4edbd..e03ec7c0e9 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -34,7 +34,6 @@ KFileItemModel::KFileItemModel(QObject* parent) : KItemModelBase("text", parent), m_dirLister(nullptr), m_sortDirsFirst(true), - m_sortHiddenLast(true), m_sortRole(NameRole), m_sortingProgressPercent(-1), m_roles(), @@ -213,19 +212,6 @@ bool KFileItemModel::sortDirectoriesFirst() const return m_sortDirsFirst; } -void KFileItemModel::setSortHiddenLast(bool hiddenLast) -{ - if (hiddenLast != m_sortHiddenLast) { - m_sortHiddenLast = hiddenLast; - resortAllItems(); - } -} - -bool KFileItemModel::sortHiddenLast() const -{ - return m_sortHiddenLast; -} - void KFileItemModel::setShowHiddenFiles(bool show) { m_dirLister->setShowingDotFiles(show); @@ -1748,14 +1734,12 @@ bool KFileItemModel::lessThan(const ItemData* a, const ItemData* b, const QColla } // Show hidden files and folders last - if (m_sortHiddenLast) { - const bool isHiddenA = a->item.isHidden(); - const bool isHiddenB = b->item.isHidden(); - if (isHiddenA && !isHiddenB) { - return false; - } else if (!isHiddenA && isHiddenB) { - return true; - } + const bool isHiddenA = a->item.isHidden(); + const bool isHiddenB = b->item.isHidden(); + if (isHiddenA && !isHiddenB) { + return false; + } else if (!isHiddenA && isHiddenB) { + return true; } if (m_sortDirsFirst || (DetailsModeSettings::directorySizeCount() && m_sortRole == SizeRole)) { diff --git a/src/kitemviews/kfileitemmodel.h b/src/kitemviews/kfileitemmodel.h index 33838853df..acf4b761cf 100644 --- a/src/kitemviews/kfileitemmodel.h +++ b/src/kitemviews/kfileitemmodel.h @@ -80,12 +80,6 @@ public: void setSortDirectoriesFirst(bool dirsFirst); bool sortDirectoriesFirst() const; - /** - * Sets a separate sorting with hidden files and folders last (true) or not (false). - */ - void setSortHiddenLast(bool hiddenLast); - bool sortHiddenLast() const; - void setShowHiddenFiles(bool show); bool showHiddenFiles() const; @@ -469,7 +463,6 @@ private: QCollator m_collator; bool m_naturalSorting; bool m_sortDirsFirst; - bool m_sortHiddenLast; RoleType m_sortRole; int m_sortingProgressPercent; // Value of directorySortingProgress() signal diff --git a/src/settings/dolphin_directoryviewpropertysettings.kcfg b/src/settings/dolphin_directoryviewpropertysettings.kcfg index 9846326b94..6bcf3cd02b 100644 --- a/src/settings/dolphin_directoryviewpropertysettings.kcfg +++ b/src/settings/dolphin_directoryviewpropertysettings.kcfg @@ -57,11 +57,6 @@ true - - - true - - diff --git a/src/settings/viewpropertiesdialog.cpp b/src/settings/viewpropertiesdialog.cpp index 6659d79b63..82d182d1d0 100644 --- a/src/settings/viewpropertiesdialog.cpp +++ b/src/settings/viewpropertiesdialog.cpp @@ -44,7 +44,6 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : m_sortOrder(nullptr), m_sorting(nullptr), m_sortFoldersFirst(nullptr), - m_sortHiddenLast(nullptr), m_previewsShown(nullptr), m_showInGroups(nullptr), m_showHiddenFiles(nullptr), @@ -83,7 +82,6 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : } m_sortFoldersFirst = new QCheckBox(i18nc("@option:check", "Show folders first")); - m_sortHiddenLast = new QCheckBox(i18nc("@option:check", "Show hidden files last")); m_previewsShown = new QCheckBox(i18nc("@option:check", "Show preview")); m_showInGroups = new QCheckBox(i18nc("@option:check", "Show in groups")); m_showHiddenFiles = new QCheckBox(i18nc("@option:check", "Show hidden files")); @@ -148,7 +146,6 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : layout->addRow(QString(), m_previewsShown); layout->addRow(QString(), m_showInGroups); layout->addRow(QString(), m_showHiddenFiles); - layout->addRow(QString(), m_sortHiddenLast); connect(m_viewMode, QOverload::of(&QComboBox::currentIndexChanged), this, &ViewPropertiesDialog::slotViewModeChanged); @@ -158,8 +155,6 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : this, &ViewPropertiesDialog::slotSortOrderChanged); connect(m_sortFoldersFirst, &QCheckBox::clicked, this, &ViewPropertiesDialog::slotSortFoldersFirstChanged); - connect(m_sortHiddenLast, &QCheckBox::clicked, - this, &ViewPropertiesDialog::slotSortHiddenLastChanged); connect(m_previewsShown, &QCheckBox::clicked, this, &ViewPropertiesDialog::slotShowPreviewChanged); connect(m_showInGroups, &QCheckBox::clicked, @@ -287,13 +282,6 @@ void ViewPropertiesDialog::slotSortFoldersFirstChanged() markAsDirty(true); } -void ViewPropertiesDialog::slotSortHiddenLastChanged() -{ - const bool hiddenLast = m_sortHiddenLast->isChecked(); - m_viewProps->setSortHiddenLast(hiddenLast); - markAsDirty(true); -} - void ViewPropertiesDialog::slotShowPreviewChanged() { const bool show = m_previewsShown->isChecked(); @@ -395,7 +383,6 @@ void ViewPropertiesDialog::applyViewProperties() m_dolphinView->setSortRole(m_viewProps->sortRole()); m_dolphinView->setSortOrder(m_viewProps->sortOrder()); m_dolphinView->setSortFoldersFirst(m_viewProps->sortFoldersFirst()); - m_dolphinView->setSortHiddenLast(m_viewProps->sortHiddenLast()); m_dolphinView->setGroupedSorting(m_viewProps->groupedSorting()); m_dolphinView->setVisibleRoles(m_viewProps->visibleRoles()); m_dolphinView->setPreviewsShown(m_viewProps->previewsShown()); @@ -431,7 +418,6 @@ void ViewPropertiesDialog::loadSettings() m_sorting->setCurrentIndex(sortRoleIndex); m_sortFoldersFirst->setChecked(m_viewProps->sortFoldersFirst()); - m_sortHiddenLast->setChecked(m_viewProps->sortHiddenLast()); // Load show preview, show in groups and show hidden files settings m_previewsShown->setChecked(m_viewProps->previewsShown()); diff --git a/src/settings/viewpropertiesdialog.h b/src/settings/viewpropertiesdialog.h index c58fda5c00..f07bb8088f 100644 --- a/src/settings/viewpropertiesdialog.h +++ b/src/settings/viewpropertiesdialog.h @@ -46,7 +46,6 @@ private Q_SLOTS: void slotSortOrderChanged(int index); void slotGroupedSortingChanged(); void slotSortFoldersFirstChanged(); - void slotSortHiddenLastChanged(); void slotShowPreviewChanged(); void slotShowHiddenFilesChanged(); void slotItemChanged(QListWidgetItem *item); @@ -68,7 +67,6 @@ private: QComboBox* m_sortOrder; QComboBox* m_sorting; QCheckBox* m_sortFoldersFirst; - QCheckBox* m_sortHiddenLast; QCheckBox* m_previewsShown; QCheckBox* m_showInGroups; QCheckBox* m_showHiddenFiles; diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index 57ed73a3a6..f5c21a2c55 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -463,18 +463,6 @@ bool DolphinView::sortFoldersFirst() const return m_model->sortDirectoriesFirst(); } -void DolphinView::setSortHiddenLast(bool hiddenLast) -{ - if (sortHiddenLast() != hiddenLast) { - updateSortHiddenLast(hiddenLast); - } -} - -bool DolphinView::sortHiddenLast() const -{ - return m_model->sortHiddenLast(); -} - void DolphinView::setVisibleRoles(const QList& roles) { const QList previousRoles = roles; @@ -1385,17 +1373,6 @@ void DolphinView::updateSortFoldersFirst(bool foldersFirst) Q_EMIT sortFoldersFirstChanged(foldersFirst); } -void DolphinView::updateSortHiddenLast(bool hiddenLast) -{ - ViewProperties props(viewPropertiesUrl()); - props.setSortHiddenLast(hiddenLast); - - m_model->setSortHiddenLast(hiddenLast); - - Q_EMIT sortHiddenLastChanged(hiddenLast); -} - - QPair DolphinView::pasteInfo() const { const QMimeData *mimeData = QApplication::clipboard()->mimeData(); @@ -1926,12 +1903,6 @@ void DolphinView::applyViewProperties(const ViewProperties& props) Q_EMIT sortFoldersFirstChanged(sortFoldersFirst); } - const bool sortHiddenLast = props.sortHiddenLast(); - if (sortHiddenLast != m_model->sortHiddenLast()) { - m_model->setSortHiddenLast(sortHiddenLast); - Q_EMIT sortHiddenLastChanged(sortHiddenLast); - } - const QList visibleRoles = props.visibleRoles(); if (visibleRoles != m_visibleRoles) { const QList previousVisibleRoles = m_visibleRoles; diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h index 75c9dd9856..e4d7798300 100644 --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -206,10 +206,6 @@ public: void setSortFoldersFirst(bool foldersFirst); bool sortFoldersFirst() const; - /** Sets a separate sorting with hidden files and folders last (true) or not (false). */ - void setSortHiddenLast(bool hiddenLast); - bool sortHiddenLast() const; - /** Sets the additional information which should be shown for the items. */ void setVisibleRoles(const QList& roles); @@ -474,11 +470,6 @@ Q_SIGNALS: */ void sortFoldersFirstChanged(bool foldersFirst); - /** - * Is emitted if the sorting of hidden files has been changed. - */ - void sortHiddenLastChanged(bool hiddenLast); - /** Is emitted if the additional information shown for this view has been changed. */ void visibleRolesChanged(const QList& current, const QList& previous); @@ -688,12 +679,6 @@ private Q_SLOTS: */ void updateSortFoldersFirst(bool foldersFirst); - /** - * Updates the view properties of the current URL to the - * sorting of hidden files given by \a hiddenLast. - */ - void updateSortHiddenLast(bool hiddenLast); - /** * Indicates in the status bar that the delete operation * of the job \a job has been finished. diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp index 90109605b6..c9bab5f82f 100644 --- a/src/views/dolphinviewactionhandler.cpp +++ b/src/views/dolphinviewactionhandler.cpp @@ -57,8 +57,6 @@ void DolphinViewActionHandler::setCurrentView(DolphinView* view) this, &DolphinViewActionHandler::slotSortOrderChanged); connect(view, &DolphinView::sortFoldersFirstChanged, this, &DolphinViewActionHandler::slotSortFoldersFirstChanged); - connect(view, &DolphinView::sortHiddenLastChanged, - this, &DolphinViewActionHandler::slotSortHiddenLastChanged); connect(view, &DolphinView::visibleRolesChanged, this, &DolphinViewActionHandler::slotVisibleRolesChanged); connect(view, &DolphinView::groupedSortingChanged, @@ -255,10 +253,6 @@ void DolphinViewActionHandler::createActions() sortFoldersFirst->setText(i18nc("@action:inmenu Sort", "Folders First")); connect(sortFoldersFirst, &KToggleAction::triggered, this, &DolphinViewActionHandler::toggleSortFoldersFirst); - KToggleAction* sortHiddenLast = m_actionCollection->add(QStringLiteral("hidden_last")); - sortHiddenLast->setText(i18nc("@action:inmenu Sort", "Hidden Files Last")); - connect(sortHiddenLast, &KToggleAction::triggered, this, &DolphinViewActionHandler::toggleSortHiddenLast); - // View -> Sort By QActionGroup* sortByActionGroup = createFileItemRolesActionGroup(QStringLiteral("sort_by_")); @@ -293,7 +287,6 @@ void DolphinViewActionHandler::createActions() sortByActionMenu->addAction(descendingAction); sortByActionMenu->addSeparator(); sortByActionMenu->addAction(sortFoldersFirst); - sortByActionMenu->addAction(sortHiddenLast); // View -> Additional Information QActionGroup* visibleRolesGroup = createFileItemRolesActionGroup(QStringLiteral("show_")); @@ -488,7 +481,6 @@ void DolphinViewActionHandler::updateViewActions() slotSortOrderChanged(m_currentView->sortOrder()); slotSortFoldersFirstChanged(m_currentView->sortFoldersFirst()); - slotSortHiddenLastChanged(m_currentView->sortHiddenLast()); slotVisibleRolesChanged(m_currentView->visibleRoles(), QList()); slotGroupedSortingChanged(m_currentView->groupedSorting()); slotSortRoleChanged(m_currentView->sortRole()); @@ -524,12 +516,6 @@ void DolphinViewActionHandler::toggleSortFoldersFirst() m_currentView->setSortFoldersFirst(!sortFirst); } -void DolphinViewActionHandler::toggleSortHiddenLast() -{ - const bool sortHiddenLast = m_currentView->sortHiddenLast(); - m_currentView->setSortHiddenLast(!sortHiddenLast); -} - void DolphinViewActionHandler::slotSortOrderChanged(Qt::SortOrder order) { QAction* descending = m_actionCollection->action(QStringLiteral("descending")); @@ -544,11 +530,6 @@ void DolphinViewActionHandler::slotSortFoldersFirstChanged(bool foldersFirst) m_actionCollection->action(QStringLiteral("folders_first"))->setChecked(foldersFirst); } -void DolphinViewActionHandler::slotSortHiddenLastChanged(bool hiddenLast) -{ - m_actionCollection->action(QStringLiteral("hidden_last"))->setChecked(hiddenLast); -} - void DolphinViewActionHandler::toggleVisibleRole(QAction* action) { Q_EMIT actionBeingHandled(); diff --git a/src/views/dolphinviewactionhandler.h b/src/views/dolphinviewactionhandler.h index 6e9b4a432b..3f73153ea6 100644 --- a/src/views/dolphinviewactionhandler.h +++ b/src/views/dolphinviewactionhandler.h @@ -136,16 +136,6 @@ private Q_SLOTS: */ void slotSortFoldersFirstChanged(bool foldersFirst); - /** - * Switches between showing hidden files last or not. - */ - void toggleSortHiddenLast(); - - /** - * Updates the state of the 'Sort Hidden Last' action. - */ - void slotSortHiddenLastChanged(bool hiddenLast); - /** * Updates the state of the 'Sort by' actions. */ diff --git a/src/views/viewproperties.cpp b/src/views/viewproperties.cpp index 4b8d017c72..1f73f3b33b 100644 --- a/src/views/viewproperties.cpp +++ b/src/views/viewproperties.cpp @@ -245,19 +245,6 @@ bool ViewProperties::sortFoldersFirst() const return m_node->sortFoldersFirst(); } -void ViewProperties::setSortHiddenLast(bool hiddenLast) -{ - if (m_node->sortHiddenLast() != hiddenLast) { - m_node->setSortHiddenLast(hiddenLast); - update(); - } -} - -bool ViewProperties::sortHiddenLast() const -{ - return m_node->sortHiddenLast(); -} - void ViewProperties::setVisibleRoles(const QList& roles) { if (roles == visibleRoles()) { @@ -366,7 +353,6 @@ void ViewProperties::setDirProperties(const ViewProperties& props) setSortRole(props.sortRole()); setSortOrder(props.sortOrder()); setSortFoldersFirst(props.sortFoldersFirst()); - setSortHiddenLast(props.sortHiddenLast()); setVisibleRoles(props.visibleRoles()); setHeaderColumnWidths(props.headerColumnWidths()); m_node->setVersion(props.m_node->version()); diff --git a/src/views/viewproperties.h b/src/views/viewproperties.h index def8aa7381..a9daafc87a 100644 --- a/src/views/viewproperties.h +++ b/src/views/viewproperties.h @@ -62,9 +62,6 @@ public: void setSortFoldersFirst(bool foldersFirst); bool sortFoldersFirst() const; - void setSortHiddenLast(bool hiddenLast); - bool sortHiddenLast() const; - /** * Sets the additional information for the current set view-mode. * Note that the additional-info property is the only property where From 63e12c0cdf4e3437b95b9c50e5791dbf97183687 Mon Sep 17 00:00:00 2001 From: Nate Graham Date: Fri, 6 Aug 2021 10:46:33 -0600 Subject: [PATCH 03/13] Revert "Show hidden files and folders last" This reverts commit 996e430b62075c5b69571f141456dbe5f2956679. The accompanying feature to make the behavior configurable and disable it by default was reverted in 21.08, so we need to revert the feature itself as well and only ship it in 21.12, to avoid changing people's setting back and forth, which is often not well-received. --- src/kitemviews/kfileitemmodel.cpp | 9 ----- src/tests/kfileitemmodeltest.cpp | 62 +++---------------------------- 2 files changed, 5 insertions(+), 66 deletions(-) diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index e03ec7c0e9..5b3c06d83c 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -1733,15 +1733,6 @@ bool KFileItemModel::lessThan(const ItemData* a, const ItemData* b, const QColla } } - // Show hidden files and folders last - const bool isHiddenA = a->item.isHidden(); - const bool isHiddenB = b->item.isHidden(); - if (isHiddenA && !isHiddenB) { - return false; - } else if (!isHiddenA && isHiddenB) { - return true; - } - if (m_sortDirsFirst || (DetailsModeSettings::directorySizeCount() && m_sortRole == SizeRole)) { const bool isDirA = a->item.isDir(); const bool isDirB = b->item.isDir(); diff --git a/src/tests/kfileitemmodeltest.cpp b/src/tests/kfileitemmodeltest.cpp index f527fbc61b..558a00ab59 100644 --- a/src/tests/kfileitemmodeltest.cpp +++ b/src/tests/kfileitemmodeltest.cpp @@ -812,19 +812,6 @@ void KFileItemModelTest::testRemoveFilteredExpandedItems() void KFileItemModelTest::testSorting() { - // testDir structure is as follows - // ./ - // ├─ a - // ├─ b - // ├─ c/ - // │ ├─ c-2/ - // │ │ ├─ c-3 - // │ ├─ c-1 - // ├─ d - // ├─ e - // ├─ .f - // ├─ .g/ - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved); QVERIFY(itemsMovedSpy.isValid()); @@ -849,27 +836,17 @@ void KFileItemModelTest::testSorting() m_testDir->createFile("d", "The largest file in this directory", now.addDays(-1)); m_testDir->createFile("e", "An even larger file", now.addDays(-4)); m_testDir->createFile(".f"); - m_testDir->createDir(".g"); m_model->loadDirectory(m_testDir->url()); QVERIFY(itemsInsertedSpy.wait()); - QCOMPARE(itemsInsertedSpy.count(), 1); - KItemRangeList itemRangeList = itemsInsertedSpy.takeFirst().at(0).value(); - QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 5)); int index = m_model->index(QUrl(m_testDir->url().url() + "/c")); m_model->setExpanded(index, true); QVERIFY(itemsInsertedSpy.wait()); - QCOMPARE(itemsInsertedSpy.count(), 1); - itemRangeList = itemsInsertedSpy.takeFirst().at(0).value(); - QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(1, 2)); index = m_model->index(QUrl(m_testDir->url().url() + "/c/c-2")); m_model->setExpanded(index, true); QVERIFY(itemsInsertedSpy.wait()); - QCOMPARE(itemsInsertedSpy.count(), 1); - itemRangeList = itemsInsertedSpy.takeFirst().at(0).value(); - QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(2, 1)); // Default: Sort by Name, ascending QCOMPARE(m_model->sortRole(), QByteArray("text")); @@ -965,36 +942,7 @@ void KFileItemModelTest::testSorting() QCOMPARE(itemsMovedSpy.first().at(0).value(), KItemRange(4, 4)); QCOMPARE(itemsMovedSpy.takeFirst().at(1).value >(), QList() << 7 << 6 << 5 << 4); - // 'Show Hidden Files' enabled - m_model->setShowHiddenFiles(true); - QVERIFY(m_model->showHiddenFiles()); - QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "d" << "e" << "b" << "a" << ".g" << ".f"); - QCOMPARE(itemsMovedSpy.count(), 0); - QCOMPARE(itemsInsertedSpy.count(), 1); - QCOMPARE(itemsInsertedSpy.takeFirst().at(0).value(), KItemRangeList() << KItemRange(8, 2)); - - // Sort by Name - m_model->setSortRole("text"); - QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "e" << "d" << "b" << "a" << ".g" << ".f"); - QCOMPARE(itemsMovedSpy.count(), 1); - QCOMPARE(itemsMovedSpy.first().at(0).value(), KItemRange(4, 2)); - QCOMPARE(itemsMovedSpy.takeFirst().at(1).value >(), QList() << 5 << 4); - - // Sort ascending - m_model->setSortOrder(Qt::AscendingOrder); - QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "a" << "b" << "d" << "e" << ".g" << ".f"); - QCOMPARE(itemsMovedSpy.count(), 1); - QCOMPARE(itemsMovedSpy.first().at(0).value(), KItemRange(4, 4)); - QCOMPARE(itemsMovedSpy.takeFirst().at(1).value >(), QList() << 7 << 6 << 5 << 4); - - // 'Sort Folders First' disabled - m_model->setSortDirectoriesFirst(false); - QVERIFY(!m_model->sortDirectoriesFirst()); - QCOMPARE(itemsInModel(), QStringList() << "a" << "b" << "c" << "c-1" << "c-2" << "c-3" << "d" << "e" << ".f" << ".g"); - QCOMPARE(itemsMovedSpy.count(), 1); - QCOMPARE(itemsMovedSpy.first().at(0).value(), KItemRange(0, 10)); - QCOMPARE(itemsMovedSpy.takeFirst().at(1).value >(), QList() << 2 << 4 << 5 << 3 << 0 << 1 << 6 << 7 << 9 << 8); - + // TODO: Sort by other roles; show/hide hidden files } void KFileItemModelTest::testIndexForKeyboardSearch() @@ -1151,7 +1099,7 @@ void KFileItemModelTest::testRemoveHiddenItems() m_model->setShowHiddenFiles(true); m_model->loadDirectory(m_testDir->url()); QVERIFY(itemsInsertedSpy.wait()); - QCOMPARE(itemsInModel(), QStringList() << "c" << "d" << "h" << "i" << ".a" << ".b" <<".f" << ".g"); + QCOMPARE(itemsInModel(), QStringList() << ".a" << ".b" << "c" << "d" <<".f" << ".g" << "h" << "i"); QCOMPARE(itemsInsertedSpy.count(), 1); QCOMPARE(itemsRemovedSpy.count(), 0); KItemRangeList itemRangeList = itemsInsertedSpy.takeFirst().at(0).value(); @@ -1162,14 +1110,14 @@ void KFileItemModelTest::testRemoveHiddenItems() QCOMPARE(itemsInsertedSpy.count(), 0); QCOMPARE(itemsRemovedSpy.count(), 1); itemRangeList = itemsRemovedSpy.takeFirst().at(0).value(); - QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(4, 4)); + QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 2) << KItemRange(4, 2)); m_model->setShowHiddenFiles(true); - QCOMPARE(itemsInModel(), QStringList() << "c" << "d" << "h" << "i" << ".a" << ".b" <<".f" << ".g"); + QCOMPARE(itemsInModel(), QStringList() << ".a" << ".b" << "c" << "d" <<".f" << ".g" << "h" << "i"); QCOMPARE(itemsInsertedSpy.count(), 1); QCOMPARE(itemsRemovedSpy.count(), 0); itemRangeList = itemsInsertedSpy.takeFirst().at(0).value(); - QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(4, 4)); + QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 2) << KItemRange(2, 2)); m_model->clear(); QCOMPARE(itemsInModel(), QStringList()); From 9fc1e5397b4f625c6cebd0937378a2f9b337e78f Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Mon, 9 Aug 2021 01:36:37 +0000 Subject: [PATCH 04/13] GIT_SILENT made messages (after extraction) --- src/org.kde.dolphin.appdata.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/org.kde.dolphin.appdata.xml b/src/org.kde.dolphin.appdata.xml index 17f529056e..82f67f47fd 100644 --- a/src/org.kde.dolphin.appdata.xml +++ b/src/org.kde.dolphin.appdata.xml @@ -22,6 +22,7 @@ Dolphin Dolphin Dolphin + डॉल्फ़िन Dolphin Dolphin Dolphin @@ -72,6 +73,7 @@ Gestionnaire de fichiers Xestor de ficheiros מנהל קבצים + फ़ाइल प्रबंधक Fájlkezelő Gerente de File Pengelola File @@ -114,6 +116,7 @@

Dolphin zure disko zurrun, USB memoria, SD txartel, eta gehiagoren edukian nabigatu eta arakatzen uzten dizun KDEren fitxategi-kudeatzailea da. Fitxategi eta karpetak sortzea, mugitzea, edo ezabatzea erraza eta azkarra da.

Dolphin on KDE:n tiedostonhallinta, jolla voit selata kiintolevyjen, USB-tikkujen, SD-korttien ja muiden tallennusvälineiden sisältöä. Tiedostojen ja kansioiden luominen, siirtäminen ja poistaminen on yksinkertaista ja helppoa.

Dolphin est le gestionnaire de fichiers de KDE, vous permettant de naviguer et d'explorer le contenu de vos disques durs, vos clés USB et bien plus. La création, le déplacement ou la suppression de fichiers et de dossiers sont simples et rapides.

+

डॉल्फ़िन केडीई का फ़ाइल प्रबंधक है जो आपको अपनी हार्ड ड्राइव, यूएसबी स्टिक, एसडी कार्ड आदि की सामग्री को संचालन और विचरण करने देता है। इसमें फ़ाइलों और फ़ोल्डरों को बनाना, स्थानांतरित करना या हटाना सरल और तेज़ है।

A Dolphin a KDE fájlkezelője, amely lehetővé teszi a merevlemezei, USB-kulcsai, SD-kártyái és más adathordozói tartalmának böngészését. Gyorsan és egyszerűen hozhat létre, helyezhet át vagy törölhet vele fájlokat és mappákat.

Dolphin es le gerente de file de KDE que te permitte navigar e explorar le contentos de tu discos dur, claves de memoria USB, cartas SD, e altere. Crear, mover o deler file e dossieres es simpe e rapide.

Dolphin adalah pengelola file KDE yang memungkinkan kamu menavigasi dan menelusuri konten hard drive, stik USB, kartu SD, dan lainnya. Membuat, memindahkan, atau menghapus file dan folder itu sederhana dan cepat.

@@ -144,6 +147,7 @@

Dolphin-ek denbora aurreztuko dizuten produktibitate-ezaugarri ugari ditu. Fitxa anitzen eta ikuspegi zatituen ezaugarriek aldi berean karpeta anitz nabigatzen uzten dute, eta fitxategiak ikuspegien artean arrastatu eta jaregin ditzakezu haiek erraz mugitu edo kopiatzeko. Dolphin-en eskuin-klik laster-menuak, besteak beste, fitxategiak konprimatzeko, partekatzeko, eta bikoizteko ekintza azkarrak eskaintzen ditu. Zuk nahi dituzun ekintzak ere erants ditzakezu.

Dolphinin monet tuottavuusominaisuudet säästävät aikaasi. Välilehdet ja jaetut näkyvät mahdollistavat useamman kansion tarkastelun yhtä aikaa, jolloin tiedostoja voi helposti kopioida tai siirtää näkymästä toiseen vetämällä ja pudottamalla. Dolphinin kontekstivalikon tarjoamin pikatoiminnoin tiedostoja voi muun muassa pakata, jakaa ja monistaa. Myös omia mukautettuja toimintoja voi luoda.

Dolphin contient de nombreuses fonctionnalités pour la productivité vous permettant de gagner du temps. Les fonctionnalités d'onglets multiples et d'affichage scindé vous permettent de naviguer dans plusieurs dossiers en même temps. Vous pouvez aussi réaliser facilement des glisser et déposer entre les affichages pour les déplacer ou les copier. Le menu de Dolphin accessible par un clic droit fournit plusieurs actions rapides vous permettant de compresser, partager et dupliquer des fichiers, entre autres actions. Vous pouvez aussi ajouter votre propres actions personnalisées.

+

डॉल्फिन में बहुत सारी उत्पादकता विशेषताएं होती हैं जो आपका समय बचाएगी। एकाधिक टैब और विभाजित दृश्य सुविधाएं एक ही समय में एकाधिक फ़ोल्डरों को संचालित करने में काम आतीं हैं, और आप फ़ाइलों को स्थानांतरित करने या नकल करने के लिए आसानी से फ़ाइलों को खींच कर छोड़ सकते हैं। डॉल्फ़िन का दाहिना-क्लिक मेनू कई द्रुत क्रियाएं प्रदान करता है जो आपको कई अन्य चीजों के साथ-साथ फ़ाइलों को संपीड़ित, साझा और प्रतिलिपि बनाने देता है। आप अपनी खुद की तदनुकूल कार्रवाइयां भी जोड़ सकते हैं।

A Dolphin számos olyan funkcióval bír, amelyek időt spórolnak Önnek. A lapokkal és osztott nézetekkel egyszerre navigálhat több mappában egyszerre, és könnyen húzhat át fájlokat az egyik nézetből a másikba, átmásolva vagy áthelyezve azokat. A Dolphin jobb gombos menüje rengeteg gyors műveletet biztosít, például tömörítést, megosztást vagy fájlduplikálást. Akár saját műveletekkel is bővítheti azt.

Dolphin contine abundantia de characteristicas de productivitate que te salveguardera tempore. Le characteristicas de multiple schedas e vista dividite permitte navigar dossieres multiple al mesme tempore, e tu pote facilemente traher e deponer files inter vistas per mover o copiar los. Le menu de pulsar a dextere de Dolphines fornite con multe actiones rapide que te permitte comprimer, compartir, e duplicar files, inter multe altere cosas. Tu anqu pote adder tu actiones personalisate.

Dolphin mengandung banyak fitur produktivitas yang akan menghemat waktumu. Fitur multi tab dan tampilan terpisah memungkinkan navigasi beberapa folder secara bersamaan, dan kamu bisa dengan mudah menyeret dan meletakkan file antar tampilan untuk memindahkan atau menyalinnya. Menu klik kanan pada dolphin menyediakan banyak tindakan cepat yang memungkinkan kamu mengompres, berbagi, dan menggandakan file, di antara banyak hal lainnya. Kamu juga bisa menambahkan tindakan kustom milikmu sendiri.

@@ -174,6 +178,7 @@

Dolphin oso arina da, baina, aldi berean, zure beharretara egoki dezakezu. Horrek esan nahi du fitxategien kudeaketa zuk nahi duzun modura egin dezakezula. Dolphin-ek hiru ikuspegi modu ezberdin onartzen ditu: fitxategi guztien sareta-ikuspegi klasiko bat, xehetasun gehiago dituen ikuspegi bat, eta zuhaitz-ikuspegi bat. Dolphin-en jokabide gehienak ere konfigura ditzakezu.

Dolphin on hyvin kevyt mutta samalla sovitettavissa tarpeisiisi, joten voit hallita tiedostojasi juuri kuten haluat. Dolphin tukee kolmea eri näkymää: perinteistä ruudukkoa, yksityiskohtaisempaa tilanäkymää ja puunäkymää. Useimpia Dolphinin toiminta-asetuksia voi säätää.

Dolphin est peu consommateur de ressources mais, en même temps, vous pouvez l'adapter à vos besoins spécifiques. Cela signifie que vous pouvez configurer votre gestion de fichiers, exactement comme vous le souhaitez. Dolphin prend en charge trois modes différents d'affichage : un affichage classique en grille pour tous vos fichiers, un affichage plus détaillé et un affichage en arborescence. Vous pouvez configurer la plupart des comportement de Dolphin.

+

डॉल्फ़िन बहुत हल्का है, लेकिन साथ ही, आप इसे अपनी विशिष्ट ज़रूरतों के अनुसार अनुकूलित कर सकते हैं। इसका मतलब है कि आप अपने फ़ाइल प्रबंधन को ठीक वैसे ही कर सकते हैं जैसे आप चाहते हैं। डॉल्फ़िन तीन अलग-अलग दृश्य मोड का समर्थन करता है: सभी फ़ाइलों का एक क्लासिक ग्रिड दृश्य, एक अधिक विस्तृत दृश्य और एक ट्री व्यू। आप अधिकांश डॉल्फ़िन के व्यवहार को भी विन्यस्त कर सकते हैं।

A Dolphin pehelysúlyú, ugyanakkor a saját igényeire is szabhatja, vagyis a fájlkezelést teljesen a saját szája íze szerint végezheti. A Dolphin három nézetmódot támogat: a klasszikus rácsnézetet, a részletes nézetet és a fastruktúra nézetet. A legtöbb funkciót módosíthatja.

Dolphin es multe legier, ma al mesme tempore, tu pote adaptar lo a tu necessitates speific. Isto significa que tu pote complir tu gestion de file exactemente in le modo que tu vole. Dolphin supporta tres modos de vista differente: un vista classic de grillia de omne le files, un vista plus detaliate, e un vista a arbore. Tu anque pote configurar le majoritate del comportamento de Dolphin.

Dolphin sangat ringan, tetapi pada saat yang sama, kamu bisa menyesuaikannya dengan kebutuhan spesifikmu. Ini berarti kamu bisa menjalankan pengelola file-mu persis seperti yang kamu inginkan. Dolphin mendukung tiga mode tampilan yang berbeda: tampilan kisi klasik dari semua file, tampilan yang lebih detail, dan tampilan ranting. Kamu juga bisa mengkonfigurasi sebagian besar perilaku Dolphin.

@@ -204,6 +209,7 @@

Dolphin-ek Interneteko hodei-zerbitzu askotako eta urruneko beste makina batzuetako fitxategi eta karpetak zure mahaigainean egongo balira bezala erakuts ditzake.

Dolphin osaa näyttää tiedostot ja kansiot monista internetin pilvipalveluista sekä etäkoneilta kuin ne olisivat välittömästi työpöydälläsi.

Dolphin peut afficher des fichiers et des dossiers à partir de nombreux services de stockage sur Internet (Cloud) et d'ordinateurs distants, comme s'ils étaient directement sur votre ordinateur.

+

डॉल्फ़िन कई इंटरनेट क्लाउड सेवाओं और अन्य दूरस्थ मशीनों से फ़ाइलें और फ़ोल्डर प्रदर्शित इस प्रकार कर सकता है जैसे कि वे आपके डेस्कटॉप पर ही हैं।

A Dolphin úgy képes fájlokat megjeleníteni számos felhőszolgáltatásból vagy távoli gépekről, mintha azok a saját számítógépén lennének.

Dolphin pote monstrar files e dossieres ab multe servicios cloud de internet e altere machinas remote como si illos esseva exactemente sur tu scriptorio.

Dolphin bisa menampilkan file dan folder dari banyak layanan cloud Internet dan mesin jarak jauh lainnya seolah-olah mereka ada di desktop-mu.

@@ -234,6 +240,7 @@

Dolphin-ek terminal bat ere badu, uneko karpetan komandoak erabiltzeko aukera ematen duena. Dolphin-en gaitasunak are gehiago hedatu ditzakezu zure lan egiteko modura egokitzeko plugin ahaltsuak erabiliz. Git bateratzeko plugina erabil dezakezu Git gordetegiekin elkarreragiteko, edo Nextcloud plugina zure fitxategiak lerroan sinkronizatzeko, eta askoz gehiago.

Dolphinissa on myös sisään rakennettu pääte komentojen suorittamiseksi nykyisessä kansiossa. Dolphinin ominaisuuksia voi myös laajentaa sopimaan työtapaasi tehokkain laajennuksin. Git-integrointiliitännäinen auttaa toimimaan Git-lähteiden kanssa, Nextcloud-liitännäisellä voi synkronoida tiedostot verkkoon jne.

Dolphin est aussi livré avec un terminal intégré, vous permettant d'exécuter des commandes sur votre dossier courant. Vous pouvez étendre les fonctionnalités de Dolphin encore plus avec de puissants modules externes pour s'adapter à vos processus de travail. Vous pouvez utiliser le module externe « git » pour interagir avec les dépôts « git » ou le module externe « Nextcloud » pour synchroniser vos fichiers en ligne et bien d'autres choses encore.

+

डॉल्फ़िन भी एक एकीकृत टर्मिनल के साथ आता है जो आपको वर्तमान फ़ोल्डर पर समादेश चलाने की अनुमति देता है। आप डॉल्फ़िन क्षमताओं को अपने कार्यप्रवाह में अनुकूलित करने के लिए शक्तिशाली प्लग इन के साथ और भी अधिक बढ़ा सकते हैं। आप git रिपॉजिटरी के साथ अंत:क्रिया करने के लिए git एकीकरण प्लगइन का उपयोग कर सकते हैं, या अपनी फ़ाइलों को ऑनलाइन समकालन करने के लिए नेक्स्टक्लाउड प्लगइन का उपयोग कर सकते हैं, और भी बहुत कुछ।

A Dolphin tovább tartalmaz egy integrált terminálemulátort, amely lehetővé teszi parancsok futtatását az aktuális mappában. Bővítményekkel még jobban kiterjesztheti a Dolphin képességeinek határait. A git integrációs bővítménnyek git tárolókat kezelhet, a Nextcloud bővítménnyel szinkronizálhatja fájljait, és így tovább.

Dolphin anque deveni con un terminal integrate que te permitte executar commandos sur le dossier currente. Tu pote extender le capacitates de Dolphin anque plus avante con plugins potente per adaptar lo a tu fluxo de labor. Tu pote usar le plugin de integrationde git per affectar con repositorios de git, o le plugin de Nextcloud per synchronisar tu files in linea, a multe altere.

Dolphin juga dilengkapi dengan terminal terintegrasi yang memungkinkan kamu menjalankan perintah di folder saat ini. Kamu bisa memperluas kemampuan Dolphin lebih jauh dengan plugin yang hebat untuk menyesuaikannya dengan alur kerja kamu. Kamu bisa menggunakan plugin integrasi git untuk berinteraksi dengan repositori git, atau plugin Nextcloud untuk menyinkronkan file-mu secara online, dan banyak lagi.

@@ -278,6 +285,7 @@ Gestion de fichiers dans Dolphin Xestión de ficheiros en Dolphin ניהול קבצים ב־Dolphin + डॉल्फिन में फ़ाइल प्रबंधन Fájlkezelés a Dolphinban Gerente de file in Dolphin Pengelolaan file di Dolphin @@ -317,6 +325,7 @@ Dolphinen txertatutako terminala Upotettu pääte Dolphinissa Terminal intégré dans Dolphin + डॉल्फिन में सन्निहित टर्मिनल Beágyazott terminál a Dolphinban Terminal incorporate in Dolphin Terminale integrato in Dolphin @@ -347,6 +356,7 @@ Dolphinek zure fitxategi-kudeatzailea nahi duzun eran konfiguratzen uzten dizu Dolphinilla voit tehdä tiedostonhallintaa juuri kuten haluat Dolphin vous permet de configurer votre gestionnaire de fichiers, exactement comme vous le souhaitez. + डॉल्फ़िन आपको अपने फ़ाइल प्रबंधक को ठीक वैसे ही विन्यस्त करने देता है जैसे आप चाहते हैं A Dolphin lehetővé teszi, hogy úgy állítsa be a fájlkezelőkét, ahogyan szeretné Dolphin te permitte configurar tu gerente de file exactemente como tu lo vole Dolphin ti consente di configurare il tuo gestore file esattamente come desideri From e101560f8448470a629e70e78ca3571c222036ff Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Mon, 9 Aug 2021 02:11:38 +0000 Subject: [PATCH 05/13] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- src/dolphinpart.desktop.in | 4 ++++ src/org.kde.dolphin.desktop | 2 ++ src/settings/kcm/kcmdolphingeneral.desktop | 5 +++++ src/settings/kcm/kcmdolphinnavigation.desktop | 5 +++++ src/settings/kcm/kcmdolphinviewmodes.desktop | 5 +++++ .../versioncontrol/fileviewversioncontrolplugin.desktop | 1 + 6 files changed, 22 insertions(+) diff --git a/src/dolphinpart.desktop.in b/src/dolphinpart.desktop.in index 619b3c3a8b..bc0e342e27 100644 --- a/src/dolphinpart.desktop.in +++ b/src/dolphinpart.desktop.in @@ -17,6 +17,7 @@ Name[eu]=Dolphin ikuspegia Name[fi]=Dolphin-näkymä Name[fr]=Vue de Dolphin Name[gl]=Vista de Dolphin +Name[hi]=डॉल्फ़िन दृश्य Name[hu]=Dolphin nézet Name[ia]=Vista de Dolphin Name[id]=Tampilan Dolphin @@ -87,6 +88,7 @@ Name[fi]=Kuvakkeet Name[fr]=Icônes Name[gl]=Iconas Name[he]=סמלים +Name[hi]=प्रतीक Name[hu]=Ikonok Name[ia]=Icones Name[id]=Ikon @@ -143,6 +145,7 @@ Name[fi]=Tiivis Name[fr]=Concis Name[gl]=Compacta Name[he]=חסכונית +Name[hi]=सघन Name[hu]=Kompakt Name[ia]=Compacte Name[id]=Ringkas @@ -198,6 +201,7 @@ Name[fi]=Yksityiskohdat Name[fr]=Détails Name[gl]=Detalles Name[he]=פרטים +Name[hi]=विवरण Name[hu]=Részletek Name[ia]=Detalios Name[id]=Perincian diff --git a/src/org.kde.dolphin.desktop b/src/org.kde.dolphin.desktop index 63509b4762..9489ab3704 100755 --- a/src/org.kde.dolphin.desktop +++ b/src/org.kde.dolphin.desktop @@ -17,6 +17,7 @@ Name[fi]=Dolphin Name[fr]=Dolphin Name[gl]=Dolphin Name[he]=Dolphin +Name[hi]=डॉल्फ़िन Name[hu]=Dolphin Name[ia]=Dolphin Name[id]=Dolphin @@ -73,6 +74,7 @@ GenericName[fi]=Tiedostonhallinta GenericName[fr]=Gestionnaire de fichiers GenericName[gl]=Xestor de ficheiros GenericName[he]=מנהל קבצים +GenericName[hi]=फ़ाइल प्रबंधक GenericName[hu]=Fájlkezelő GenericName[ia]=Gerente de file GenericName[id]=Pengelola File diff --git a/src/settings/kcm/kcmdolphingeneral.desktop b/src/settings/kcm/kcmdolphingeneral.desktop index 9753285fa8..8b4e4f4d36 100644 --- a/src/settings/kcm/kcmdolphingeneral.desktop +++ b/src/settings/kcm/kcmdolphingeneral.desktop @@ -16,6 +16,7 @@ Name[fi]=Dolphin – yleiset Name[fr]=Dolphin général Name[gl]=Xerais de Dolphin Name[he]=כללי ב־Dolphin +Name[hi]=डॉल्फ़िन साधारण Name[hu]=Dolphin: Általános Name[ia]=Dolphin General Name[id]=Dolphin Umum @@ -67,6 +68,7 @@ Comment[fi]=Tällä palvelulla voi muokata Dolphinin yleisasetuksia. Comment[fr]=Ce service permet de configurer les paramètres généraux de Dolphin. Comment[gl]=Este servizo permite configurar opcións xerais de Dolphin. Comment[he]=שרות זה מאפשר את ההגדרה של הגדרות Dolphin הכלליות. +Comment[hi]=यह सेवा साधारण डॉल्फिन सेटिंग्स के विन्यास की अनुमति देती है। Comment[hu]=Ez a szolgáltatás lehetővé teszi a Dolphin általános beállításainak módosítását. Comment[ia]=Iste servicio permitte configuration del preferentias general de Dolphin. Comment[id]=Layanan ini memungkinkan konfigurasi pengaturan umum Dolphin. @@ -127,6 +129,7 @@ Name[fi]=Yleiset Name[fr]=Général Name[gl]=Xerais Name[he]=כללי +Name[hi]=साधारण Name[hu]=Általános Name[ia]=General Name[id]=Umum @@ -177,6 +180,7 @@ Comment[fi]=Tiedostonhallinnan yleisasetukset Comment[fr]=Configuration des paramètres généraux du gestionnaire de fichiers Comment[gl]=Configurar opcións xerais de xestores de ficheiros. Comment[he]=תצורת ההגדרות הכלליות של מנהל הקבצים +Comment[hi]=साधारण फ़ाइल प्रबंधक सेटिंग्स विन्यस्त करें Comment[hu]=A fájlkezelő általános beállításainak módosítása Comment[ia]=Configura preferentias del gerente general de file Comment[id]=Konfigurasikan pengaturan pengelola file umum @@ -227,6 +231,7 @@ X-KDE-Keywords[fi]=tiedostonhallinta X-KDE-Keywords[fr]=gestionnaire de fichiers X-KDE-Keywords[gl]=xestor de ficheiros X-KDE-Keywords[he]=מנהל קבצים +X-KDE-Keywords[hi]=फ़ाइल प्रबंधक X-KDE-Keywords[hu]=fájlkezelő X-KDE-Keywords[ia]=gerente de file X-KDE-Keywords[id]=pengelola file diff --git a/src/settings/kcm/kcmdolphinnavigation.desktop b/src/settings/kcm/kcmdolphinnavigation.desktop index 0ff189a473..dd69975f12 100644 --- a/src/settings/kcm/kcmdolphinnavigation.desktop +++ b/src/settings/kcm/kcmdolphinnavigation.desktop @@ -16,6 +16,7 @@ Name[fi]=Dolphin – selaus Name[fr]=Navigation avec Dolphin Name[gl]=Navegación de Dolphin Name[he]=ניווט ב־Dolphin +Name[hi]=डॉल्फ़िन संचालन Name[hu]=Dolphin: Navigáció Name[ia]=Navigation de Dolphin Name[id]=Navigasi Dolphin @@ -67,6 +68,7 @@ Comment[fi]=Tällä palvelulla voi muokata Dolphinin selausasetuksia. Comment[fr]=Ce service permet de configurer la navigation avec Dolphin. Comment[gl]=Este servizo permite configurar a navegación de Dolphin. Comment[he]=שרות זה מאפשר את ההגדרה של הניווט ב־Dolphin. +Comment[hi]=यह सेवा डॉल्फिन संचालन के विन्यास की अनुमति देती है। Comment[hu]=Ez a szolgáltatás lehetővé teszi a Dolphin navigálásának beállítását. Comment[ia]=Iste servicio permitte le configuration del navigation de Dolphin. Comment[id]=Layanan ini memungkinkan konfigurasi navigasi Dolphin. @@ -126,6 +128,7 @@ Name[fi]=Selaus Name[fr]=Navigation Name[gl]=Navegación Name[he]=ניווט +Name[hi]=संचालन Name[hu]=Navigálás Name[ia]=Navigation Name[id]=Navigasi @@ -177,6 +180,7 @@ Comment[fi]=Tiedostonhallinnan selausasetukset Comment[fr]=Configuration la navigation avec le gestionnaire de fichiers Comment[gl]=Configurar a navegación do xestor de ficheiros. Comment[he]=הגדרת הניווט במנהל הקבצים +Comment[hi]=फ़ाइल प्रबंधक संचालन विन्यस्त करें Comment[hu]=A fájlkezelő navigálásának beállítása Comment[ia]=Configura navigation del gerente de file Comment[id]=Konfigurasikan navigasi pengelola file @@ -228,6 +232,7 @@ X-KDE-Keywords[fi]=tiedostonhallinta X-KDE-Keywords[fr]=gestionnaire de fichiers X-KDE-Keywords[gl]=xestor de ficheiros X-KDE-Keywords[he]=מנהל קבצים +X-KDE-Keywords[hi]=फ़ाइल प्रबंधक X-KDE-Keywords[hu]=fájlkezelő X-KDE-Keywords[ia]=gerente de file X-KDE-Keywords[id]=pengelola file diff --git a/src/settings/kcm/kcmdolphinviewmodes.desktop b/src/settings/kcm/kcmdolphinviewmodes.desktop index f6b0a0a6c9..f41b535aa3 100644 --- a/src/settings/kcm/kcmdolphinviewmodes.desktop +++ b/src/settings/kcm/kcmdolphinviewmodes.desktop @@ -15,6 +15,7 @@ Name[eu]=Dolphin ikuspegi moduak Name[fi]=Dolphin – näkymät Name[fr]=Modes d'affichage de Dolphin Name[gl]=Modos de vista de Dolphin +Name[hi]=डॉल्फ़िन दृश्य मोड Name[hu]=Dolphin: Nézetmódok Name[ia]=Modos de vista de Dolphin Name[id]=Mode Tampilan Dolphin @@ -65,6 +66,7 @@ Comment[eu]=Zerbitzu honek Dolphinen ikuspegi moduak konfiguratzeko balio du. Comment[fi]=Tällä palvelulla voi muokata Dolphinin katselutilojen asetuksia. Comment[fr]=Ce service permet de configurer les modes d'affichage de Dolphin. Comment[gl]=Este servizo permite configurar os modos de vista de Dolphin. +Comment[hi]=यह सेवा डॉल्फिन दृश्य मोड के विन्यास की अनुमति देती है। Comment[hu]=Ez a szolgáltatás lehetővé teszi a Dolphin nézetmódjainak beállítását. Comment[ia]=Iste servicio permitte configuration del modos de vista de Dolphin Comment[id]=Layanan ini memungkinkan konfigurasi mode tampilan Dolphin. @@ -123,6 +125,7 @@ Name[eu]=Ikuspegi moduak Name[fi]=Näkymät Name[fr]=Modes d'affichage Name[gl]=Modos de vista +Name[hi]=दृश्य मोड्स Name[hu]=Nézetmódok Name[ia]=Modos de vista Name[id]=Mode Tampilan @@ -173,6 +176,7 @@ Comment[eu]=Konfiguratu fitxategi-kudeatzailearen ikuspegi moduak Comment[fi]=Tiedostonhallinnan katselutilojen asetukset Comment[fr]=Configuration les modes d'affichage du gestionnaire de fichiers Comment[gl]=Configurar os modos de vista do xestor de ficheiros. +Comment[hi]=फ़ाइल प्रबंधक दृश्य मोड विन्यस्त करें Comment[hu]=A fájlkezelő nézetmódjainak beállítása Comment[ia]=Configura le modos de vista del gerente de file Comment[id]=Konfigurasikan mode tampilan pengelola file @@ -224,6 +228,7 @@ X-KDE-Keywords[fi]=tiedostonhallinta X-KDE-Keywords[fr]=gestionnaire de fichiers X-KDE-Keywords[gl]=xestor de ficheiros X-KDE-Keywords[he]=מנהל קבצים +X-KDE-Keywords[hi]=फ़ाइल प्रबंधक X-KDE-Keywords[hu]=fájlkezelő X-KDE-Keywords[ia]=gerente de file X-KDE-Keywords[id]=pengelola file diff --git a/src/views/versioncontrol/fileviewversioncontrolplugin.desktop b/src/views/versioncontrol/fileviewversioncontrolplugin.desktop index 5cffe9aacd..26bee0bcec 100644 --- a/src/views/versioncontrol/fileviewversioncontrolplugin.desktop +++ b/src/views/versioncontrol/fileviewversioncontrolplugin.desktop @@ -18,6 +18,7 @@ Comment[eu]=Bertsio-kontrolerako plugina fitxategi ikuspegietarako Comment[fi]=Versionhallintaliitännäinen tiedostonäkymille Comment[fr]=Module externe pour le contrôle de version applicable aux vues de fichiers Comment[gl]=Complemento de control de versión para vistas de ficheiros. +Comment[hi]=फ़ाइल दृश्यों के लिए संस्करण नियंत्रण प्लगइन Comment[hu]=Verziókezelő bővítmény a fájlnézetekhez Comment[ia]=Plugin de controlo de version pro vistas de file Comment[id]=Plugin Kendali Versi untuk Tampilan File From 7f4756aecba48f7b828301d9f8256d6376660855 Mon Sep 17 00:00:00 2001 From: Alexander Volkov Date: Tue, 10 Aug 2021 12:00:21 +0300 Subject: [PATCH 06/13] Avoid crash on start when help actions are restricted through the Kiosk system KHelpMenu may not create some actions, so check for nullptr before setting "What's this?" text. (cherry picked from commit 0ac57fbe90d580a514c3bac4cefaa9ed87f178f9) --- src/dolphinmainwindow.cpp | 57 +++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 52b3e8d6ab..961607d867 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -1688,8 +1688,13 @@ void DolphinMainWindow::setupActions() m_helpMenu = new KHelpMenu(nullptr); m_helpMenu->menu()->installEventFilter(this); // remove duplicate shortcuts - m_helpMenu->action(KHelpMenu::menuHelpContents)->setShortcut(QKeySequence()); - m_helpMenu->action(KHelpMenu::menuWhatsThis)->setShortcut(QKeySequence()); + auto removeHelpActionShortcut = [this](KHelpMenu::MenuId menuId) { + if (auto *action = m_helpMenu->action(menuId)) { + action->setShortcut(QKeySequence()); + } + }; + removeHelpActionShortcut(KHelpMenu::menuHelpContents); + removeHelpActionShortcut(KHelpMenu::menuWhatsThis); // not in menu actions QList nextTabKeys = KStandardShortcut::tabNext(); @@ -2285,6 +2290,18 @@ void DolphinMainWindow::setupWhatsThis() // StandardAction separately because both are used in different locations. // m_helpMenu is only used for createControlButton() button. + auto setStandardActionWhatsThis = [this](KStandardAction::StandardAction actionId, + const QString &whatsThis) { + if (auto *action = actionCollection()->action(KStandardAction::name(actionId))) { + action->setWhatsThis(whatsThis); + } + }; + auto setHelpActionWhatsThis = [this](KHelpMenu::MenuId menuId, const QString &whatsThis) { + if (auto *action = m_helpMenu->action(menuId)) { + action->setWhatsThis(whatsThis); + } + }; + // Links do not work within the Menubar so texts without links are provided there. // i18n: If the external link isn't available in your language you should @@ -2295,13 +2312,12 @@ void DolphinMainWindow::setupWhatsThis() const QString whatsThisHelpContents = xi18nc("@info:whatsthis handbook", "This opens the Handbook for this application. It provides " "explanations for every part of Dolphin."); - actionCollection()->action(KStandardAction::name(KStandardAction::HelpContents)) - ->setWhatsThis(whatsThisHelpContents + setStandardActionWhatsThis(KStandardAction::HelpContents, whatsThisHelpContents + xi18nc("@info:whatsthis second half of handbook hb text without link", "If you want more elaborate introductions to the " "different features of Dolphin " "go to the KDE UserBase Wiki.")); - m_helpMenu->action(KHelpMenu::menuHelpContents)->setWhatsThis(whatsThisHelpContents + setHelpActionWhatsThis(KHelpMenu::menuHelpContents, whatsThisHelpContents + xi18nc("@info:whatsthis second half of handbook text with link", "If you want more elaborate introductions to the " "different features of Dolphin " @@ -2313,8 +2329,7 @@ void DolphinMainWindow::setupWhatsThis() "using right now! Click it, then click any component of this " "application to ask \"What's this?\" about it. The mouse cursor " "will change appearance if no help is available for a spot."); - actionCollection()->action(KStandardAction::name(KStandardAction::WhatsThis)) - ->setWhatsThis(whatsThisWhatsThis + setStandardActionWhatsThis(KStandardAction::WhatsThis, whatsThisWhatsThis + xi18nc("@info:whatsthis second half of whatsthis button text without link", "There are two other ways to get help for this application: The " "Dolphin Handbook in the Help" @@ -2322,7 +2337,7 @@ void DolphinMainWindow::setupWhatsThis() "article about File Management online." "The \"What's this?\" help is " "missing in most other windows so don't get too used to this.")); - m_helpMenu->action(KHelpMenu::menuWhatsThis)->setWhatsThis(whatsThisWhatsThis + setHelpActionWhatsThis(KHelpMenu::menuWhatsThis, whatsThisWhatsThis + xi18nc("@info:whatsthis second half of whatsthis button text with link", "There are two other ways to get help: " "The Dolphin Handbook and " @@ -2333,9 +2348,8 @@ void DolphinMainWindow::setupWhatsThis() const QString whatsThisReportBug = xi18nc("@info:whatsthis","This opens a " "window that will guide you through reporting errors or flaws " "in this application or in other KDE software."); - actionCollection()->action(KStandardAction::name(KStandardAction::ReportBug)) - ->setWhatsThis(whatsThisReportBug); - m_helpMenu->action(KHelpMenu::menuReportBug)->setWhatsThis(whatsThisReportBug + setStandardActionWhatsThis(KStandardAction::ReportBug, whatsThisReportBug); + setHelpActionWhatsThis(KHelpMenu::menuReportBug, whatsThisReportBug + xi18nc("@info:whatsthis second half of reportbug text with link", "High-quality bug reports are much appreciated. To learn " "how to make your bug report as effective as possible " @@ -2352,33 +2366,30 @@ void DolphinMainWindow::setupWhatsThis() "require money like servers, contributor meetings, etc." "KDE e.V. is the non-profit " "organization behind the KDE community."); - actionCollection()->action(KStandardAction::name(KStandardAction::Donate)) - ->setWhatsThis(whatsThisDonate); - m_helpMenu->action(KHelpMenu::menuDonate)->setWhatsThis(whatsThisDonate); + setStandardActionWhatsThis(KStandardAction::Donate, whatsThisDonate); + setHelpActionWhatsThis(KHelpMenu::menuDonate, whatsThisDonate); const QString whatsThisSwitchLanguage = xi18nc("@info:whatsthis", "With this you can change the language this application uses." "You can even set secondary languages which will be used " "if texts are not available in your preferred language."); - actionCollection()->action(KStandardAction::name(KStandardAction::SwitchApplicationLanguage)) - ->setWhatsThis(whatsThisSwitchLanguage); - m_helpMenu->action(KHelpMenu::menuSwitchLanguage)->setWhatsThis(whatsThisSwitchLanguage); + setStandardActionWhatsThis(KStandardAction::SwitchApplicationLanguage, + whatsThisSwitchLanguage); + setHelpActionWhatsThis(KHelpMenu::menuSwitchLanguage, whatsThisSwitchLanguage); const QString whatsThisAboutApp = xi18nc("@info:whatsthis","This opens a " "window that informs you about the version, license, " "used libraries and maintainers of this application."); - actionCollection()->action(KStandardAction::name(KStandardAction::AboutApp)) - ->setWhatsThis(whatsThisAboutApp); - m_helpMenu->action(KHelpMenu::menuAboutApp)->setWhatsThis(whatsThisAboutApp); + setStandardActionWhatsThis(KStandardAction::AboutApp, whatsThisAboutApp); + setHelpActionWhatsThis(KHelpMenu::menuAboutApp, whatsThisAboutApp); const QString whatsThisAboutKDE = xi18nc("@info:whatsthis","This opens a " "window with information about KDE. " "The KDE community are the people behind this free software." "If you like using this application but don't know " "about KDE or want to see a cute dragon have a look!"); - actionCollection()->action(KStandardAction::name(KStandardAction::AboutKDE)) - ->setWhatsThis(whatsThisAboutKDE); - m_helpMenu->action(KHelpMenu::menuAboutKDE)->setWhatsThis(whatsThisAboutKDE); + setStandardActionWhatsThis(KStandardAction::AboutKDE, whatsThisAboutKDE); + setHelpActionWhatsThis(KHelpMenu::menuAboutKDE, whatsThisAboutKDE); } bool DolphinMainWindow::addHamburgerMenuToToolbar() From 943af95605c480fef0f98cbfabbabdef04d743dc Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Mon, 23 Aug 2021 01:54:12 +0000 Subject: [PATCH 07/13] GIT_SILENT made messages (after extraction) --- src/org.kde.dolphin.appdata.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org.kde.dolphin.appdata.xml b/src/org.kde.dolphin.appdata.xml index 82f67f47fd..4415fd67b0 100644 --- a/src/org.kde.dolphin.appdata.xml +++ b/src/org.kde.dolphin.appdata.xml @@ -309,7 +309,7 @@ Керування файлами у Dolphin Quản lí tệp trong Dolphin xxFile management in Dolphinxx - 用 Dolphin 进行文件管理 + 使用 Dolphin 管理文件 在 Dolphin 管理檔案 https://cdn.kde.org/screenshots/dolphin/dolphin.png From 696414069907b41f7738e3212ac0d68b58fed1bc Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Mon, 23 Aug 2021 02:29:46 +0000 Subject: [PATCH 08/13] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- src/dolphinpart.desktop.in | 2 +- src/settings/kcm/kcmdolphingeneral.desktop | 2 +- src/settings/kcm/kcmdolphinnavigation.desktop | 4 ++-- src/settings/kcm/kcmdolphinviewmodes.desktop | 2 +- src/views/versioncontrol/fileviewversioncontrolplugin.desktop | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/dolphinpart.desktop.in b/src/dolphinpart.desktop.in index bc0e342e27..2a121dbe64 100644 --- a/src/dolphinpart.desktop.in +++ b/src/dolphinpart.desktop.in @@ -232,7 +232,7 @@ Name[tr]=Ayrıntılar Name[uk]=Подробиці Name[vi]=Chi tiết Name[x-test]=xxDetailsxx -Name[zh_CN]=详细 +Name[zh_CN]=详情 Name[zh_TW]=詳細模式 Icon=view-list-tree # Dummy diff --git a/src/settings/kcm/kcmdolphingeneral.desktop b/src/settings/kcm/kcmdolphingeneral.desktop index 8b4e4f4d36..0c37e03f55 100644 --- a/src/settings/kcm/kcmdolphingeneral.desktop +++ b/src/settings/kcm/kcmdolphingeneral.desktop @@ -99,7 +99,7 @@ Comment[tr]=Bu servis genel Dolphin ayarlarını yapılandırmanızı sağlar. Comment[uk]=Ця служба надасть змогу налаштувати загальні параметри Dolphin. Comment[vi]=Dịch vụ này cho phép cấu hình các thiết lập chung của Dolphin. Comment[x-test]=xxThis service allows configuration of general Dolphin settings.xx -Comment[zh_CN]=此服务允许您配置 Dolphin 的常规设置。 +Comment[zh_CN]=此服务用于配置 Dolphin 的常规设置。 Comment[zh_TW]=此服務允許設定 Dolphin 的一般設定。 [Desktop Entry] diff --git a/src/settings/kcm/kcmdolphinnavigation.desktop b/src/settings/kcm/kcmdolphinnavigation.desktop index dd69975f12..954ad991fc 100644 --- a/src/settings/kcm/kcmdolphinnavigation.desktop +++ b/src/settings/kcm/kcmdolphinnavigation.desktop @@ -99,7 +99,7 @@ Comment[tr]=Bu servis Dolphin gezintisini yapılandırmanızı sağlar. Comment[uk]=Ця служба надасть змогу налаштувати навігацію у Dolphin. Comment[vi]=Dịch vụ này cho phép cấu hình điều hướng Dolphin. Comment[x-test]=xxThis service allows configuration of the Dolphin navigation.xx -Comment[zh_CN]=此服务允许您配置 Dolphin 的导航。 +Comment[zh_CN]=此服务用于配置 Dolphin 的导航功能。 Comment[zh_TW]=此服務允許設定 Dolphin 的導覽。 [Desktop Entry] @@ -212,7 +212,7 @@ Comment[tr]=Dosya yöneticisi gezintisini yapılandır Comment[uk]=Налаштувати навігацію у менеджері файлів Comment[vi]=Cấu hình điều hướng trình quản lí tệp Comment[x-test]=xxConfigure file manager navigationxx -Comment[zh_CN]=配置文件管理器导航 +Comment[zh_CN]=配置文件管理器导航功能 Comment[zh_TW]=設定檔案管理員導覽 X-KDE-Keywords=file manager X-KDE-Keywords[ar]=مدير ملفّات ملفات الملفّات الملفات diff --git a/src/settings/kcm/kcmdolphinviewmodes.desktop b/src/settings/kcm/kcmdolphinviewmodes.desktop index f41b535aa3..5bbb0eed5d 100644 --- a/src/settings/kcm/kcmdolphinviewmodes.desktop +++ b/src/settings/kcm/kcmdolphinviewmodes.desktop @@ -97,7 +97,7 @@ Comment[tr]=Bu servis Dolphin görünüm kiplerini yapılandırmanızı sağlar. Comment[uk]=Ця служба надасть змогу налаштувати режими перегляду Dolphin. Comment[vi]=Dịch vụ này cho phép cấu hình các chế độ xem Dolphin. Comment[x-test]=xxThis service allows configuration of the Dolphin view modes.xx -Comment[zh_CN]=此服务允许您配置 Dolphin 的视图模式。 +Comment[zh_CN]=此服务用于配置 Dolphin 的视图模式。 Comment[zh_TW]=此服務允許設定 Dolphin 的檢視模式。 [Desktop Entry] diff --git a/src/views/versioncontrol/fileviewversioncontrolplugin.desktop b/src/views/versioncontrol/fileviewversioncontrolplugin.desktop index 26bee0bcec..b82ac8483d 100644 --- a/src/views/versioncontrol/fileviewversioncontrolplugin.desktop +++ b/src/views/versioncontrol/fileviewversioncontrolplugin.desktop @@ -49,5 +49,5 @@ Comment[tr]=Dosya Görünümleri için Sürüm Kontrol Eklentisi Comment[uk]=Додаток керування версіями для панелей перегляду файлів Comment[vi]=Phần cài cắm "Quản lí phiên bản" cho khung xem tệp Comment[x-test]=xxVersion Control Plugin for File Viewsxx -Comment[zh_CN]=文件视图的版本控制插件 +Comment[zh_CN]=文件视图的版本控制系统插件 Comment[zh_TW]=檔案檢視的版本控制外掛程式 From 542e2a214a48a0eba6938381f1e043a37909f200 Mon Sep 17 00:00:00 2001 From: Alexander Lohnau Date: Sat, 14 Aug 2021 13:07:24 +0200 Subject: [PATCH 09/13] Fix selecting file always opening new instance Instead try to attach to all existing instances and quit after succeeding. BUG: 440663 --- src/global.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/global.cpp b/src/global.cpp index 197d6ec288..92b1f7f569 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -91,16 +91,14 @@ bool Dolphin::attachToExistingInstance(const QList& inputUrls, bool openFi newUrls.append(url); } } - dolphinInterfaces.front().second << newUrls; for (const auto& interface: qAsConst(dolphinInterfaces)) { - if (!interface.second.isEmpty()) { - auto reply = openFiles ? interface.first->openFiles(interface.second, splitView) : interface.first->openDirectories(interface.second, splitView); - reply.waitForFinished(); - if (!reply.isError()) { - interface.first->activateWindow(); - attached = true; - } + auto reply = openFiles ? interface.first->openFiles(newUrls, splitView) : interface.first->openDirectories(newUrls, splitView); + reply.waitForFinished(); + if (!reply.isError()) { + interface.first->activateWindow(); + attached = true; + break; } } return attached; From 1d125057cb6318bca795fd4a153c2675c881a9d1 Mon Sep 17 00:00:00 2001 From: Jan Paul Batrina Date: Thu, 19 Aug 2021 22:34:40 +0800 Subject: [PATCH 10/13] FoldersPanel: Fix inline renaming Commit 5a0da4a9c8d10dc1921077d84bdabf05d20150b0 changed the value for emitRoleEditingFinished() to a struct containing the new name, but folderspanel was not updated. BUG: 441124 --- src/panels/folders/folderspanel.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp index 82b2e1b126..19a05d2b69 100644 --- a/src/panels/folders/folderspanel.cpp +++ b/src/panels/folders/folderspanel.cpp @@ -15,6 +15,7 @@ #include "kitemviews/kitemlistcontainer.h" #include "kitemviews/kitemlistcontroller.h" #include "kitemviews/kitemlistselectionmanager.h" +#include "kitemviews/private/kitemlistroleeditor.h" #include "treeviewcontextmenu.h" #include "views/draganddrophelper.h" @@ -245,7 +246,8 @@ void FoldersPanel::slotRoleEditingFinished(int index, const QByteArray& role, co { if (role == "text") { const KFileItem item = m_model->fileItem(index); - const QString newName = value.toString(); + const EditResult retVal = value.value(); + const QString newName = retVal.newName; if (!newName.isEmpty() && newName != item.text() && newName != QLatin1Char('.') && newName != QLatin1String("..")) { const QUrl oldUrl = item.url(); QUrl newUrl = oldUrl.adjusted(QUrl::RemoveFilename); From 0f070b22c35b5d3eb78941a921bcc4ae4abaad06 Mon Sep 17 00:00:00 2001 From: Heiko Becker Date: Fri, 27 Aug 2021 22:39:28 +0200 Subject: [PATCH 11/13] GIT_SILENT Upgrade release service version to 21.08.1. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8766188f5c..7cd82296a5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.16) # KDE Application Version, managed by release script set (RELEASE_SERVICE_VERSION_MAJOR "21") set (RELEASE_SERVICE_VERSION_MINOR "08") -set (RELEASE_SERVICE_VERSION_MICRO "0") +set (RELEASE_SERVICE_VERSION_MICRO "1") set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") project(Dolphin VERSION ${RELEASE_SERVICE_VERSION}) From b9f320b1646140350edb82cfcf55bce7a325439f Mon Sep 17 00:00:00 2001 From: Heiko Becker Date: Fri, 27 Aug 2021 22:54:49 +0200 Subject: [PATCH 12/13] GIT_SILENT Update Appstream for new release --- src/org.kde.dolphin.appdata.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org.kde.dolphin.appdata.xml b/src/org.kde.dolphin.appdata.xml index 4415fd67b0..5e8ff38875 100644 --- a/src/org.kde.dolphin.appdata.xml +++ b/src/org.kde.dolphin.appdata.xml @@ -382,9 +382,9 @@ dolphin + - From 127e446ba09c1294f57e50bcfc574b6c8a311370 Mon Sep 17 00:00:00 2001 From: Eugene Popov Date: Sun, 29 Aug 2021 17:35:35 +0000 Subject: [PATCH 13/13] Filter the items that have changed --- src/kitemviews/kfileitemmodel.cpp | 41 +++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index 5b3c06d83c..ffd933d25d 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -1089,32 +1089,46 @@ void KFileItemModel::slotRefreshItems(const QList >& QSet changedRoles; KFileItemList changedFiles; + // Contains the indexes of the currently visible items + // that should get hidden and hence moved to m_filteredItems. + QVector newFilteredIndexes; + + // Contains currently hidden items that should + // get visible and hence removed from m_filteredItems + QList newVisibleItems; + QListIterator > it(items); while (it.hasNext()) { const QPair& itemPair = it.next(); const KFileItem& oldItem = itemPair.first; const KFileItem& newItem = itemPair.second; const int indexForItem = index(oldItem); + const bool newItemMatchesFilter = m_filter.matches(newItem); if (indexForItem >= 0) { m_itemData[indexForItem]->item = newItem; // Keep old values as long as possible if they could not retrieved synchronously yet. // The update of the values will be done asynchronously by KFileItemModelRolesUpdater. - QHashIterator it(retrieveData(newItem, m_itemData.at(indexForItem)->parent)); - QHash& values = m_itemData[indexForItem]->values; + ItemData * const itemData = m_itemData.at(indexForItem); + QHashIterator it(retrieveData(newItem, itemData->parent)); while (it.hasNext()) { it.next(); const QByteArray& role = it.key(); - if (values.value(role) != it.value()) { - values.insert(role, it.value()); + if (itemData->values.value(role) != it.value()) { + itemData->values.insert(role, it.value()); changedRoles.insert(role); } } m_items.remove(oldItem.url()); - m_items.insert(newItem.url(), indexForItem); - changedFiles.append(newItem); - indexes.append(indexForItem); + if (newItemMatchesFilter) { + m_items.insert(newItem.url(), indexForItem); + changedFiles.append(newItem); + indexes.append(indexForItem); + } else { + newFilteredIndexes.append(indexForItem); + m_filteredItems.insert(newItem, itemData); + } } else { // Check if 'oldItem' is one of the filtered items. QHash::iterator it = m_filteredItems.find(oldItem); @@ -1127,11 +1141,22 @@ void KFileItemModel::slotRefreshItems(const QList >& itemData->values.clear(); m_filteredItems.erase(it); - m_filteredItems.insert(newItem, itemData); + if (newItemMatchesFilter) { + newVisibleItems.append(itemData); + } else { + m_filteredItems.insert(newItem, itemData); + } } } } + // Hide items, previously visible that should get hidden + const KItemRangeList removedRanges = KItemRangeList::fromSortedContainer(newFilteredIndexes); + removeItems(removedRanges, KeepItemData); + + // Show previously hidden items that should get visible + insertItems(newVisibleItems); + // If the changed items have been created recently, they might not be in m_items yet. // In that case, the list 'indexes' might be empty. if (indexes.isEmpty()) {