View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001966 | Double Commander | File operations | public | 2017-12-18 08:32 | 2021-10-29 23:21 |
| Reporter | cordylus | Assigned To | Alexx2000 | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Projection | none | ETA | none | ||
| Product Version | 0.8.0 | ||||
| Target Version | 0.9.0 | Fixed in Version | 0.9.0 | ||
| Summary | 0001966: Wrong file is renamed if the original file was deleted after the start of rename | ||||
| Description | It renames the file under cursor and that is changed behind the edit field | ||||
| Tags | No tags attached. | ||||
| Fixed in Revision | 8636-8637 | ||||
| Operating system | |||||
| Widgetset | |||||
| Architecture | |||||
|
|
Вопрос, как это лучше реализовать. Если запоминать путь к файлу в начале переименования, то в конце не удастся переименовать файл, который был переименован снаружи во что-то еще за время переименования (сейчас - можно). И есть риск переименовать другой файл, а не тот, на который мы смотрим, если под именем старого будет сохранен новый за то же время. Это было бы не страшно, но поле переименования ездит за активным файлом, а значит, предполагает, что переименован будет именно он. Можно было бы оставить переименование за активным файлом, но прятать поле, если файл был удален, а не переименован. Но я не нашел возможности отслеживать изменение текущего файла - OnChangeActiveFile при удалении не срабатывает, т.к. он запускается только из DoFileIndexChanged, а индекс при этом фактически не меняется. Возможно, стоит этот момент исправить? И третий вариант - в DisplayFileListChanged отлавливать изменение имени файла под курсором и в таком случае отменять переименование. это захватит события как удаления, так и внешнего переименования текущего файла. |
|
|
Правильно ли я понимаю, что разбросанные по uFileView комменты следующего вида значат, что надежного события смены файла действительно нет? Но статусная строка как-то же обновляется даже после удаления файла... // TODO: move this call to some generic place that is called // ALWAYS when currently selected file is changed |
|
|
Maybe looks like https://doublecmd.sourceforge.io/forum/viewtopic.php?f=5&t=4471&p=24279#p24279 |
|
|
Реализовал третий вариант. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2017-12-18 08:32 | cordylus | New Issue | |
| 2017-12-18 09:35 | cordylus | Note Added: 0002436 | |
| 2017-12-22 01:20 | cordylus | Note Added: 0002458 | |
| 2018-07-29 05:07 | kmvan | Note Added: 0002704 | |
| 2019-02-03 01:32 | Alexx2000 | Status | new => confirmed |
| 2019-02-03 01:32 | Alexx2000 | Target Version | => 0.9.0 |
| 2019-02-03 12:00 | Alexx2000 | Fixed in Revision | => 8636 |
| 2019-02-03 12:00 | Alexx2000 | Note Added: 0003023 | |
| 2019-02-03 12:00 | Alexx2000 | Status | confirmed => resolved |
| 2019-02-03 12:00 | Alexx2000 | Resolution | open => fixed |
| 2019-02-03 12:00 | Alexx2000 | Assigned To | => Alexx2000 |
| 2019-02-03 12:07 | Alexx2000 | Fixed in Revision | 8636 => 8636-8637 |
| 2019-02-03 12:07 | Alexx2000 | Fixed in Version | => 0.9.0 |
| 2021-10-29 23:21 | Alexx2000 | Status | resolved => closed |