Browse Source

Merge pull request #36152 from Calinou/project-manager-rename-last-modified

Rename the "Last Modified" project list sorting option to "Last Edited"
Rémi Verschelde 5 years ago
parent
commit
57dca8b8cc
3 changed files with 17 additions and 14 deletions
  1. 1 1
      editor/editor_settings.cpp
  2. 15 12
      editor/project_manager.cpp
  3. 1 1
      editor/project_manager.h

+ 1 - 1
editor/editor_settings.cpp

@@ -628,7 +628,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
 	/* Extra config */
 
 	_initial_set("project_manager/sorting_order", 0);
-	hints["project_manager/sorting_order"] = PropertyInfo(Variant::INT, "project_manager/sorting_order", PROPERTY_HINT_ENUM, "Name,Path,Last Modified");
+	hints["project_manager/sorting_order"] = PropertyInfo(Variant::INT, "project_manager/sorting_order", PROPERTY_HINT_ENUM, "Name,Path,Last Edited");
 
 	if (p_extra_config.is_valid()) {
 

+ 15 - 12
editor/project_manager.cpp

@@ -1001,7 +1001,7 @@ public:
 		String path;
 		String icon;
 		String main_scene;
-		uint64_t last_modified;
+		uint64_t last_edited;
 		bool favorite;
 		bool grayed;
 		bool missing;
@@ -1017,7 +1017,7 @@ public:
 				const String &p_path,
 				const String &p_icon,
 				const String &p_main_scene,
-				uint64_t p_last_modified,
+				uint64_t p_last_edited,
 				bool p_favorite,
 				bool p_grayed,
 				bool p_missing,
@@ -1029,7 +1029,7 @@ public:
 			path = p_path;
 			icon = p_icon;
 			main_scene = p_main_scene;
-			last_modified = p_last_modified;
+			last_edited = p_last_edited;
 			favorite = p_favorite;
 			grayed = p_grayed;
 			missing = p_missing;
@@ -1104,8 +1104,8 @@ struct ProjectListComparator {
 		switch (order_option) {
 			case ProjectListFilter::FILTER_PATH:
 				return a.project_key < b.project_key;
-			case ProjectListFilter::FILTER_MODIFIED:
-				return a.last_modified > b.last_modified;
+			case ProjectListFilter::FILTER_EDIT_DATE:
+				return a.last_edited > b.last_edited;
 			default:
 				return a.project_name < b.project_name;
 		}
@@ -1113,7 +1113,7 @@ struct ProjectListComparator {
 };
 
 ProjectList::ProjectList() {
-	_order_option = ProjectListFilter::FILTER_MODIFIED;
+	_order_option = ProjectListFilter::FILTER_EDIT_DATE;
 
 	_scroll_children = memnew(VBoxContainer);
 	_scroll_children->set_h_size_flags(SIZE_EXPAND_FILL);
@@ -1200,15 +1200,18 @@ void ProjectList::load_project_data(const String &p_property_key, Item &p_item,
 	String icon = cf->get_value("application", "config/icon", "");
 	String main_scene = cf->get_value("application", "run/main_scene", "");
 
-	uint64_t last_modified = 0;
+	uint64_t last_edited = 0;
 	if (FileAccess::exists(conf)) {
-		last_modified = FileAccess::get_modified_time(conf);
+		// The modification date marks the date the project was last edited.
+		// This is because the `project.godot` file will always be modified
+		// when editing a project (but not when running it).
+		last_edited = FileAccess::get_modified_time(conf);
 
 		String fscache = path.plus_file(".fscache");
 		if (FileAccess::exists(fscache)) {
 			uint64_t cache_modified = FileAccess::get_modified_time(fscache);
-			if (cache_modified > last_modified)
-				last_modified = cache_modified;
+			if (cache_modified > last_edited)
+				last_edited = cache_modified;
 		}
 	} else {
 		grayed = true;
@@ -1218,7 +1221,7 @@ void ProjectList::load_project_data(const String &p_property_key, Item &p_item,
 
 	String project_key = p_property_key.get_slice("/", 1);
 
-	p_item = Item(project_key, project_name, description, path, icon, main_scene, last_modified, p_favorite, grayed, missing, config_version);
+	p_item = Item(project_key, project_name, description, path, icon, main_scene, last_edited, p_favorite, grayed, missing, config_version);
 }
 
 void ProjectList::load_projects() {
@@ -2515,7 +2518,7 @@ ProjectManager::ProjectManager() {
 	Vector<String> sort_filter_titles;
 	sort_filter_titles.push_back(TTR("Name"));
 	sort_filter_titles.push_back(TTR("Path"));
-	sort_filter_titles.push_back(TTR("Last Modified"));
+	sort_filter_titles.push_back(TTR("Last Edited"));
 	project_order_filter = memnew(ProjectListFilter);
 	project_order_filter->add_filter_option();
 	project_order_filter->_setup_filters(sort_filter_titles);

+ 1 - 1
editor/project_manager.h

@@ -134,7 +134,7 @@ public:
 	enum FilterOption {
 		FILTER_NAME,
 		FILTER_PATH,
-		FILTER_MODIFIED,
+		FILTER_EDIT_DATE,
 	};
 
 private: