Page 32 of 67

Re: Eolite

Posted: Sun Apr 20, 2014 12:01 pm
by Leency
Revision: 4698
Author: punk_joker
Date: 26 марта 2014 г. 14:51:42
Message:
Eolite 2.17: copy multiple files / directories

Я вот за такие оптимизации буду больно наказывать. Удаление одной строки привело к сложноуловимому багу. Копируем файл на пустой /tmp0/1/ диск, нажимает клавишу "вниз" - Eolite падает.
Если хочется удалить или оптимизировать странные участки кода, лучше уточнить можно ли это делать и хороша ли новая реализация.

Re: Eolite

Posted: Sun Apr 20, 2014 12:12 pm
by punk_joker
Хм, в теории я эту функцию вообще не трогал, но может случайно зацепил. Но раз уж это я, то прошу прощения, впредь буду внимательней. Возможно именно это и являлось причиной некоторых моих проблем.

Re: Eolite

Posted: Sun Apr 20, 2014 12:18 pm
by Leency
Ещё небольшое code-review :)
В той же ревизии был добавлен код (строка add_to_copy(#file_path); ):

Code: Select all

				case 24: //cut
						add_to_copy(#file_path);
						Copy(#file_path, CUT);
						break;
				case 25: //copy
						add_to_copy(#file_path);
						Copy(#file_path, NOCUT);
						break;
                                 ........
					case 024: //Ctrl+X
							add_to_copy(#file_path);
							Copy(#file_path, CUT);
							break;
					case 003: //Ctrl+C
							add_to_copy(#file_path);
							Copy(#file_path, NOCUT);
							break;
Логично, что строку add_to_copy(#file_path); можно перенести в функцию Copy();

Но к сожалению, текущая реализация не является интуитивно понятной для пользователя. Он даже не предполагает, что дважды нажав Ctrl+C, он потом вставит 2 файла/папки.

Вот с клавишей Insert - другое дело. Это чуть более очевидно. Но всё же лучше добавить подсказку через @notify.

Re: Eolite

Posted: Sun Apr 20, 2014 12:19 pm
by Mario_r4
Leency wrote:Я вот за такие оптимизации буду больно наказывать. Удаление одной строки привело к сложноуловимому багу. Копируем файл на пустой /tmp0/1/ диск, нажимает клавишу "вниз" - Eolite падает.
Если хочется удалить или оптимизировать странные участки кода, лучше уточнить можно ли это делать и хороша ли новая реализация.
Если уж ответственные люди, как Сергей Сахно, допускаю такие ошибки, то что будут творить другие менее ответственные и совсем безответственные, если им дать возможность и не контролировать все их действия? А вот вы надо мной в чате смеялись. Смейтесь дальше.

Re: Eolite

Posted: Sun Apr 20, 2014 12:21 pm
by Leency
Если ты обо мне, то я не помню, чтобы такого делал. Если делал, то был неправ. Проверять, конечно, нужно, не помню чтобы я с этим спорил.

Re: Eolite

Posted: Sun Apr 20, 2014 12:27 pm
by Leency
punk_joker
Скоро релиз KolibriN 9. Потому нужно довести её до ума. Процесс копирования в Eolite нужно переделать:
- когда пользователь нажимает Ctrl+C или копировать, то потом вставляется 1 файл.
- если пользователь нажимает Insert - файл добавляется в очередь на копирование и потом вставляется столько, сколькои раз пользователь нажал Ctrl+C. После вставки, очередь очищается.
Займись, пожалуйста, этим.

- после вставки должен выделяться вставленный файл, это было раньше, но сейчас поломалось.
Поиском этой проблемы займусь я.

Re: Eolite

Posted: Sun Apr 20, 2014 12:30 pm
by punk_joker
Leency wrote:Ещё небольшое code-review :)
Он даже не предполагает, что дважды нажав Ctrl+C, он потом вставит 2 файла/папки.

Вот с клавишей Insert - другое дело. Это чуть более очевидно. Но всё же лучше добавить подсказку через @notify.
Это я не учел. По поводу интуитивности на данном этапе не особо важно, данная функция все равно практически не юзабельна на текущий момент. Надеюсь вскоре исправлю текущую проблему, и тогда займусь удобством ее использования.

Re: Eolite

Posted: Sun Apr 20, 2014 12:32 pm
by e-andrew
Заметил небольшой, но всё же важный, баг. Если выделить файл, потом скрольнуть вниз, то и выделение съедет.
Насчёт мултифайловый действий: не проще ли галочку сделать?

Re: Eolite

Posted: Sun Apr 20, 2014 12:32 pm
by punk_joker
Свои наработки я приведу в порядок к релизу KolibriN9, я уже работаю над этим.

Re: Eolite

Posted: Sun Apr 20, 2014 12:34 pm
by punk_joker
e-andrew wrote:Заметил небольшой, но всё же важный, баг. Если выделить файл, потом скрольнуть вниз, то и выделение съедет.
Насчёт мултифайловый действий: не проще ли галочку сделать?
Надо сначала сделать все то, что скрыто от пользователя, и когда данная функция будет работать как надо, я займусь вопросом реализации в интерфейсе.

Re: Eolite

Posted: Sun Apr 20, 2014 12:35 pm
by Mario_r4
Leency wrote:Если ты обо мне, то я не помню, чтобы такого делал. Если делал, то был неправ. Проверять, конечно, нужно, не помню чтобы я с этим спорил.
Чтобы таких вещей не происходило и был придуман code review для проектов с множеством участников, а у нас, к сожалению, все программы в одной ветке trunk из-за нехватки грамотных человеческих ресурсов (всяких захожих максимычей, забегающих раз в год, я грамотными ресурсами не считаю).

Re: Eolite

Posted: Sun Apr 20, 2014 12:37 pm
by punk_joker
На данный момент в теории должно копировать до 10 файлов/папок, но на практике копирует только папки, или же только если начинать выделение с папки.

Re: Eolite

Posted: Sun Apr 20, 2014 12:43 pm
by Leency
e-andrew wrote:Заметил небольшой, но всё же важный, баг. Если выделить файл, потом скрольнуть вниз, то и выделение съедет.
Насчёт мултифайловый действий: не проще ли галочку сделать?
Это из-за того, что вначале был написан Eolite, потом библиотека для работы со списками. Позже она была интергирована в Eolite, где до этого находилась своя собственная реализация работы со списками.
Выделение, которое "бежит" за списком при прокрутке - оставшаяся фича от той реализации. Я эту юзабилити проблему знаю и помню. Она будет исправлена позже, т.к. хоть чейчас это и непривычно, но зато протестировано и работает как нужно.

Re: Eolite

Posted: Sun Apr 20, 2014 4:02 pm
by Leency
Eolite: случайное смещение окна при открытии. Теперь видно один раз программа была запущена или два раза - окна более не накладываются друг на друга.

Re: Eolite

Posted: Sun Apr 20, 2014 4:08 pm
by e-andrew
Решение не самое лучшее имхо. Лучше создать общую область памяти. При создании окна переменная в области + 1. При закрытии - 1.
X = Xstd + 10 * mem[0].
Y = Ystd + 10 * mem[0].
X и Y - координаты окна, Xstd и Ystd - стандартные координаты окна. mem[0] - тот самый счётчик в расшареной памяти.
Но вообще классно, часто накладывание мешало. Image