diff --git a/src/dialog/vsortdialog.cpp b/src/dialog/vsortdialog.cpp index 21080fb0..614ad047 100644 --- a/src/dialog/vsortdialog.cpp +++ b/src/dialog/vsortdialog.cpp @@ -117,6 +117,9 @@ void VSortDialog::treeUpdated() QTreeWidgetItem *item = m_treeWidget->topLevelItem(i); item->setFlags(item->flags() & ~Qt::ItemIsDropEnabled); } + + m_treeWidget->sortByColumn(-1); + m_treeWidget->setSortingEnabled(true); } void VSortDialog::handleMoveOperation(MoveOperation p_op) diff --git a/src/utils/vutils.cpp b/src/utils/vutils.cpp index f78f65a2..ae8401f0 100644 --- a/src/utils/vutils.cpp +++ b/src/utils/vutils.cpp @@ -1119,10 +1119,13 @@ QVector VUtils::fetchImageRegionsUsingParser(const QString &p_co return regs; } -QString VUtils::displayDateTime(const QDateTime &p_dateTime) +QString VUtils::displayDateTime(const QDateTime &p_dateTime, + bool p_uniformNum) { - QString res = p_dateTime.date().toString(Qt::DefaultLocaleLongDate); - res += " " + p_dateTime.time().toString(); + QString res = p_dateTime.date().toString(p_uniformNum ? Qt::ISODate + : Qt::DefaultLocaleLongDate); + res += " " + p_dateTime.time().toString(p_uniformNum ? Qt::ISODate + : Qt::TextDate); return res; } diff --git a/src/utils/vutils.h b/src/utils/vutils.h index bba25603..02c5ddda 100644 --- a/src/utils/vutils.h +++ b/src/utils/vutils.h @@ -261,7 +261,9 @@ public: // Delete file specified by @p_path. static bool deleteFile(const QString &p_path); - static QString displayDateTime(const QDateTime &p_dateTime); + // @p_uniformNum: if true, we use YYYY/MM/DD HH:mm:ss form, which is good for + // sorting. + static QString displayDateTime(const QDateTime &p_dateTime, bool p_uniformNum = false); // Check if file @p_name exists in @p_dir. // @p_forceCaseInsensitive: if true, will check the name ignoring the case. diff --git a/src/vdirectorytree.cpp b/src/vdirectorytree.cpp index 3471186e..7c99729b 100644 --- a/src/vdirectorytree.cpp +++ b/src/vdirectorytree.cpp @@ -1166,7 +1166,7 @@ void VDirectoryTree::sortItems(VDirectory *p_dir) for (int i = 0; i < dirs.size(); ++i) { const VDirectory *dir = dirs[i]; Q_ASSERT(dir->isOpened()); - QString createdTime = VUtils::displayDateTime(dir->getCreatedTimeUtc().toLocalTime()); + QString createdTime = VUtils::displayDateTime(dir->getCreatedTimeUtc().toLocalTime(), true); QStringList cols; cols << dir->getName() << createdTime; QTreeWidgetItem *item = new QTreeWidgetItem(tree, cols); diff --git a/src/vfilelist.cpp b/src/vfilelist.cpp index bce14951..03dfd4b5 100644 --- a/src/vfilelist.cpp +++ b/src/vfilelist.cpp @@ -1041,8 +1041,8 @@ void VFileList::sortItems() for (int i = 0; i < files.size(); ++i) { const VNoteFile *file = files[i]; - QString createdTime = VUtils::displayDateTime(file->getCreatedTimeUtc().toLocalTime()); - QString modifiedTime = VUtils::displayDateTime(file->getModifiedTimeUtc().toLocalTime()); + QString createdTime = VUtils::displayDateTime(file->getCreatedTimeUtc().toLocalTime(), true); + QString modifiedTime = VUtils::displayDateTime(file->getModifiedTimeUtc().toLocalTime(), true); QStringList cols; cols << file->getName() << createdTime << modifiedTime; QTreeWidgetItem *item = new QTreeWidgetItem(tree, cols);