ChanServ changed the topic of #libreoffice-ru to: Канал поддержки русскоязычных пользователей LibreOffice | Wiki TDF http://tdf.io/wikiru | On-line документация http://tdf.io/helpru | Логи канала: http://goo.gl/gzwdwU
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
JohnDoe_71Rus has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
bormant has quit [Remote host closed the connection]
bormant has joined #libreoffice-ru
<bormant> всем добра
<mikekaganski> доброе утро :)
<bormant> mikekaganski, пора разбанивать
<mikekaganski> ок, пишу
<mikekaganski> thorsten вроде уже активен, я видел от него письмо в рассылке, надеюсь, ответит скоро
<mikekaganski> > thorsten sets mode -b bormant!*@78.41.179.3
<bormant> 10ч
<bormant> *10x
<tagezi> bormant: напиши Айке первод слова и попроси его вставить туда где оно будет подбираться https://bugs.documentfoundation.org/show_bug.cgi?id=88233
<tagezi> чото я не понимаю, почему форматы они решили не включать в перевод интерфейса
<bormant> из XML-ки выскребать поленились
<bormant> лучше б они перестали из релиза ллокаль QTZ (KeyID - Идентификаторы) выкидывать...
<tagezi> ну, есть баг который говорит что нужно наладить скрипт
<tagezi> но я пока туда не полезу.. просто рано, сделаю ещё хуже
<tagezi> bormant: я там тебя ещё в копию добавил в паре мест
<tagezi> связано с переводом на русский
<tagezi> ошибки старые, и я не помнб насколько глубоко было переведено
<bormant> ага, есть уведомления
<bormant> #104247: STR_READONLY_EDIT переведено: https://translations.documentfoundation.org/ru/libo_ui/translate/sfx2/messages.po#unit=138750391
<bormant> поиска по контексту (msgctx) мы в Pootle, похоже, не дождемся
<tagezi> закрыл
<tagezi> mikekaganski: а какое место отвечает на описание файла в виндоус?
kompi has joined #libreoffice-ru
<tagezi> sysui/desktop/mimetypes/extension.desktop
<kompi> любит Итало лукавить, сравните с его постом https://i.imgur.com/lbLoigU.png
<tagezi> ?
<tagezi> это что?
<mikekaganski> tagezi: скорее всего
<tagezi> kompi: что с чем сравниваешь?
<tagezi> я это уже прочел..
<tagezi> и это не ответ
<mikekaganski> tagezi: в планете
<tagezi> я сравниваю его поиск со своей картинкой?
<mikekaganski> kompi: и в чём нестыковка?
<kompi> а какой тебе надо ответ? он сравнил Либру с ООо и WPS, но почему-то забыл самого главного конкурента
<mikekaganski> kompi: он не включил мсофис
<kompi> да, кэп
<kompi> а все для чего? чтобы сказать, что Либра на вершине славы
<kompi> маркетолог хренов
<mikekaganski> норм
<kompi> угу
<kompi> мы же правду сказали? да!
<mikekaganski> он сравнивал тех, кто в одной весовой категории
<kompi> ну конечно
<kompi> я об этом и говорю
<mikekaganski> а, ну да... я понял, теперь, под влиянием тлетворной пропаганды Итало, все забудут о существовании мсофис...
<tagezi> ну.. тут есть нюанс.. многие пользователи используют мануалы для МСО
<mikekaganski> как мне нравится, когда начинают прикапываться не по делу. Как будто у Итало не хватает реальных косяков
<tagezi> kompi: и тебе реально делать нечего? :)
<tagezi> я щас найду работу :)
<tagezi> помнишь ты говорил, что не всегда можно перевести одинаково?
<mikekaganski> не помню...
<tagezi> как хорошо иметь плохую память :)
<mikekaganski> :)
<tagezi> я говорил о том, что некоторые ексемы повторяются, и былобы сдорово, когда это возможно объединить их в оду
<tagezi> одну*
<tagezi> ты ответил что не всегда можно перевести одинаково их, поэтому объединением никто не занимается
<mikekaganski> ну, и если в одномм месте "Dialog" переводится как "Диалог", в другом месте "диалогу", в третьем ещё как-то?
<tagezi> стандартные вещи должны везде переводиться одинаково
<tagezi> кроме того, это уменьшает опечатки в переводе
<tagezi> и не преднамеренные ошибки
<tagezi> я думаю что это везде будет переводиться одинаково
<tagezi> другой вопрос, как это унифицировать
<bormant> tagezi, повторить свою заунывную песню в N+1-ый раз?
<bormant> tagezi, краткое содержание: мы ввели msgctx, чтобы каждое вхождение было униальным
<bormant> *уникальным
<tagezi> а зачем?
<bormant> а чтобы можно было Slandard -> Обычный / Обычная / Обычное / Обычно в зависимости от контекста употребления :-)
<bormant> в английском этой проблемы нет
<bormant> или Insert в Menubar это Вставка, а на кнопке -- Вставить :-)
<tagezi> но меню Файл, везде должно быть файл
<bormant> так вот, когда по уму -- msgctx добавляют в нестандартное употребление по запросу от команды локализации
<kompi> а меню Инсерт везде Инсерт
<tagezi> Или ты гденибудь хочешь Документ? :)
<kompi> tagezi: мне есть что делать
<bormant> с комментарием, почему оно удостоено такой чести
<kompi> mikekaganski: а это и есть очередной РЕАЛЬНЫЙ косяк Итало
<kompi> а когда ему говоришь, что он брешет, как заводной, он обижается и говорит, что мы ничего не понимаем в маркетинге
<tagezi> kompi: да оставь ты его в покое.. или иди в маркетинг и рули вместе с ним
<kompi> вместо него //фикс
<mikekaganski> kompi: ну, мне так не кажется. Если бы от умолчания МС что-то зависело... А так ты предлагаешь некое "полное" отображение, в масштабе которого абсолютно теряется та информация, которую хотят показать
<bormant> tagezi, про меню File -- ответишь за все 52 языка?
<kompi> mikekaganski: а какую информацию они хотят показать? Что среди маргинальщины, Либра вперде всей планеты?
<tagezi> да, меню везде должно быть унифицировано
<mikekaganski> это не "хитрость". Хитрость была бы, если бы он, например, опустил ОнлиОфис или АОО
<kompi> это не "хитрость" согласен
<mikekaganski> kompi: да, что из альтернатив, мы более востребованы
<tagezi> kompi: ты цель вообще понимаешь этого?
<mikekaganski> это же именно маркетинг. А у нас маркетинг - когда мы продаём себя тем, кто *уже юзает МСОфис*
<bormant> tagezi, это очень странное утверждение. Вероятно, понедельничное сужение круглозора :)
<mikekaganski> так что им не надо рассказывать, какой МСОфис классный - они и так знают
<tagezi> он не хочет показать что ЛО впереди планеты всей, он хочет привлечь тех кто готов уже на ОпенСоурс
<mikekaganski> а вот из альтернатив нужно выбирать
<tagezi> чтобы объединить этих разрозненых
<bormant> tagezi, Например, MenuBar - File и MenuBar - Insert - File
<bormant> tagezi, Есть уверенность, что все языки локализации допускают одинаковое слово вместо File в обоих случаях?
<tagezi> так, ты говоришь про разные случаи
<mikekaganski> bormant: +100500
<bormant> tagezi, вот чтобы они стали разными, и был введен msgctx ;)
<tagezi> да, но у нас куча мест повторов, где это реально одно и тоже
<bormant> автоматический msgctx сделат все File разными автоматически
<bormant> *сделал
<tagezi> так значит можно не стараться сокращать переменные?
<bormant> то есть, нет ручной работы по отделению уникальных msgctx, есть ручная работа по переводу одного и того же
<tagezi> я вчера там выпендривался, старался убрать лишнюю строку, а можно было просто воткнуть дубликат и забить?
<bormant> забей, я переведу. И еще 51 команда переведет
<bormant> а потом вдруг решат, что регистр нужно было сделать иначе, и мы снова переведем :-)
<bormant> tagezi, масштаб проблемы на самом деле мог быть много меньше
<bormant> если для максимального количества одинаковых вхождений сделать одинаковый перевод, то переезды для этих вхождений станут мягше
<bormant> но это не касается проблемы "косметических" изменений
<mikekaganski> ой-ё... новый boost... полный ребилд
<bormant> mikekaganski, часов на 6?
<mikekaganski> ага
<bormant> mikekaganski, отличный понедельник, практичеки суббота :-)
<mikekaganski> :) нееее... мне придётся просто работать во втором дереве, пока первое будет пыхтеть и тормозить всю машину...
<tagezi> сделай себе машину на последнет интеле
<tagezi> 18 потоков.. сборка будет минут за 20 проходить
<mikekaganski> о, кажется, спонсор вызвался? или показалось?..
<tagezi> тогда не плакай :)
<mikekaganski> :)
<tagezi> я вот себе баг не могу найти для поправке... вот у меня проблема.. а тебе то.. нужно просто пересобрать ЛО
<mikekaganski> да я плакаю, что не заметил коммит с бустом. Глянул наискосок - вроде нет ничего... а тут - на тебе
<tagezi> ааа.. чтобы волосы на голове не рвать..
<tagezi> её просто нужно выбрить :)
<mikekaganski> :))
<tagezi> так.. что мне сломать?
<tagezi> что-то я опять нифига найти не могу.. то вы говорите, что это не нужно трогать, то я даже не знаю как подступиться к этому
<tagezi> mikekaganski: кстати, ты видел ночной коментарий?
<tagezi> А то Серёга хулиганил тут....
<mikekaganski> tagezi: ?
<tagezi> Короче, я нашёл бинарные файлы в справке
<mikekaganski> ну и что?
<tagezi> и, вот вопрос, будет ли оно работать на разных системах..
<mikekaganski> а, это
<mikekaganski> надо смотреть... и ещё - Оливье сильно переделал справку, так что вопрос, как оно будет
<tagezi> это к тому, что может стоит вернуться к идее "пусть пользователь сам сногается с этим"
<mikekaganski> ну, пока что это был только RFE, никто ничего ещё не делал
<tagezi> я тогда могу вставить 64/32 бита в сообщение.. и пусть сергей перводит :)
<mikekaganski> :) вот ведь все друг другу ... друзья, товарищи и братья!
<tagezi> он сам сказал что ему не влом :)
<tagezi> если человеку нравиться, почему я должен его этого лишать
<tagezi> Я помню мы с Леной разговаривали, когда я только пришёл, она была за эту идею, чтобы убрать ненужные повторы из перевода
<tagezi> сейчас я во многих местах, представляю как это сделать.. и впринципе можно было бы сократить количество лексем..
<tagezi> но баба-яга против :) так что..
<kompi> tagezi: запили механизм рисования таблиц (карандаш+ластик) в Writer
<tagezi> угу, разбери пшено, погладь одежду, помой полы, сшей 20 платьев
<tagezi> и можешь ехать на бал
<tagezi> kompi: если бы я мог решать такие сложные задачи, я бы не парился по поводу выбора бага, а просто бралбы все подряд
<kompi> бери все подряд, чисти код блин, у тебя хорошо получается
<kompi> учись у Каолана
<kompi> он вон миллионами строк меняет все в Либре >_<
<tagezi> угу, у него армия миньёнов..
<tagezi> а сам он загороает на бали в это время :)
* mikekaganski ждёт автобиаграфию "tagezi: от миньона до мильона миньонов"
<tagezi> :)
<tagezi> нужно команду куа подымать.. что-то куча ьагов не заурыто
<kompi> "от миньона до миньона, багов до миллиона"
<tagezi> реально нужно толпу миньонов найти
<tagezi> как открыть документ на редакторование? о_О
<tagezi> нашёл
<kompi> хм
<kompi> и это наш разработчик
<kompi> mikekaganski: ты решил проблему дублирования soffice.bin/.exe?
<mikekaganski> вроде, после того, как Арон нашёл способ воспроизвести
<bormant> повторюсь
<bormant> нет ручной работы по заведению отдельных уникальных msgctx, есть ручная работа по переводу одного и того же
<bormant> нет ручной работы по переводу одного и того же, будет ручная работа по заведению отдельных уникальных msgctx
<bormant> echo 'Где есть смерть, там всегда будет смерть (q)' | sed s,смерть,работа,g
<tagezi> bormant: такой вопрос.. за последние пару лет, было дофига сокрашений.. тыкнуть носом не смогу, не найду сейчас, но они делаются
<tagezi> сильно напрягло разводить?
<bormant> не понял вопроса
<tagezi> ну, делается работа по слиянию Ликсем
<bormant> прямо хоть садиться и статью о процессе писать...
<tagezi> впринципе, разговор сейчас идёт о том, чтобы обединить те, которые были созданы в разных дублирующих окнах
<bormant> tagezi, сначала посмотри, как перевод попадает в сборку
<tagezi> у меня дофига чего не переведено
<bormant> если помодульно, а лексемы в разных модулях, то нет и предмета для разговора
<tagezi> но я уже не суюсь, потому что, что-то там не то со зборкой
<tagezi> какдый раз делать make clean меня задалбывает
<tagezi> модульность, это странная штука в ЛО
<tagezi> например cui общий для всех гуишных модулей, но нотебар и садебар реализованы в каждом отдельно
<tagezi> и получается что всё продублировано 6 раз
<tagezi> в райтере 3 штуки сразу.. стандартная, для веб и для мастердокументов
<kompi> dtkjcbgtls
<kompi> велосипеды
<kompi> tagezi: вот тебе поле для деятельности
<tagezi> окно одно и тоже, разведено на уровне кода... три раза повтарена одна и таже лексема
<tagezi> kompi: серёга против
<bormant> tagezi, Серега ЗА
<tagezi> ну, ты мне говоришь, что объединять нельзя
<bormant> за то, чтобы кто-то еще объединил
<bormant> tagezi, да, бездумно нельзя
<tagezi> про безуловно никто и не говорит
<bormant> я не настолько полиглот, чтобы сказать по каждому случаю, где можно, а где нельзя
<bormant> случаю -- в контексте 52 команд локализации
<JohnDoe_71Rus> серега за то, чтобы эту работу делала команда программер+переводчик. ?
<bormant> но есть полуавтоматическое решение
<tagezi> Путл - это не проект ЛО
<bormant> в translation-tools с незапамятных времен есть poconflicts
<bormant> tagezi, но он сильно учитывает пожелания ЛО
<tagezi> ну, это нужно сидеть и проталкивать
<bormant> pootle, virtaal и translation-toolkit из одного гнезда, если правильно путаю
<tagezi> но есть другая вещь.. вот пример с предудущим моим патчем.. http://itmages.ru/image/view/6410892/911a983f
<tagezi> а в боковой панели это выглядит вообще по другому
<tagezi> и получается охренеть как не юзабельно, и на уровне кода, и на уровне интерфейса.. и кроме того, вот 100%, Heading везде переведено одинаково, во всех модулях, где он есть
<tagezi> mikekaganski: ты с кальком работал?
<bormant> tagezi, за Heading не был бы так уверен
<tagezi> есть пикольная ошибка, только не понятно где начать копать
<bormant> то улучшение, не ошибка
<bormant> главное не забыть, что перемещение по Enter не "вниз", а настраиваемо
<bormant> сервис - Параметры - LO Calc - Общие - [настройки ввода] Клавиша Enter перемещает выделение [Вниз/Вправо/Вверх/Влево]
<bormant> а улучшение в том, что когда дойдет до конца, нужно пойти в начало в том же направлении
<bormant> т.е. зациклить перемещение
<bormant> tagezi, если зацепиться за параметр, полагаю, можно быстро отыскать нужное место
<bormant> и не забыть, что Shift+Enter перемещает в противоположном направлении
<bormant> хотя, там скорее всего Shift участвует в вичислении направления до самого пеемещения
<mikekaganski> tagezi: так, хорошая штука
<tagezi> да, нужно место только найти
* tagezi не понимает, почему ему интересно то, где нужно мозги напрягать.. нет чтобы форматировать код и не парится
<bormant> В https://opengrok.libreoffice.org/xref/core/sc/uiconfig/scalc/ui/scgeneralpage.ui#312 есть <object class="GtkComboBoxText" id="alignlb">
<tagezi> эм
<tagezi> это к чему?
<bormant> смотрите,. что устанавливает этот комбик и где это потом используется -- вот это и будет искомый код
<mikekaganski> tagezi: можно начать с оконной процедуры в vcl/win/window/salframe.cxx
<bormant> это к #68290
<tagezi> а от сюда не проще?
<bormant> Этот параметр должен быть взят для вычисления направления перехода по Enter
<mikekaganski> а, кстати да
<bormant> т.е. там должна быть логика, типа if (установлен_флажок "Press Enter to _move selection") { //будет перемещение
<bormant> direction = получить_параметр;
<bormant> if (ShiftPressed) сменить направление
<tagezi> так, погодь, ты не туда тычишь
<tagezi> вот то что в окне
<tagezi> в окне настроек
<bormant> оно SCINPUTOPT_MOVEDIR
<bormant> где-то должен быть анализ ScInputOptions::nMoveDir
<bormant> ага, есть GetMoveDir()
<tagezi> ща Серёга тихим сапом напишет патч :)
<mikekaganski> tagezi: кстати, посмотри, как ведёт себя курсор, когда в кальке выделена область, и нажимаешь tab
<mikekaganski> а, и enter тоже так делает, только в другом направлении
<tagezi> точно также
<tagezi> там проблема не в виделении, а если некоторые ячейки заблокированы
<tagezi> защищены
<mikekaganski> точно как же,
<mikekaganski> ?
<mikekaganski> я тебе про то, что нечто подобное реализовано
<tagezi> bugs.documentfoundation.org/attachment.cgi?id=84291
<bormant> выделение -- это if (rMark.IsMarked() || rMark.IsMultiMarked())
<bormant> а интересующая ветка -- эьл удыу Х
<mikekaganski> да
<tagezi> да, нечто подобное уже реализовано :)
<bormant> это else {
<bormant> и перемещение произойдет. когда if ( nMoveY != 0 && !nMoveX )
<bormant> кстати, проверку на не-ноль стоило сделать единообразно
<bormant> if ( nMoveY != 0 && nMoveX !=0 ) или if ( !nMoveY && !nMoveX )
<bormant> ха, а это условие не всегда ли ложно?
<mikekaganski> нет, там не такое условие
<bormant> mikekaganski, eue? db;e
<bormant> угу, вижу, что-то задумался ;)
<bormant> if ( nMoveY != 0 && nMoveX ==0 )
<bormant> либо if ( nMoveY && !nMoveX )
<bormant> а то глаз спотыкается ;)
<mikekaganski> можно поглядеть, чего так. Может, какая-нибудь замена после кланговского плагина...
<bormant> левая часть условия в одном стиле. правая в другом ;)
<bormant> возвращаясь к энхансменту, вот внутри этого if он и должен попасть в начало, т.е. aViewData.GetTabStartCol() должен вернуть не SC_TABSTART_NONE
<tagezi> если ячейки для перемешения нет
<tagezi> да
<bormant> и вот тут оно и не работает. На простом листе ухожу в конец Ctrl+Right Ctrl+Down Up Enter (есть перемещение в последнюю ячейку) Enter (нет перемещения в начало листа)
<tagezi> если ты перейдёшь просто в конец столбца, даже первого
<tagezi> то у тебя тоже не будет перемещаться на соседний столбец в начало
<tagezi> при нажимании ентера
<bormant> tagezi, проще всего под отладчиком понять, кто виноват
<tagezi> так, это ты у нас умеешь всё очень быстро читать, а я очень медленный человек.. я ещё читаю :)
<tagezi> щас дочту, и включу отладчик :)
<bormant> tagezi, осталось понять -- это так было задумано, или по ходу дела поломалось :-)
<tagezi> бесмысленно уже понимать это
<tagezi> слишком старый баг, это место могло быть переписано десяток раз
<bormant> он и вправо/влево не перескакивает (если поменяю поведение по Enter на Вправо)
<bormant> хотя это я на пустом листе пробовал. надо на данных посмотреть
<tagezi> я вот этого не понимаю.. nMoveY != 0 && !nMoveX
<tagezi> оно всегда тру
<bormant> нет
<tagezi> почему?
<tagezi> там короткий инт
<bormant> когда nMoveX не 0, все выражение false
<bormant> все условие: если (nMoveY не 0 И nMoveX есть 0 )
<bormant> т.е. -- когда перемещение по вертикали, то
<bormant> но логика там чуть больная, вероятно, стала такой после каких-то правок:
<bormant> 1356-1370: nMoveX, nMoveY меняются тут, только одна из них не равна 0
<bormant> 1383: это положительная ветка if -- другая ветка
<mikekaganski> Хехе. Кому-то резало глаз в 2004 https://cgit.freedesktop.org/libreoffice/core/commit/?id=a31c22bf
<bormant> 1394: выходит здесь только одна из nMoveX, nMoveY может быть не 0, проверять обе нет смысла
<bormant> tagezi, зачем сказано про короткий инт? тут размер их не имеет значения && -- логический оператор
<tagezi> я свич не правильно прочитал
<tagezi> мне показалось что там не может быть 0 вообще после него
<bormant> mikekaganski, вероятно, резало только левый глаз ;)
<bormant> mikekaganski, что там в стайлгайде про сравнения на 0/не 0 сказано, короткие или длинные?
<tagezi> а при отрицании минус единица это фалс или тру? :)
<bormant> tagezi, условие выполняетсяя? if (nTabCol != SC_TABSTART_NONE)
<bormant> а вот ВОПРОС: поведение по End сломали или его тут и не было никогда?
<tagezi> сломали
<bormant> я про End, Right; End, Up; End, Left, End, Down
<tagezi> а не, пашет
<tagezi> End — Перейти к концу документа. — Выделяет ячейку в текущем листе на пересечении этой строки и последнего столбца, в котором есть заполненные ячейки (сам в шоке).
<bormant> должно быть эквивалентно: Ctrl+Right; Ctrl+Up; Cnhl+Left; Cnhl+Down
<tagezi> Перемещение при помощи горячих клавиш
<tagezi> тама описывал
<tagezi> блин, чтобы я сам это всё помнил :)
<bormant> понял, не СуперКалк и не КватроПро
<bormant> возвращаясь к отладчику, условие выполняетсяя? if (nTabCol != SC_TABSTART_NONE)
<bormant> внутрь заходит?
<tagezi> должно выполняться по идее.. так как nTabCol текущая, а SC_TABSTART_NONE это максимально возможная
<tagezi> сейчас смотрю в отладчике
<tagezi> у меня под отладчиком ооооооооооочень медленно работает
<tagezi> ха.. они всегда равны
<bormant> nTabCol всегда SC_TABSTART_NONE?
<bormant> или кто "они"
<tagezi> да
<tagezi> 1398 if (nTabCol != SC_TABSTART_NONE)
<tagezi> $4 = 32767
<tagezi> (gdb) print SC_TABSTART_NONE
<tagezi> $3 = 32767
<tagezi> (gdb) print nTabCol
<tagezi> хаха
<tagezi> кто-то очень умный их прировнял
<bormant> да ладно, можно пока считать 1394-1405 мертвым куском
<bormant> вот только она не знает инициатора перемещения (Tab/Enter или стрелки)
<bormant> стало быть. не ее это дело, делать wrap через лист
<tagezi> а туда уже передана следующая позиция, какая ей разница?
<bormant> не, туда передано на сколько сметиться по горизонтали и вертикали
<bormant> а куда она придет, будет дальше вычисляться с учетом bSkipPronected, bSkipUnprotected
<bormant> поэтому, строго говоря, попытки внутри 1394-1405 вычислить относительное смещение без учета поведения MoveCursorRel() заранее обречены на провал ;)
<mikekaganski> а причём тут идея? это давнишная придумка МС, в софтмейкере её просто реализовали и написали как новшество - в общем-то да, для них новшество, а для нас вообще только идея
* mikekaganski пришёл-таки в конце к согласию, что таки да, идея
<bormant> как по мне -- никчемная затея
<mikekaganski> а это уже вопрос совместимости
<mikekaganski> мы не умеем читать такие файлы, а значит, ай-яй-яй
<bormant> ну, то технический аспект, а идея -- аспект эмоциональный ;)
<mikekaganski> :) а как только реализован технический аспект, ...
<bormant> так вот сама идея -- никчемная
<bormant> на мой скромный взгляд
<kompi> а вы про которую идею?
<bormant> "Таблицы" внутри Электронных таблиц, ссылка выше
<kompi> не уловил фишку
<mikekaganski> чего уж там, идея тупая. Но кто-то продавил её в МС (какой-то очень большой клиент), кому показалось, что оно круто. И теперь есть новый эмнадцатый способ почесать левой пяткой правое ухо.
<tagezi> а это не способ работы аля со скрытыми названными диапазонами
<tagezi> ?
<bormant> tagezi, мне тоже показалось именно это
<bormant> по прочтении статейки
<tagezi> мне влом вычитывать... это очень похоже на названый диаппазон с элементом вшитого автофильтра и прикрученой сводной таблицы в конец
<tagezi> очень богатая домохозяйка была
<tagezi> с защищенными ячейками там очень интересно получается... если выделить диапазон в котором будут включены защищенные ячейки
<tagezi> то перемещение по диапазонубудет происходить, только очень странно :)
<tagezi> bormant: короче ты прав, нужно дебажить функцию по всем возможным вариантам с вызовами других функций.. и можно будет востановить, что они там хотели сделать
<tagezi> и да, спасибо за нахождения места
<bormant> tagezi, взаимно спасибо за сеанс пошаговой отладки по IRC
<bormant> ;)
<tagezi> ну, для меня реально нахождения места для старта до сих пор проблема...
<tagezi> я иногда понимаю даже в чем может быть заморочка, но не могу нати места откуда начать искать
<tagezi> я уже пару багов таких оставил после пару дней исканий
<bormant> один способ я сегодня показал -- если есть управляющий интересующим поведением параметр, частелько за него можно вытянуть логику
<tagezi> да.. а чаще всего его нет :)
<tagezi> что-то было с таблицами райтера, с выделением кажется
<tagezi> ладно, порешаю этот баг, он вроде не сложный, и поразбираться мне есть где
<bormant> tagezi, он СЛОЖНЫЙ, потому как архитектура в том месте кривая. Выбор невелик: переделать правильно или подкинуть костылей :)
<kompi> tagezi: была трабла, что при выделении таблицы невозможно было форматировать все ячейки, причем выделение только определенным образом и должны быть совмещенные ячейки
<tagezi> ну.. с деревом был вроде сложенее, там нужно было всё переписывать с нуля и сращивать 5 мест в одно.. тут уже все реализовано, нужно только логику дотянуть до ума
<bormant> а кривость архитектуры в следующем:
<bormant> 1) про источник перемещения (Tab или Enter) знает только ScTabView::MoveCursorEnter()
<bormant> 2) само относительное перемещение выполняет ScTabView::MoveCursorRel()
<bormant> 3) ScTabView::MoveCursorRel() при перемещении учитывает свойства перемещения по защищенным ячейкам
<bormant> 4) (1) пытается вычислить, на сколько нужно переместиться, чтобы попасть в начало без учета (3)
<bormant> 5) (1) пытается сдеелать wrap только при вертикальном перемещении
<bormant> отдельный вопрос -- wrap надо сделать на границе листа или на границе, достижимой по End, или на границе области?
<tagezi> вот самое правивное, что патч примут, если он будет реазделён по этим конкретным штукам :)
<bormant> (1) и (3) должны работать рука об руку, поэтому, скорее всего, и тут придется кусочек переписать со сращиванием нескольких мест в одно
<kompi> tagezi: давай, расти уже
<kompi> статус миддла так просто не дается
<kompi> bormant: а ты программист по основному роду деятельности?
<tagezi> я думаю, насамом деле всё тут pDoc->GetNextPos( nNewX,nNewY, nTab, nMoveX,nMoveY, true, false, rMark );
<tagezi> оно отвечает за новую позицию
kompi has quit [Quit: Page closed]
<tagezi> а при отсутствии выделения, она не вызывается
<tagezi> mikekaganski: а как посмотреть историю всех строк в файле включающих выражение?
<tagezi> log слишком много левого выводит, blame только последнее изменение
<mikekaganski> да, по последнему изменению, и шагаешь вглубь
<tagezi> А как шагать? :)
<tagezi> мне просто интересно узнать идею вот этого https://opengrok.libreoffice.org/xref/core/sc/source/ui/view/tabview3.cxx#1397
<tagezi> там однозначно получается всегда фалс в проверке
<tagezi> но этоже тупо
<mikekaganski> указываешь ревизию - предка найденного коммита
<mikekaganski> где? (я не следил за вашими изысканиями)
<tagezi> ну, вот делают объект SCCOL nTabCol = aViewData.GetTabStartCol();
<mikekaganski> ссылку
<tagezi> и там везде в фале nTabStartCol = SC_TABSTART_NONE;
<tagezi> чтобы изменить значение nTabStartCol нужно вызвать SetTabStartCol(SCCOL nNew)
<tagezi> это вообще странный кусок
<mikekaganski> строка 585
<tagezi> где
<tagezi> я тебе 3 файла дал
<tagezi> так, объясни
<tagezi> почему это будет отличаться от nTabStartCol = SC_TABSTART_NONE;
<mikekaganski> ты говоришь, что это условие всегда ложное. А я тебе показал место, где это значение присваивается
<tagezi> так.. погоди
<tagezi> вот первая ссылка которую я дал
<mikekaganski> ну
<tagezi> там создается объект, и вызывается метод который возвращает nTabStartCol
<tagezi> а nTabStartCol всегда равна SC_TABSTART_NONE;
<mikekaganski> создаётся объект?
<tagezi> хорошо, получается значение
<mikekaganski> почему это оно всегда такое?
<tagezi> nTabStartCol всегда присваевается SC_TABSTART_NONE; это строки 727 и 819
<tagezi> только вот тут вызыввается aViewData.SetTabStartCol( nTabCol ); https://opengrok.libreoffice.org/xref/core/sc/source/ui/view/tabview3.cxx#1503
<mikekaganski> погоди, давай всё же с твоим "создаём объект" - может, в этом и проблема. Какой объект создаём?
<tagezi> не, там не создаем объект, а получаем значение
<mikekaganski> именно
<tagezi> которое проверяется с максимальным
<tagezi> и они всегда равны в этом месте
<mikekaganski> а вот это почему???
<tagezi> потому что член nTabStartCol всегда равен SC_TABSTART_NONE
<mikekaganski> когда создавался член aViewData, там действительно было это значение. Но потом оно изменяетмя по ходу жизни
<tagezi> где?
<tagezi> там всего 2 места где есть эта переменная
<mikekaganski> каждый вызов SetTabStartCol
<tagezi> эм
<mikekaganski> причём не только в этом файле
<tagezi> в каком случае она будет равна не SC_TABSTART_NONE
<mikekaganski> ScTabView::FindNextUnprot
<mikekaganski> вот смотри: если вызвать эту функцию для ситуации, когда nTabStartCol равен SC_TABSTART_NONE, то в строке 1503 это значение будет получено, в 1504 проверено, и в 1505 изменено на другое, а потом в 1510 записано в объект
<mikekaganski> так что после этого значение в объекте уже не будет SC_TABSTART_NONE
<tagezi> странно.. да, я вижу где по идее оно должно меняться при движении
<tagezi> только не понимаю почему не меняется
<tagezi> ладно, я погоняю разные ситуации, посмотрю значения
JohnDoe_71Rus has quit [Ping timeout: 260 seconds]
JohnDoe_71Rus has joined #libreoffice-ru
bormant has quit [Quit: Leaving]
<tagezi> чото какие-то варнинги сыпятся workdir/LexTarget/l10ntools/source/cfglex.cxx:3043:17: warning: ‘void yyunput(int, char*)’ defined but not used [-Wunused-function]
<mikekaganski> ну и ладно :)
<mikekaganski> это внешние библиотеки, их код мы не всегда можем почистить
<tagezi> ну, да.. это всё внешнее
JohnDoe_71Rus has quit [Quit: KVIrc 4.9.3 Aria http://www.kvirc.net/]
<tagezi> кстати мы вносим такое в релиз нотес https://bugs.documentfoundation.org/show_bug.cgi?id=115002
tagezi_ has joined #libreoffice-ru
tagezi has quit [Ping timeout: 246 seconds]
tagezi_ is now known as tagezi