Недостатки диалогов

Здесь можно оставить пожелание относительно функций, которых в программе нет, но которые вам хотелось бы в ней видеть.

Модератор: motyara

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Диалог удаления в 1-м виде

Сообщение Qwertiy »

Хотелось бы в этом диалоге
Delete Dialog 1.png
Delete Dialog 1.png (9.58 КБ) 5356 просмотров
кнопками Вверх/Вниз всегда перемещаться только по видам удаления, а Влево/Вправо - по Ok-Отмена.
Постоянно пытаюсь нажать вниз, если до этого забыл нажать Shift.

И ещё, у первых двух пунктов одинаковый мнемонический символ 'У'.
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm
Контактная информация:

Re: Недостатки диалогов

Сообщение Alex »

"удалить используя wipe" лучше бы перевести.. "Удалить с уничтожением (wipe)'
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Qwertiy писал(а):Хотелось бы в этом диалоге
Delete Dialog 1.png
кнопками Вверх/Вниз всегда перемещаться только по видам удаления, а Влево/Вправо - по Ok-Отмена.
Постоянно пытаюсь нажать вниз, если до этого забыл нажать Shift.
Обработка нажатия кнопок "Вправо/Влево/Вверх/Вниз" в данном случае производится не моим кодом, у меня пока что нет желания переписывать основополагающие принципы восприятия кнопок...
Qwertiy писал(а):И ещё, у первых двух пунктов одинаковый мнемонический символ 'У'.
Да, функция автоматического расставления горячих клавиш к сожалению работает не идеально...
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm
Контактная информация:

Re: Недостатки диалогов

Сообщение Alex »

ф. автомат. расст-я hotkeys - она из VCL?
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Alex писал(а):ф. автомат. расст-я hotkeys - она из VCL?
Вероятно нет.
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm
Контактная информация:

Сообщение Alex »

да, нет в VCL такого. А перевод "[x] удалить исп-я wipe"?
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Alex писал(а):А перевод "[x] удалить исп-я wipe"?
Считаю это излишним, если кто-то не в курсе что такое "Wipe", значит скорее всего ему это не нужно... В конце концов в CHM-файле вероятно это будет указано (когда до него наконец дойдет дело).
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Перемещение и копирование

Сообщение Qwertiy »

Хотелось бы увидеть в диалоге копирования/перемещения флажок "При совпадении имён сравнивать по содержимому" и "и считать совпадающие файлы успешно скопированными/перемещёнными".
Обычно бывает полезно знать, одинаковы файлы или различны. А иногда просто перемещаешь много файлов из одной папки в другую и знаешь, что некоторые уже могли быть скопированы, а некоторые надо заменить. Нажимать "Заменить все" - неоптимально, т.к. требует больше времени, а проверять для каждого файла вручную и не хочется, и к тому же если используется "Пропустить", то файлы не будут удалены. Конечно есть синхронизация, но это не всегда удобно (кстати, она тоже не предназначена для удаления)...

И ещё, в Проводнике было принято при нажатии Shift с кнопкой рассматривать это как "Применить ко всем". Пару раз пытался так сделать... Может добавите?
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Qwertiy писал(а):Хотелось бы увидеть в диалоге копирования/перемещения флажок "При совпадении имён сравнивать по содержимому" и "и считать совпадающие файлы успешно скопированными/перемещёнными".
Обычно бывает полезно знать, одинаковы файлы или различны. А иногда просто перемещаешь много файлов из одной папки в другую и знаешь, что некоторые уже могли быть скопированы, а некоторые надо заменить. Нажимать "Заменить все" - неоптимально, т.к. требует больше времени, а проверять для каждого файла вручную и не хочется, и к тому же если используется "Пропустить", то файлы не будут удалены. Конечно есть синхронизация, но это не всегда удобно (кстати, она тоже не предназначена для удаления)...
В некотором плане это действительно рационально, подумаю над этим. Кстати синхронизация вполне может быть использована для удаления при ассиметричном режиме.
Qwertiy писал(а):И ещё, в Проводнике было принято при нажатии Shift с кнопкой рассматривать это как "Применить ко всем". Пару раз пытался так сделать... Может добавите?
Вообще-то там уже есть два альтернативных варианта включения флага "Применять ко всем": можно нажать Ctrl для включения/выключения флага, либо нажать кнопку интересующего действия не левой мышью, а средней (колесом) - при этом программа будет выполнять действие как будто флаг установлен. Возможно вариант с "зажатым на момент клика по кнопке Shift'ом" дополнил бы картину, но в связи с некоторыми странностями в плане добавления такого варианта, я пожалуй его отложу. Возможно позже он и будет добавлен.
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Подсчёт размера задания в realtime

Сообщение Qwertiy »

187% - как-то не то, что хочется здесь увидеть...
187% - как-то не то, что хочется здесь увидеть...
copy 187.png (11.64 КБ) 5252 просмотра
Последовательность действий:
1. Копировать файлы в папку B.
2. Не дожидаясь завершения копирования, добавить в ту же очередь копирование всей папки B.

PS: само копирование корректно (по крайней мере я рассчитывал именно на такой результат).
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Действительно, проценты больше сотни в данном случае выглядят странно. Исправлено, спасибо за информацию. Впрочем способ воссоздания такой ситуации слегка экстремальный, вряд ли есть рациональный вариант определения величины задания, а потому в такой ситуации проценты просто не будут отображаться.
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Max Diesel писал(а):Действительно, проценты больше сотни в данном случае выглядят странно. Исправлено, спасибо за информацию. Впрочем способ воссоздания такой ситуации слегка экстремальный, вряд ли есть рациональный вариант определения величины задания, а потому в такой ситуации проценты просто не будут отображаться.
По-моему, без процентов - ещё хуже. Я ведь наткнулся на это случайно: просто надо было скопировать файлы с фотоаппарата на жёсткий диск и на флешку... Вот и сделал самое простое, что пришло в голову - запустил копирование на диск и в ту же очередь с диска на флешку. Отошёл, вернулся и увидел 115%... Сразу понял, что скопировалось больше половины и стал ждать 200% (не дождался - кончилось на 150%)...

В общем, надо как-то считать... Предлагаю несколько вариантов.
1. Самый универсальный, но, вероятно, и самый медленный. Отслеживать изменения во всех папках, предназначенных для копирования и сразу их учитывать.
2. Уточнять (пересчитывать) размер задания непосредственно перед его выполнением. Это поможет показывать правильные проценты, но если сделано нечто подобное, но более длинной цепью, то после каждого задания шкала будет доходить до 100% и уменьшаться... Думаю, это покажется немного странным... К тому же требует время на перерассчёт.
3. Уточнять (пересчитывать) размер хвоста очереди перед выполнением каждого задания. Ещё дольше, чем в 2, но более информативно...
4. Конечно понятно, что теоретически копируемые папки могут изменяться другими программами или в других потоках копирования, но на что рассчитывает пользователь, делающий такое? А вот в рамках одной очереди - вполне логично, с заранее известным результатом... И проверить почти элементарно. Хотел сказать элементарно, но вспомнил про символьные ссылки и subst'овые диски... Ладно, достаточно проверить помещаемую в очередь папку на копирование в неё в этой же очереди. Если оно есть, то добавлять к её размеру размер копируеых в неё файлов в процессе самого копирования. Тогда на таких файлах пргоессбар будет учитывать, что их копировать ещё раз, а если даже задание отменят, то общий объём будет верен. Другой вариант - сразу учесть все файлы, но мне он кажется менее естественным и менее простым с точки зрения реализации...
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Qwertiy писал(а):1. Самый универсальный, но, вероятно, и самый медленный. Отслеживать изменения во всех папках, предназначенных для копирования и сразу их учитывать.
2. Уточнять (пересчитывать) размер задания непосредственно перед его выполнением. Это поможет показывать правильные проценты, но если сделано нечто подобное, но более длинной цепью, то после каждого задания шкала будет доходить до 100% и уменьшаться... Думаю, это покажется немного странным... К тому же требует время на перерассчёт.
3. Уточнять (пересчитывать) размер хвоста очереди перед выполнением каждого задания. Ещё дольше, чем в 2, но более информативно...
4. Конечно понятно, что теоретически копируемые папки могут изменяться другими программами или в других потоках копирования, но на что рассчитывает пользователь, делающий такое? А вот в рамках одной очереди - вполне логично, с заранее известным результатом... И проверить почти элементарно. Хотел сказать элементарно, но вспомнил про символьные ссылки и subst'овые диски... Ладно, достаточно проверить помещаемую в очередь папку на копирование в неё в этой же очереди. Если оно есть, то добавлять к её размеру размер копируеых в неё файлов в процессе самого копирования. Тогда на таких файлах пргоессбар будет учитывать, что их копировать ещё раз, а если даже задание отменят, то общий объём будет верен. Другой вариант - сразу учесть все файлы, но мне он кажется менее естественным и менее простым с точки зрения реализации...
Все четыре варианта к сожалению выглядят несколько оторванными от жизни. Прежде чем сказать что проценты не будут отображаться я уже успел поразмыслить о способах подсчета общего размера задания и, как я упомянул в предыдущем своем сообщении, я не нашел <рациональный вариант определения величины задания>.
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Max Diesel писал(а):Все четыре варианта к сожалению выглядят несколько оторванными от жизни. Прежде чем сказать что проценты не будут отображаться я уже успел поразмыслить о способах подсчета общего размера задания и, как я упомянул в предыдущем своем сообщении, я не нашел <рациональный вариант определения величины задания>.
А четвёртый-то чем плох? Если для проверки использовать хеши, то будет слелано всего лишь O(k*n) дополнительных операций, где k - количество заданий-папок, n - общее количество копируемых папок...

Рзумеется при таком варианте не будут учитываться
0. Изменения из вне;
1. DOS-names;
2. Символьные ссылки;
3. Subst'овые диски.
Но и без этого будет хорошо...
Я бы даже сказал, что такой вариант оптимален...
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Qwertiy писал(а):А четвёртый-то чем плох? Если для проверки использовать хеши, то будет слелано всего лишь O(k*n) дополнительных операций, где k - количество заданий-папок, n - общее количество копируемых папок...
Не стоит оно того, слишком много условий и исключений. Предложенная теория слегка оторвана от реальности, честно говоря у меня пока что нет желания продумывать аспекты работы корректирующей функции. Ситуация с расхождением размеров каталогов не очень распространенная, а потому проблема не очень актуальна.
Ответить