forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.ANDROID

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 01.05.2017, 22:21
Alexander Morozov
Guest
 
Сообщений: n/a
По умолчанию Разбиение на строки в НotDogEd

Alexander Morozov написал(а) к All в May 17 21:06:57 по местному времени:

Нello, All.

Меня уже давно очень напрягает то, как НotDog производит склеивание строк в блоках цитат в сообщениях. Сразу скажу, что я понимаю, что эта функция нужна для того, чтобы цитируемый текст нормально размещался по ширине экранов различных устройств. Но я считаю, в реализации этого механизма есть недочёты, которые я попробую объяснить и которые я хотел бы устранить, подробно и с примерами, чтобы меня поняли.

Дело в том, что при письме (не только в Фидо, но и по e-mail, а также в Web-форумах) я разбиваю свой текст на абзацы, чтобы его было удобно читать (причём делаю так уже очень давно). При этом для разделения абзацев друг от друга я использую пустую строку. Например, этот и предыдущий абзац этого письма разделены пустой строкой.

Раньше, в GoldEd, это не вызывало никаких проблем. А вот в НotDogEd всё иначе.

Что же произойдёт, если в НotDogEd попытаться ответить на моё сообщение и сохранить этот ответ? В блоке цитирования моего текста всё моё разбиение на абзацы исчезнет, и текст склеится в одну большую кучу.

Почему это происходит именно так? Как я понимаю, потому, что при цитировании НotDogEd заменяет абсолютно все переводы строк на пробелы, не учитывая, есть ли между этими переводами строк ещё какие-либо другие символы.

Как можно избежать этого? Нужно доработать функцию, которая осуществляет эту склейку.

Если в тексте, подлежащем цитированию, встречается последовательность вида "<одни нормальные символы><перевод строки><другие нормальные символы>" (здесь и далее под нормальными символами я имею в виду любые символы, кроме перевода строки и возврата каретки), то заменять её на "<одни нормальные символы><пробел><другие нормальные символы>" - это правильно.

Но если в тексте встречается последовательность вида "<одни нормальные символы><перевод строки><перевод строки><другие нормальные символы>", то заменять её не надо, т. к. это абзац (или, если угодно, "жёсткий" перевод строки)!

А что, если встретится несколько (2 или более) пустых строк подряд, т. е., например, "<одни нормальные символы><перевод строки><перевод строки><перевод строки><другие нормальные символы>"? Тогда, по аналогии с тем, как программа заменяет несколько пробелов подряд на один пробел, можно заменить такую последовательность на "<одни нормальные символы><перевод строки><перевод строки><другие нормальные символы>", т. е. вместо многих пустых строк подряд оставить только одну пустую строку.

А ещё, если в письме содержится несколько уровней цитирования (т. е. цитаты от разных людей), я отделяю одну цитату от другой также пустыми строками, тоже т. о. создаю абзацы. Т. е., например, идёт блок двойной цитаты "AB>> один текст", потом я вставляю пустую строку, потом ещё блок цитаты "CD> другой текст". А когда я сохраняю сообщение, НotDogEd удаляет мою пустую строку между блоками цитирования AB и CD! Это некрасиво.

Как я понимаю, это другое проявление всё той же самой проблемы. И устранить его можно тем же способом, который описан выше.

Спасибо за внимание! Очень надеюсь на такую доработку!

Отправил копию автору нетмэйлом.

--
Best regards!
Posted using Нotdoged on Android
--- Нotdoged/2.13.5/Android
Ответить с цитированием
  #2  
Старый 02.05.2017, 10:50
Sergey Poziturin
Guest
 
Сообщений: n/a
По умолчанию Разбиение на строки в НotDogEd

Sergey Poziturin написал(а) к Alexander Morozov в May 17 09:22:27 по местному времени:

Нello, Alexander Morozov.
On 01.05.17 9:06 ПП you wrote:

AM> Что же произойдёт, если в НotDogEd попытаться ответить на моё
AM> сообщение и сохранить этот ответ? В блоке цитирования моего текста
AM> всё моё разбиение на абзацы исчезнет, и текст склеится в одну
AM> большую кучу.

Вообще-то нет. Если у тебя это так, то это баг, квоть и присылай сразу логи.

http://pics.propush.ru/img/Screens3734_2rx6m.jpg


--
Best regards!
Posted using Нotdoged on Android
--- Нotdoged/2.13.5/Android
Ответить с цитированием
  #3  
Старый 02.05.2017, 14:40
Alexander Morozov
Guest
 
Сообщений: n/a
По умолчанию Re: Разбиение на строки в НotDogEd

Alexander Morozov написал(а) к Sergey Poziturin в May 17 13:08:29 по местному времени:

Нello, Sergey Poziturin.

On 5/2/17 09:22 you wrote:

AM>> Что же произойдёт, если в НotDogEd попытаться ответить на моё
AM>> сообщение и сохранить этот ответ? В блоке цитирования моего
AM>> текста всё моё разбиение на абзацы исчезнет, и текст склеится в
AM>> одну большую кучу.

SP> Вообще-то нет. Если у тебя это так, то это баг, квоть и присылай
SP> сразу логи. http://pics.propush.ru/img/Screens3734_2rx6m.jpg

На твоём снимке изображён экран программы в момент редактирования сообщения. На этом этапе программа работает нормально. Проблема возникает позже, в момент сохранения сообщения. Если после редактирования нажать кнопку сохранения сообщения (или нажать кнопку назад несколько раз, чтобы сохранить сообщение как черновик) и затем открыть сохранённое сообщение, то это станет видно.

--
Best regards!
Posted using Нotdoged on Android
--- Нotdoged/2.13.5/Android
Ответить с цитированием
  #4  
Старый 02.05.2017, 18:01
Sergey Poziturin
Guest
 
Сообщений: n/a
По умолчанию Re: Разбиение на строки в НotDogEd

Sergey Poziturin написал(а) к Alexander Morozov в May 17 16:31:52 по местному времени:

Нello, Alexander Morozov.
On 02.05.17 1:08 ПП you wrote:

AM>>> Что же произойдёт, если в НotDogEd попытаться ответить на моё
AM>>> сообщение и сохранить этот ответ? В блоке цитирования моего
AM>>> текста всё моё разбиение на абзацы исчезнет, и текст склеится в
AM>>> одну большую кучу.
SP>> Вообще-то нет. Если у тебя это так, то это баг, квоть и присылай
SP>> сразу логи. http://pics.propush.ru/img/Screens3734_2rx6m.jpg
AM> На твоём снимке изображён экран программы в момент редактирования
AM> сообщения. На этом этапе программа работает нормально. Проблема
AM> возникает позже, в момент сохранения сообщения. Если после
AM> редактирования нажать кнопку сохранения сообщения (или нажать
AM> кнопку назад несколько раз, чтобы сохранить сообщение как
AM> черновик) и затем открыть сохранённое сообщение, то это станет
AM> видно.

А, вон ты о чем. Теперь понял.

Правильный вопрос, который нужно бы здесь задать: не как этого избежать, а зачем. Алгоритм так задуман, чтобы склеивать неважное. Зачем увеличивать количество строк в квоте, если ты на эту квоту отвечаешь на всю целиком? Это только ухудшает отображение, особенно это заметно на небольших по высоте устройствах вывода.

--
Best regards!
Posted using Нotdoged on Android
--- Нotdoged/2.13.5/Android
Ответить с цитированием
  #5  
Старый 02.05.2017, 20:11
Alexander Morozov
Guest
 
Сообщений: n/a
По умолчанию Re: Разбиение на строки в НotDogEd

Alexander Morozov написал(а) к Sergey Poziturin в May 17 18:13:20 по местному времени:

Нello, Sergey Poziturin.

On 5/2/17 16:31 you wrote:

SP> Правильный вопрос, который нужно бы здесь задать: не как этого
SP> избежать, а зачем. Алгоритм так задуман, чтобы склеивать неважное.
SP> Зачем увеличивать количество строк в квоте, если ты на эту квоту
SP> отвечаешь на всю целиком? Это только ухудшает отображение,
SP> особенно это заметно на небольших по высоте устройствах вывода.

Во-первых, иногда для понятности ответа лучше процитировать несколько абзацев исходного сообщения, но при этом оставить их разделение (т. к. оно может быть не просто так, а по смыслу).

Во-вторых, иногда нужно процитировать несколько больших блоков текста, принадлежащих разным авторам, но стоящих рядом, разделяя их блоки для пущей наглядности, например, так:

AB>> текст одного автора (может быть весьма длинным и размещаться на
AB>> нескольких строках экрана)

CD> текст другого автора (тоже может быть весьма длинным и размещаться
CD> на нескольких строках экрана)

А теперь мой ответ на эти блоки, который тоже может быть не менее длинным, а, может быть, даже более :-)

Если удалить пустые строки между такими длинными блоками, то наглядность потеряется, даже несмотря на выделение цветом.

--
Best regards!
Posted using Нotdoged on Android
--- Нotdoged/2.13.5/Android
Ответить с цитированием
  #6  
Старый 03.05.2017, 10:10
Alexander Polozov
Guest
 
Сообщений: n/a
По умолчанию Разбиение на строки в НotDogEd

Alexander Polozov написал(а) к Alexander Morozov в May 17 08:35:50 по местному времени:

Привет, Alexander!


Ответ на сообщение Alexander Morozov (2:5020/2880) к All, написанное 01 май 17 в 21:06:

AM> Меня уже давно очень напрягает то, как НotDog производит склеивание
AM> строк в блоках цитат в сообщениях. Сразу скажу, что я понимаю, что эта
AM> функция нужна для того, чтобы цитируемый текст нормально размещался по
AM> ширине экранов различных устройств. Но я считаю, в реализации этого
AM> механизма есть недочёты, которые я попробую объяснить и которые я
AM> хотел бы устранить, подробно и с примерами, чтобы меня поняли.
Примеры и объяснения покилял.
ИМХО - не нужно это всё, и даже поясню почему:
То что ты хочешь, явно пахнет оверквотингом, который явно был запрещён рулесами большинства эх. При нормальном же квотинге, когда чужие мысли перемежаются ответами на них, всё равно цитаты приходится руками фигурно обрезать.
И да, даже дедушка оригинальное форматирование цитат портит, дабы вписать в границы.

Со всеми пожеланиями, Alexander Polozov

... Это не баг - это фича...
--- GoldED+/LNX 1.1.5 (Linux 4.8.0-pf8 CPU UNKNOWN)
Ответить с цитированием
  #7  
Старый 03.05.2017, 15:21
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию Разбиение на строки в НotDogEd

Alexey Vissarionov написал(а) к Sergey Poziturin в May 17 13:44:00 по местному времени:

Доброго времени суток, Sergey!
02 May 2017 16:31:52, ты -> Alexander Morozov:

SP> Алгоритм так задуман, чтобы склеивать неважное. Зачем увеличивать
SP> количество строк в квоте, если ты на эту квоту отвечаешь на всю
SP> целиком? Это только ухудшает отображение, особенно это заметно на
SP> небольших по высоте устройствах вывода.

А возможность разорвать квоту в произвольном месте и воткнуть туда ответ появилась?


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Опыты над мышами подтверждают, что встреча с черной кошкой - плохая примета
--- /bin/vi
Ответить с цитированием
  #8  
Старый 03.05.2017, 20:51
Sergey Poziturin
Guest
 
Сообщений: n/a
По умолчанию Разбиение на строки в НotDogEd

Sergey Poziturin написал(а) к Alexey Vissarionov в May 17 19:38:56 по местному времени:

Нello, Alexey Vissarionov.
On 03.05.17 1:44 ПП you wrote:

SP>> Алгоритм так задуман, чтобы склеивать неважное. Зачем увеличивать
SP>> количество строк в квоте, если ты на эту квоту отвечаешь на всю
SP>> целиком? Это только ухудшает отображение, особенно это заметно на
SP>> небольших по высоте устройствах вывода.
AV> А возможность разорвать квоту в произвольном месте

Да.

AV> и воткнуть туда ответ появилась?

Тыкаешь на абзац долго - в меню выбираешь split part. В появившемся окне ставишь курсор куда тебе нужно и тыкаешь кнопку split at cursor. Все, абзац разбит пополам по курсору. Там в может клавиатура вылезти, когда её не просили, это я пока не смог побороть.

Курсор можно ставить куда угодно, хоть скраю квоты, хоть в середине, хоть куда, оно само разобьет и инициалы корректно расставит.

Пример такого - как раз это сообщение.

Нашёл, правда, пару мелких глючков в этом месте, но они не особо мешают.

--
Best regards!
Posted using Нotdoged on Android
--- Нotdoged/2.13.5/Android
Ответить с цитированием
  #9  
Старый 04.05.2017, 08:41
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию Разбиение на строки в НotDogEd

Alexey Vissarionov написал(а) к Sergey Poziturin в May 17 07:20:00 по местному времени:

Доброго времени суток, Sergey!
03 May 2017 19:38:56, ты -> мне:

SP>>> Алгоритм так задуман, чтобы склеивать неважное. Зачем увеличивать
SP>>> количество строк в квоте, если ты на эту квоту отвечаешь на всю
SP>>> целиком? Это только ухудшает отображение, особенно это заметно на
SP>>> небольших по высоте устройствах вывода.
AV>> А возможность разорвать квоту в произвольном месте
SP> Да.

Очхшо.

AV>> и воткнуть туда ответ появилась?
SP> Тыкаешь на абзац долго - в меню выбираешь split part. В появившемся
SP> окне ставишь курсор куда тебе нужно и тыкаешь кнопку split at cursor.
SP> Все, абзац разбит пополам по курсору. Там в может клавиатура вылезти,
SP> когда её не просили, это я пока не смог побороть.

Не критично.

SP> Курсор можно ставить куда угодно, хоть скраю квоты, хоть в середине,
SP> хоть куда, оно само разобьет и инициалы корректно расставит.

Ага.

SP> Пример такого - как раз это сообщение.

Ага, именно для таких случаев и нужно.

SP> Нашёл, правда, пару мелких глючков в этом месте, но они не особо
SP> мешают.

Это какие?


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Нет стандарта, кроме POSIX, и man(1) - пророк его!
--- /bin/vi
Ответить с цитированием
  #10  
Старый 04.05.2017, 10:52
Sergey Poziturin
Guest
 
Сообщений: n/a
По умолчанию Разбиение на строки в НotDogEd

Sergey Poziturin написал(а) к Alexey Vissarionov в May 17 09:13:43 по местному времени:

Нello, Alexey Vissarionov.
On 04.05.17 7:20 ДП you wrote:

SP>> Нашёл, правда, пару мелких глючков в этом месте, но они не особо
SP>> мешают.
AV> Это какие?

Иногда может ошибиться на 1 символ (ловил один раз, правда, но забыть такое не могу, буду пытаться ловить ещё). Не вполне корректно отменяется через undo.

--
Best regards!
Posted using Нotdoged on Android
--- Нotdoged/2.13.5/Android
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:52. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot