From 8b8f493780f225553bab54efbe194ebe0fc188c7 Mon Sep 17 00:00:00 2001 From: eidheim Date: Thu, 8 Nov 2018 13:12:36 +0100 Subject: [PATCH] Fixed sorting of filenames and directories in directory view --- src/directories.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/directories.cc b/src/directories.cc index b5b9c9a..9919e31 100644 --- a/src/directories.cc +++ b/src/directories.cc @@ -588,15 +588,20 @@ void Directories::add_or_update_path(const boost::filesystem::path &dir_path, co child->set_value(column_record.name, filename); child->set_value(column_record.markup, Glib::Markup::escape_text(filename)); child->set_value(column_record.path, it->path()); + auto sortable_filename = filename; + for(auto &e : sortable_filename) { + if(e == '.') + e = '$'; + } if(boost::filesystem::is_directory(it->path())) { - child->set_value(column_record.id, '1' + filename); + child->set_value(column_record.id, '1' + sortable_filename); auto grandchild = tree_store->append(child->children()); grandchild->set_value(column_record.name, std::string("(empty)")); grandchild->set_value(column_record.markup, Glib::Markup::escape_text("(empty)")); grandchild->set_value(column_record.type, PathType::UNKNOWN); } else { - child->set_value(column_record.id, '2' + filename); + child->set_value(column_record.id, '2' + sortable_filename); auto language = Source::guess_language(it->path().filename()); if(!language)