Anonymous | Login | Signup for a new account | 21-11-24 13:11 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0002685 | SAS.Планета | [All Projects] Баг | public | 16-04-2015 10:25 | 16-04-2015 13:25 | ||||
Reporter | Garl | ||||||||
Assigned To | zed | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | Windows | OS | 7 | OS Version | Professional | ||||
Product Version | 141212 | ||||||||
Target Version | 150915 | Fixed in Version | 150915 | ||||||
Summary | 0002685: Пункт меню "Открыть папку, содержащую тайл основной карты" для отсутствующего тайла | ||||||||
Description | При выборе пункта меню "Открыть папку, содержащую тайл основной карты" на пустом тайле открывается папка текущего пользователя в идеале должна открываться папка где должен находиться тайл или каталог выше вплоть до %caсhe_dir% | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Notes | |
(0015592) zed (manager) 16-04-2015 11:04 |
А по-моему вообще ничего открываться не должно. Надо выдавать сообщение, что тайла не существует, и не мудрить. |
(0015593) vasketsov (manager) 16-04-2015 11:19 edited on: 16-04-2015 11:21 |
Хм. Вообще-то папка, содержащая тайл основной карты, есть даже в беркли и sqlite. Это папка с БД. Вот её и надо открывать. Кроме того, концепция tne в части отображения тайла не различает случаи, когда ничего нет в кэше, или есть tne. Сохранять tne или нет - дело исключительно пользователя. К открыванию папки, где хранится тайл, это никакого отношения не имеет, и вообще сохранение признака отсутствия тайла даже на файловом кэше может быть в принципе сделано и без tne. Поэтому должна пытаться открываться именно та папка, где должен быть тайл, независимо от того, есть он, есть tne или вообще ничего нет. >тайла не существует Эта логика понятна, что раз нет тайла, то нет и папки, его содержащей. Но разумнее изменить описание на что-то типа "Открыть папку хранения тайла", и открывать папку даже при отсутствии тайла. |
(0015594) Garl (manager) 16-04-2015 11:19 |
имхо если написано "открыть папку" - значит надо открыть папку |
(0015595) zed (manager) 16-04-2015 11:25 |
Если тайла нет, то и папки может не быть. И нельзя открыть то, чего нет. А самовольничать и перескакивать на верхнюю папку вплоть до %caсhe_dir% (которой тоже может не быть), не лучшая идея. |
(0015596) vdemidov (manager) 16-04-2015 11:49 |
Ну, я за то что бы пытаться получить наиболее подробный существующий путь к месту где тайл должен находится. |
(0015597) vdemidov (manager) 16-04-2015 11:50 |
Но на первое время, хватит и проверки существования такой папки и сообщения, что ее нет вместо открытия експлорера. |
(0015598) vasketsov (manager) 16-04-2015 11:51 |
>самовольничать Можно просто спросить, чего открыть, если финишной папки нет. Чтобы юзер знал, что открылось не то, что он возможно хотел. Ведь доподлинно неизвестно, что именно хочет юзер, когда видит отсутствие тайла и выполняет данную операцию. Он может не знать, есть tne или нет. А нужно прогнозируемое поведение. Во всяком случае, желательно, чтобы при отсутствующем тайле поведение не зависело от наличия или отсутствия tne. От наличия или отсутствия папки - возможно. >Если тайла нет, то и папки может не быть Я тебе даже больше скажу, файл может быть, но папки уже может не быть ))) А в SACS так вообще файловый кэш версионный, а показываться может не запрошенная версия,... и ничего страшного, открывается. Причём в общем версионном случае логика открытия папки может отличаться от логики показа тайла при его отсутствии в нужной версии. А вообще в ситуации z1\x2\y3\tile.jpg формально папка x2 тоже содержит тайл tile.jpg. Так что формально ничего страшного не произойдёт, если открыть её, если юзер подтвердит, что она его устроит. |
(0015599) zed (manager) 16-04-2015 11:52 edited on: 16-04-2015 11:53 |
>Ну, я за то что бы пытаться получить наиболее подробный существующий путь Вплоть до %caсhe_dir%? Не согласен. Пользователь может ошибочно решить, что открылась именно та папка, которае ему нужна, а по факту будет совсем не то. |
(0015600) zed (manager) 16-04-2015 11:54 edited on: 16-04-2015 11:58 |
> Можно просто спросить, чего открыть, если финишной папки нет. Не понимаю, зачем такая морока. И зачем юзеру не то, что он вероятнее всего хотел получить. |
(0015601) Garl (manager) 16-04-2015 11:54 |
>Если тайла нет, то и папки может не быть. ай не факт, из всего кэша удалили 1 тайл и как раз на нём клацаем, чтобы открыть ... понимаю что это частный случай, но вот так у меня и вышло... |
(0015602) zed (manager) 16-04-2015 11:56 |
> ай не факт Поэтому и написано слово может. Может не быть, а может и быть. |
(0015603) vasketsov (manager) 16-04-2015 12:01 |
>зачем юзеру не то, что он вероятнее всего хотел получить А что может хотеть получить юзер, вызывая эту операцию на том месте, где он видит, что НЕТ тайла? |
(0015604) zed (manager) 16-04-2015 12:06 |
Ничего хорошего, поэтому и нужна простая защита от дурака или случайного нажатия. Либо, нужно делать полную обработку всех возможных ситуаций с отсутствием папки/тайла и на каждом этапе спрашивать и предупреждать юзера, что он дурак и делает не то. Но это, имхо, усложнение на ровном месте. |
(0015605) vasketsov (manager) 16-04-2015 12:24 |
>простая защита Ок. Минимум - это проверка наличия желаемой папки и сообщение, что открывать нечего. Модификация: а) вместо сообщения о факте отсутствия папки - дополнить его вопросом, а не возжелает ли господин открыть вместо неё родительскую папку; б) при согласии - пооткусывать в цикле хвост, пока папка не появится или строка не кончится, и если что-то есть - это открыть. Где усложнение? Цикл? Да его написать быстрее, чем это обсуждать. Для пользователя, если он хочет именно желаемую папку, ровным счётом ничего не меняется, просто он жмакает "Нет". Ровно то же одно сообщение, которое тоже надо как минимум закрыть. Зато появляются бонусы: а) за то же одно сообщение юзер понимает, есть ли тайл, и может перейти к корню или к промежуточной папке - просто как минимум выигрыш в скорости; б) для кэшей типа SQlite или беркли получается переход к самой базе, независимо от опционального генератора тайловых координат внутри базы, который по сути становится просто точкой вторичного разбора в пространстве имён тайлов. |
(0015606) zed (manager) 16-04-2015 13:04 |
Вообще, самая простая защита там уже присутствует: if DirectoryExists(ExtractFilePath(VTileFileName)) then begin SelectFileInExplorer(VTileFileName); end else begin ShowMessageFmt(SAS_ERR_DirectoryNotExistFmt, [VTileFileName]); end; Так что если папки нету, то ничего и не откроется. Правда в SelectFileInExplorer может передаваться несуществующее имя тайла. Вот отсюда и надо плясать - написать функцию SelectFolderInExplorer и использовать её тут. Таким образом решается баг, который тут есть. А хотелка по поводу "открой мне то да сё, если вот этого нет" и стоит ли ей заниматься (по-моему не стоит) это уже другой вопрос. Там ещё нужно и про СУБД вспомнить и тоже что-то ответить пользователю, т.е. нюансов тьма. |
Issue History | |||
Date Modified | Username | Field | Change |
16-04-2015 10:25 | Garl | New Issue | |
16-04-2015 10:30 | vdemidov | Status | new => confirmed |
16-04-2015 10:30 | vdemidov | Product Version | => 141212 |
16-04-2015 10:30 | vdemidov | Target Version | => 150915 |
16-04-2015 11:04 | zed | Note Added: 0015592 | |
16-04-2015 11:19 | vasketsov | Note Added: 0015593 | |
16-04-2015 11:19 | Garl | Note Added: 0015594 | |
16-04-2015 11:21 | vasketsov | Note Edited: 0015593 | View Revisions |
16-04-2015 11:25 | zed | Note Added: 0015595 | |
16-04-2015 11:49 | vdemidov | Note Added: 0015596 | |
16-04-2015 11:50 | vdemidov | Note Added: 0015597 | |
16-04-2015 11:51 | vasketsov | Note Added: 0015598 | |
16-04-2015 11:52 | zed | Note Added: 0015599 | |
16-04-2015 11:53 | zed | Note Edited: 0015599 | View Revisions |
16-04-2015 11:54 | zed | Note Added: 0015600 | |
16-04-2015 11:54 | Garl | Note Added: 0015601 | |
16-04-2015 11:56 | zed | Note Added: 0015602 | |
16-04-2015 11:58 | zed | Note Edited: 0015600 | View Revisions |
16-04-2015 12:01 | vasketsov | Note Added: 0015603 | |
16-04-2015 12:06 | zed | Note Added: 0015604 | |
16-04-2015 12:24 | vasketsov | Note Added: 0015605 | |
16-04-2015 13:04 | zed | Note Added: 0015606 | |
16-04-2015 13:25 | zed | Status | confirmed => resolved |
16-04-2015 13:25 | zed | Fixed in Version | => 150915 |
16-04-2015 13:25 | zed | Resolution | open => fixed |
16-04-2015 13:25 | zed | Assigned To | => zed |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |