View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001988 | Far Manager | Plugins API.Editor | public | 2012-01-14 21:12 | 2018-11-15 10:02 |
Reporter | NightRoman | Assigned To | vskirdin | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | assigned | Resolution | open | ||
Product Version | 3.0 | ||||
Summary | 0001988: EF_CREATENEW не работает | ||||
Description | Согласно энц -- "Создать новый файл на диске. Вызов редактора с этим флагом аналогичен вызову редактора по Shift+F4 в панелях.". Это не так. По моим наблюдениям EF_CREATENEW вообще ни на что не влияет. Есть файл или нет файла на диске, С флагом или БЕЗ флага все работает одинаково. Форум: http://forum.farmanager.com/viewtopic.php?f=8&t=3416 | ||||
Tags | No tags attached. | ||||
Build | |||||
related to | 0000590 | new | EF_CREATENEW и открытие редактора при пустом имени файла |
|
простенький плагин давайте |
|
возьмите HelloWorld из набора плагинов и поставьте там вызов Editor |
|
build 2400 |
|
Оперативно, спасибо. Но либо я слеп, либо ничего не поменялось. Как теперь этот флаг должен работать? Его значение-то и по энц. не слишком понятно. Я все проверю, но не уверен, что именно надо проверить. Пока не вижу разницы. |
|
Info.Editor(nullptr,nullptr,0...) вернет ошибку Info.Editor(nullptr,nullptr,EF_CREATENEW...) откроет noname файл, при F2 появится диалог SaveAs Info.Editor("%TEMP%\\foo.bar",nullptr,EF_CREATENEW...) откроет "%TEMP%\\foo.bar" (есть он или нету - пофигу), при F2 файл сохранится Info.Editor("%TEMP%\\foo.bar",nullptr,0...) вернет ошибку, если файла нет (? не помню) |
|
Может, конечно, не сюда, но теперь (2400) если сделать в ком.строке "edit:<abc" то, почему-то, открывается 2 окна редактора |
|
Хорошо, я все подробно проверю и отпишусь. Так уже лучше. Но зачем вообще так сложно? Пока не поздно - предложение такое выкинуть EF_CREATENEW вообще. И разрешить пустое имя файла. Т.е. - имя пустое -- открывается файл без имени Ф2 спросит - имя непустое и существует файл -- открывает его - имя непустое и не существует файл -- отрывает пустой новый файл Зачем усложнять и еще какие-то ошибки вводить? Чем плоха эта схема? Если плугу надо чтобы файл непременно был или не был, то он всегда это до вызова сделает и решит уж правильно как поступить (этот диалог об ошибке может прервать процедуру, которая не должна прерываться, например) |
|
Также я хочу обратить внимание на энц. "Вызов редактора с этим флагом аналогичен вызову редактора по Shift+F4 в панелях" (не только в панелях, кстати Shift+F4 работает). Не была ли изначальная задумка такой, что с флагом именно диалог Shift+F4 должен открыться *до* открытия файла? Но я не предлагаю так делать. Имхо флаг этот не нужен. То, что никто не замечал, что он не работал наглядно об этом говорит. |
|
Info.Editor("%TEMP%\\foo.bar",nullptr,0...) вернет ошибку, если файла нет (? не помню) -- все равно отрывает файл, хоть и нет его. P.S. В общем, раз пустое имя теперь разрешено, то я готов закрыть тикет. У себя в Фарнет я оберну это именно таким АПИ, какой мне нужен (то, что предложил выше), теперь это возможно. Но АПИ Фара мне небезразличен тоже, потому и предлагаю подумать об отказе от флага вообще (сдвижку констант только не делайте и никто ничего не заметит, а из энц. вообще убрать упоминание). |
|
Закрываю (от себя), но вам видней, как дальше быть. Кроме того, Denis об этом еще написал "edit:<abc" может, поломалось |
|
Кстати, если есть проблемы с пустым именем в качестве начального, то могу предложить "правило нового файла" = имя начинается с "?". Это полезно и не только обхода проблемы пустого файла (если есть такая). Плюсы: -- можно задать папку по умолчанию, где создается новый файл (по Ф2 можно поменять, но часто полезно указать умолчательную папку, с пустым именем такое вообще не прокатит) Пример: C:\WhereIWant\? -- можно задать расширение, если по логике плагина известно, что за тип файла создается, то это может быть важно с колорером, даже новый пустой файл начнет правильно краситься со старта Пример: ?.macro Это не относится к данному тикету. И новый я не завожу про это (ибо шашечки). Просто мысли вслух. |
|
|
|
2Denis: проверь на приаттаченом FarCmds |
|
Работает. |
|
Стойте, стойте, самое главное не работает - открытый редактор с пустым именем не могу сохранить файл - диалог о том, что фар не может сохранить, и все, остаемся в редакторе. |
|
Уточнение - описанная проблема проявляется при выходе по Esc | F10. По F2 все ОК, появляется диалог для ввода имени. |
|
И еще одна хохма. Если открываем файл с пустым именем в папке, которая read only, то файл залочен (ну может, это от установок зависит). И при последующей попытке сохранять появляются вопросы/предупреждения об этом. |
|
Флаг EF_CREATENEW должен относится не только к редакторам с пустым именем. Предлагаю выделить проблемы редакторов с пустым именем в отдельный тикет. Вроде бы об этом старый тикет 0000231. Update: ещё один аналогичный тикет 0000590. |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-01-14 21:12 | NightRoman | New Issue | |
2012-01-17 08:32 | vskirdin | Note Added: 0008434 | |
2012-01-17 10:25 | NightRoman | Note Added: 0008435 | |
2012-01-17 12:17 | vskirdin | Note Added: 0008437 | |
2012-01-17 12:17 | vskirdin | Assigned To | => vskirdin |
2012-01-17 12:17 | vskirdin | Status | new => feedback |
2012-01-17 12:36 | NightRoman | Note Added: 0008438 | |
2012-01-17 12:36 | NightRoman | Status | feedback => assigned |
2012-01-17 13:03 | vskirdin | Note Added: 0008439 | |
2012-01-17 13:03 | vskirdin | Status | assigned => feedback |
2012-01-17 13:11 | Denis | Note Added: 0008440 | |
2012-01-17 13:17 | NightRoman | Note Added: 0008441 | |
2012-01-17 13:17 | NightRoman | Status | feedback => assigned |
2012-01-17 13:28 | NightRoman | Note Added: 0008442 | |
2012-01-17 14:01 | NightRoman | Note Added: 0008443 | |
2012-01-17 17:08 | NightRoman | Note Added: 0008445 | |
2012-01-17 17:08 | NightRoman | Status | assigned => resolved |
2012-01-18 07:17 | NightRoman | Note Added: 0008447 | |
2012-01-18 13:32 | vskirdin | File Added: farcmds.7z | |
2012-01-18 13:32 | vskirdin | Note Added: 0008448 | |
2012-01-18 13:41 | Denis | Note Added: 0008449 | |
2012-01-18 14:19 | NightRoman | Note Added: 0008450 | |
2012-01-18 14:21 | NightRoman | Note Added: 0008451 | |
2012-01-25 14:50 | NightRoman | Note Added: 0008481 | |
2012-01-25 14:50 | NightRoman | Status | resolved => assigned |
2014-08-03 16:12 | JohnDoe | Note Added: 0012833 | |
2014-08-03 16:20 | JohnDoe | Note Edited: 0012833 | |
2018-11-15 10:02 | JohnDoe | Relationship added | related to 0000590 |