Wydano katalogizator domowej biblioteki MyLibrary 4.0. Kod programu napisany jest w języku C++ i jest dostępny (GitHub, GitFlic) na licencji GPLv3. Graficzny interfejs użytkownika został zrealizowany przy użyciu biblioteki GTK4. Program jest dostosowany do pracy w systemach operacyjnych z rodziny Linux oraz Windows. Dla użytkowników Arch Linux w AUR dostępny jest gotowy skrypt do budowy pakietu. Dla użytkowników Windows dostępny jest eksperymentalny instalator.
MyLibrary katalogizuje pliki książek w formatach fb2, epub, pdf, djvu, zarówno te dostępne bezpośrednio, jak i spakowane w archiwa (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), i tworzy własną bazę danych, nie zmieniając oryginalnych plików ani ich miejsc. Kontrola integralności kolekcji oraz jej zmian odbywa się przez tworzenie bazy danych sum kontrolnych plików i archiwów.
Zrealizowano wyszukiwanie książek według różnych kryteriów (nazwisko, imię, imię ojca autora, tytuł książki, seria, gatunek) oraz ich czytanie za pomocą programu, domyślnie ustawionego w systemie do otwierania odpowiednich formatów plików. Po wyborze książki wyświetlane są streszczenie i okładka książki, jeśli są dostępne. Obsługiwane jest wyświetlanie listy plików wchodzących w skład kolekcji; listy książek wchodzących w dany plik; listy autorów kolekcji; listy książek, do których użytkownik stworzył notatki.
Możliwe są różne operacje z kolekcją: aktualizacja (sprawdzane są całe zbiory i porównywane sumy kontrolne dostępnych plików), szybka aktualizacja (bez przeliczania sum kontrolnych), eksport i import bazy danych kolekcji, dodawanie książek do kolekcji oraz usuwanie książek z kolekcji, dodawanie do kolekcji folderów z książkami, dodawanie do kolekcji archiwów z książkami, kopiowanie książek z kolekcji do dowolnego folderu, przenoszenie książek z kolekcji do innej kolekcji. Dostępna jest ręczna edycja zapisów o książkach w bazie danych. Stworzono mechanizm zakładek dla szybkiego dostępu do książek. Można tworzyć własne notatki do książek. Opcjonalnie dostępny jest interfejs do tworzenia i podłączania wtyczek. Można otworzyć dokumentację bibliotek MLBookProc i MLPluginIfc (które są częścią projektu), jeśli została stworzona w trakcie budowy.
Znaczące zmiany:
- Funkcje do pracy z kolekcjami, zakładkami i notatkami zostały wydzielone do osobnej biblioteki MLBookProc (może być używana jako całkowicie niezależny projekt).
- Dodano opcjonalny interfejs do tworzenia i podłączania wtyczek (MLPluginIfc).

- Zapewniono pełne wsparcie dla wielowątkowości oparte na OpenMP (dostępne są dwie wersje budowy z równoważnymi funkcjonalnościami: oparte na OpenMP lub std::thread).
- Ulepszono działanie wersji budowy opartej na OpenMP (patrz README).
- Ulepszono równoważenie obciążenia na CPU w wersji budowy opartej na std::thread.
- Dodano możliwość tworzenia własnych notatek do książek.

- Dodano funkcję wyświetlania autorów kolekcji.

- Dodano funkcję wyświetlania książek kolekcji z własnymi notatkami.
- Przeprojektowano funkcje analizy plików z oznaczeniami XML.
- Naprawiono błędy w pracy z książkami w formacie djvu.
- Dodano opcję dostosowania koloru ramki widżetów Gtk::Frame (użytkownicy, którzy zmieniali ustawienia wyglądu, muszą ręcznie dodać do pliku ~/.config/MyLibrary/MLStyles.css wpis „#MLFrame {border-color: black;}”, lub usunąć ten plik i przeprowadzić ponownie ustawienia wyglądu).
- Stworzono dokumentację dla biblioteki MLBookProc.

- Stworzono dokumentację dla MLPluginIfc.
- Usunięto opcję kompilacji USE_TBB (w razie potrzeby dołączenie biblioteki tbb teraz odbywa się automatycznie).
- Inne drobne zmiany i ulepszenia.
Dodatkowo można zauważyć wydanie wtyczki MLInpxPlugin. Wtyczka ta służy do importu kolekcji książek z plików w formacie „inpx” i jest dostępna (altlinux.space, GitHub) na licencji GPLv3. Dla użytkowników Arch Linux w AUR umieszczono gotowy skrypt do kompilacji pakietu. Dla użytkowników Windows przygotowano eksperymentalny instalator.
Źródło: opennet.ru




