исправление бага с неверным приоритетом открытия файлов проекта. v++

This commit is contained in:
2025-01-23 19:52:25 +03:00
parent 94208ec25c
commit 58312b9c3d
3 changed files with 28 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
{
"Workspace": "E:\\Tests",
"ProjectsSearchDirectory": "C:\\Users\\misha\\Documents\\visual_sapfor_2023\\Downloads\\JAC_1737641430\\JAC\\v1\\v1\\v1",
"ProjectsSearchDirectory": "E:\\BUG",
"VisualiserPath": "C:\\Users\\misha\\Downloads",
"Sapfor_FPath": "E:\\_sapfor_x64\\Components\\Sapfor_F",
"Visualizer_2Path": "C:\\Users\\misha\\Documents",
@@ -38,7 +38,7 @@
"SmallScreen": false,
"BugReportsAgeLimit": 1,
"FastAccessPassesCount": 10,
"LastOpenedProjectsCount": 10,
"LastOpenedProjectsCount": 25,
"Mode": "Normal",
"ComponentsServerPort": 7995,
"TestingServerPort": 7998,

View File

@@ -6,6 +6,7 @@ import Common.Passes.PassException;
import Common.Utils.Index;
import Common.Utils.TextLog;
import Common.Utils.Utils_;
import Common.Utils.Vector_;
import Common.Visual.UI;
import _VisualDVM.Constants;
import _VisualDVM.Current;
@@ -381,17 +382,32 @@ public class db_project_info extends DBObject {
return null;
}
public DBProjectFile getLastOpenedFile() {
long max = 0;
DBProjectFile res = null;
for (DBProjectFile f : db.files.Data.values()) {
if (!f.state.equals(FileState.Excluded)) {
if (f.file.lastModified() > max) {
res = f;
max = f.file.lastModified();
}
Vector<DBProjectFile> sorted_= new Vector<>();
for (DBProjectFile f: db.files.Data.values()){
if (!f.state.equals(FileState.Excluded) && !f.fileType.equals(FileType.forbidden)) {
sorted_.add(f);
}
}
return res;
sorted_.sort(new Comparator<DBProjectFile>() {
@Override
public int compare(DBProjectFile o1, DBProjectFile o2) {
return Long.compare(o1.file.lastModified(), o2.file.lastModified());
}
}.reversed());
LinkedHashMap<FileType, DBProjectFile> matches = new LinkedHashMap<>();
DBProjectFile sorceFile= null;
DBProjectFile headerFile = null;
for (DBProjectFile f: sorted_){
if (!matches.containsKey(f.fileType)){
matches.put(f.fileType, f);
}
}
Vector<FileType> priority = new Vector_<>(FileType.program, FileType.header, FileType.data, FileType.none);
for (FileType type: priority){
if (matches.containsKey(type))
return matches.get(type);
}
return null;
}
public void CreateParserOptionsDirs() throws Exception {
Utils_.forceDeleteWithCheck(getOptionsDirectory());

View File

@@ -60,7 +60,7 @@ public class Visualiser extends Component {
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
@Override
public void GetVersionInfo() {
version = 1138;
version = 1139;
String pattern = "MMM dd yyyy HH:mm:ss";
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
date_text = df.format(getClassBuildTime());