Skip to content

Commit

Permalink
много фич
Browse files Browse the repository at this point in the history
* синхронные субтитры
* выбор количества слов для изучения из новых и повторяемых
* окно информации после добавления текста
  • Loading branch information
optozorax committed Aug 4, 2021
1 parent 67d1198 commit 80a5703
Show file tree
Hide file tree
Showing 5 changed files with 691 additions and 85 deletions.
2 changes: 2 additions & 0 deletions .gitignore
@@ -1,2 +1,4 @@
/target
Cargo.lock
subs/
*.data
13 changes: 13 additions & 0 deletions ideas.md
Expand Up @@ -30,6 +30,19 @@
* текст показывается -50 символов назад и +50 символов вперёд
* контексты показываются в scroll окне, выделяя основное слово strong, через separator

# синхронные субтитры

* это будет отдельное окно, которому можно указывать конкретное слово, а оно будет их искать все его встречи в первом предоставленном тексте
* окно для добавления имеет два поля для ввода текста: Lang 1 (to search words), Lang 2 (translation of Lang 1).
* у окна для показывания есть метод, который позволяет ввести в поиск нужное слово, если окно открыто. в отличие от окна поиска, это окно не открывается автоматически
* использует [column](https://github.com/emilk/egui/blob/master/egui_demo_lib/src/apps/demo/misc_demo_window.rs#L60) для окна вставки субтитров
* использует [grid](https://github.com/emilk/egui/blob/master/egui_demo_lib/src/apps/demo/widget_gallery.rs#L60) для показывания параллельно. так как там могут быть пустые места с обоих сторон.
* использует код аналогичным [scrolling](https://github.com/emilk/egui/blob/master/egui_demo_lib/src/apps/demo/scrolling.rs) для выбора элемента скролла
* перебирает одновременно оба субтитра и смещает указатель текущего времени, если у текущего времени есть пересечение с тем что на другом языке, связывает их в один
* ещё в окне показывается номер элемента слева, то есть grid состоит из 3 элементов
* если одна фраза на одном языке пересекается с несколькими на другом языке, то она показывается только для первой
* есть галочка искать по словам или по вхождениям

# идеи неизвестной полезности

* Чтобы можно было настраивать предел для расстояния левенштейна, и чтобы это задавалось в настройках, и одновременно в окне поиска на месте.
Expand Down
37 changes: 29 additions & 8 deletions learn_words.todo
Expand Up @@ -16,28 +16,49 @@
✔ окно для редактирования одного слова @done (21-08-03 22:16)
✔ сделать карандашик напротив слова, которое открывает окно для этого слова и позволяет его редактировать @done (21-08-03 22:16)
✔ всё-таки добавить фичу, показывающую контекст конкретного слова, заодно показывать частоту его встречи в данном тексте @done (21-08-03 23:02)
☐ синхронные субтитры, когда одновременно показывается и русский и английский вариант
✔ должна быть возможность выбирать количество новых слов, и количество слов для повторения @done (21-08-04 14:57)
✔ после добавления текста или субтитров должно показываться окно с инфой: @done (21-08-04 17:20)
+ всего слов
+ уникальных слов
+ отфильтровано
+ известные (known, trash, learned)
+ изучаемые (tolearn)
+ неизвестных
✔ синхронные субтитры, когда одновременно показывается и русский и английский вариант @done (21-08-04 23:51)
✔ разобраться с выделением текста при поиске @done (21-08-04 23:55)
✔ чтобы когда в вводе ничего нет, или нашлись новые результаты, скролл улетал на начало @done (21-08-04 23:57)
✔ 0 всегда обозначает отсутствие скролла @done (21-08-04 23:57)
✔ сделать чтобы скролл целился на лейбл только после нажатия кнопки @done (21-08-04 23:57)
✔ убрать массив в поиске слова @done (21-08-05 00:03)
✘ вынести общую часть в коде find_whole_word @cancelled (21-08-05 00:14)
✔ сделать чтобы нулевой элемент не показывался в кнопочках, и чтобы не выделялся, и чтобы на него нельзя было попасть @done (21-08-05 00:14)
☐ после ввода слова должна быть возможность инвертировать правильный и неправильный результаты
☐ нужна белая тема, ибо на тёмной глазам неприятно
+ запоминать тему в настройки
+ рисовать всё окно белым или чёрным в зависимости от темы
+ запомнить цвета для всяких штук типо activity в зависимости от темы
☐ должна быть галочка, позволяющая двигать график
☐ возможность менять масштаб в настройках

общее:
✔ кажется нативное приложение не хочет сохранять статистику в файл @done (21-08-01 23:06)
✔ кажется окно добавления слов не фильтрует известные слова @done (21-08-01 23:12)
✔ невозможно нажать пробел из-за замены символов @done (21-08-02 21:06)
✔ слова должны быть огромными, а не простой label @done (21-08-02 21:06)
✔ чтобы слова можно было удалять @done (21-08-03 23:15)
✘ при вводе слова должна быть возможность посмотреть его статистику @cancelled (21-08-03 23:15)
✘ при вводе в попытках слова должна быть возможность отредактировать это слово (типо иногда оставил лишнее окончание или что-то такое) @cancelled (21-08-03 23:15)
☐ сделать кнопку для скипа добавляемых слов
☐ добавить learned translations в окно добавления слов
☐ сортировать слова не по их алфавитному написанию а по порядку как они встречаются в тексте
☐ https://github.com/emilk/egui/issues/595
☐ рассказать о quad-storage
☐ при вводе в попытках слова должна быть возможность отредактировать это слово (типо иногда оставил лишнее окончание или что-то такое)
☐ при вводе слова должна быть возможность посмотреть его статистику
☐ после ввода слова должна быть возможность инвертировать правильный и неправильный результаты
☐ законтрибьютить user_dpi в egui-miniquad
☐ интересно было бы отсортировать все слова в порядке количества неправильных попыток
☐ чтобы слова можно было удалять
☐ нужна белая тема, ибо на тёмной глазам неприятно
☐ 1 сентября опубликовать статью по результатам месячного использования этой проги
☐ в окне добавления слов по тексту показывать сколько было уникальных, а сколько отфильтровалось
☐ изучить карточки для запоминания, попробовать сделать так чтобы у меня это можно было реализовать через настройки
☐ в статье сказать что словосочетания-идиомы-фрагеологизмы не детектятся автоматически, но их можно добавить вручную, если хочется
☐ мб попробовать отображать панику на экране
☐ после окончания добавления слов должно показываться сколько уникальных слов в тексте найдено, сколько отфильтровано, сколько из этого текста известно после того как пользователь сказал, и сколько новых для изучения. это окно должно так же появляться когда пользователь добавил текст где он знает все слова.
☐ нужна возможность отменить предыдущее нажатие при добавлении слова, а то так можешь быстро нажимать что знаешь слово и раз, пропустил одно

рефакторинг:
Expand Down

0 comments on commit 80a5703

Please sign in to comment.