support sorting items by clicking the column header

This commit is contained in:
Le Tan 2018-03-16 21:37:56 +08:00
parent 407658bead
commit 47b4cc88aa
5 changed files with 15 additions and 7 deletions

View File

@ -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)

View File

@ -1119,10 +1119,13 @@ QVector<VElementRegion> 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;
}

View File

@ -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.

View File

@ -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);

View File

@ -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);