Mercurial > minori
changeset 195:975a3f0965e2
locale: only attempt loading locales after QApplication is init'd
also the general application stuff and anime list is separated in settings
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Thu, 07 Dec 2023 11:14:01 -0500 |
parents | 8548dc425697 |
children | f0ff06a45c42 |
files | CMakeLists.txt include/core/session.h include/gui/dialog/settings.h rc/locale/en_GB.ts rc/locale/es.ts src/core/anime.cc src/gui/dialog/settings/application.cc src/gui/locale.cc src/gui/window.cc src/main.cc src/sys/osx/dark_theme.cc src/sys/osx/filesystem.cc |
diffstat | 12 files changed, 583 insertions(+), 403 deletions(-) [+] |
line wrap: on
line diff
--- a/CMakeLists.txt Thu Dec 07 03:17:05 2023 -0500 +++ b/CMakeLists.txt Thu Dec 07 11:14:01 2023 -0500 @@ -123,7 +123,6 @@ set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/rc/locale") -# dumb little hack to get this working on Qt5 and Qt6 if(UPDATE_TRANSLATIONS) cmake_language(CALL qt${QT_VERSION_MAJOR}_create_translation ${SRC_FILES} ${TS_FILES} OPTIONS "-I${CMAKE_CURRENT_SOURCE_DIR}/include") endif() @@ -196,6 +195,7 @@ target_compile_options(minori PRIVATE -Wall -Wpedantic -Wextra -Wsuggest-override -Wold-style-cast) if(APPLE) target_compile_definitions(minori PUBLIC MACOSX) + set_target_properties(minori PROPERTIES MACOSX_BUNDLE TRUE) elseif(WIN32) target_compile_definitions(minori PUBLIC WIN32) endif()
--- a/include/core/session.h Thu Dec 07 03:17:05 2023 -0500 +++ b/include/core/session.h Thu Dec 07 11:14:01 2023 -0500 @@ -16,7 +16,7 @@ Config config; private: - uint32_t requests = 0; + unsigned int requests = 0; QElapsedTimer timer; };
--- a/include/gui/dialog/settings.h Thu Dec 07 03:17:05 2023 -0500 +++ b/include/gui/dialog/settings.h Thu Dec 07 11:14:01 2023 -0500 @@ -50,6 +50,7 @@ private: QWidget* CreateAnimeListWidget(); + QWidget* CreateGeneralWidget(); decltype(session.config.anime_list.score_format) format; Themes theme; QLocale locale;
--- a/rc/locale/en_GB.ts Thu Dec 07 03:17:05 2023 -0500 +++ b/rc/locale/en_GB.ts Thu Dec 07 11:14:01 2023 -0500 @@ -4,7 +4,7 @@ <context> <name>AboutWindow</name> <message> - <location filename="../../src/gui/dialog/about.cc" line="46"/> + <location filename="../../src/gui/dialog/about.cc" line="42"/> <source>About Minori</source> <translation type="unfinished"></translation> </message> @@ -40,23 +40,28 @@ <context> <name>AnimeListPage</name> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="229"/> - <location filename="../../src/gui/pages/anime_list.cc" line="265"/> + <location filename="../../src/gui/pages/anime_list.cc" line="233"/> + <location filename="../../src/gui/pages/anime_list.cc" line="271"/> <source>Column visibility</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="253"/> + <location filename="../../src/gui/pages/anime_list.cc" line="259"/> <source>Reset to defaults</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="282"/> + <location filename="../../src/gui/pages/anime_list.cc" line="288"/> <source>Information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="293"/> + <location filename="../../src/gui/pages/anime_list.cc" line="300"/> + <source>Edit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/pages/anime_list.cc" line="311"/> <source>Delete from list...</source> <translation type="unfinished"></translation> </message> @@ -64,57 +69,57 @@ <context> <name>AnimeListPageModel</name> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="70"/> + <location filename="../../src/gui/pages/anime_list.cc" line="73"/> <source>Anime title</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="71"/> + <location filename="../../src/gui/pages/anime_list.cc" line="74"/> <source>Progress</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="72"/> - <source>Episodes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/pages/anime_list.cc" line="73"/> - <source>Type</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/pages/anime_list.cc" line="74"/> - <source>Score</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/gui/pages/anime_list.cc" line="75"/> - <source>Season</source> + <source>Episodes</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gui/pages/anime_list.cc" line="76"/> - <source>Date started</source> + <source>Type</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gui/pages/anime_list.cc" line="77"/> - <source>Date completed</source> + <source>Score</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gui/pages/anime_list.cc" line="78"/> - <source>Notes</source> + <source>Season</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gui/pages/anime_list.cc" line="79"/> + <source>Date started</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/pages/anime_list.cc" line="80"/> + <source>Date completed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/pages/anime_list.cc" line="81"/> + <source>Notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/pages/anime_list.cc" line="82"/> <source>Average score</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="80"/> + <location filename="../../src/gui/pages/anime_list.cc" line="83"/> <source>Last updated</source> <translation type="unfinished"></translation> </message> @@ -185,83 +190,83 @@ <context> <name>MainWindow</name> <message> - <location filename="../../src/gui/window.cc" line="98"/> + <location filename="../../src/gui/window.cc" line="130"/> <source>Now Playing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="100"/> + <location filename="../../src/gui/window.cc" line="132"/> <source>Anime List</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="101"/> - <source>History</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/window.cc" line="102"/> - <source>Statistics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/window.cc" line="104"/> - <source>Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/window.cc" line="105"/> - <source>Seasons</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/window.cc" line="106"/> - <source>Torrents</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/gui/window.cc" line="133"/> - <source>&File</source> + <source>History</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/window.cc" line="134"/> + <source>Statistics</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gui/window.cc" line="136"/> - <source>&Library folders</source> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/window.cc" line="137"/> + <source>Seasons</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gui/window.cc" line="138"/> + <source>Torrents</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/window.cc" line="165"/> + <source>&File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/window.cc" line="168"/> + <source>&Library folders</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/window.cc" line="170"/> <source>&Add new folder...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="143"/> + <location filename="../../src/gui/window.cc" line="175"/> <source>&Scan available episodes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="356"/> - <location filename="../../src/gui/window.cc" line="370"/> + <location filename="../../src/gui/window.cc" line="388"/> + <location filename="../../src/gui/window.cc" line="402"/> <source>...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="161"/> + <location filename="../../src/gui/window.cc" line="193"/> <source>E&xit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="167"/> + <location filename="../../src/gui/window.cc" line="199"/> <source>&Services</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="170"/> + <location filename="../../src/gui/window.cc" line="202"/> <source>Synchronize &list</source> <translation>Synchronise &list</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="201"/> + <location filename="../../src/gui/window.cc" line="233"/> <source>&Tools</source> <translation type="unfinished"></translation> </message> @@ -270,87 +275,87 @@ <translation type="vanished">Enable &auto synchronisation</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="236"/> + <location filename="../../src/gui/window.cc" line="268"/> <source>&Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="246"/> + <location filename="../../src/gui/window.cc" line="278"/> <source>&View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="256"/> + <location filename="../../src/gui/window.cc" line="288"/> <source>&Now Playing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="262"/> + <location filename="../../src/gui/window.cc" line="294"/> <source>&Anime List</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="269"/> + <location filename="../../src/gui/window.cc" line="301"/> <source>&History</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="275"/> + <location filename="../../src/gui/window.cc" line="307"/> <source>&Statistics</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="281"/> + <location filename="../../src/gui/window.cc" line="313"/> <source>S&earch</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="287"/> + <location filename="../../src/gui/window.cc" line="319"/> <source>Se&asons</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="293"/> + <location filename="../../src/gui/window.cc" line="325"/> <source>&Torrents</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="315"/> - <source>&Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/window.cc" line="319"/> - <source>&About Minori</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/window.cc" line="327"/> - <source>About &Qt</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/gui/window.cc" line="347"/> + <source>&Help</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/window.cc" line="351"/> + <source>&About Minori</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/window.cc" line="359"/> + <source>About &Qt</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/window.cc" line="379"/> <source>&Synchronize</source> <translation>&Synchronise</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="381"/> + <location filename="../../src/gui/window.cc" line="413"/> <source>S&ettings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="396"/> + <location filename="../../src/gui/window.cc" line="428"/> <source>Error synchronizing with service!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="397"/> + <location filename="../../src/gui/window.cc" line="429"/> <source>It seems you haven't yet selected a service to use.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="398"/> + <location filename="../../src/gui/window.cc" line="430"/> <source>Would you like to select one now?</source> <translation type="unfinished"></translation> </message> @@ -358,7 +363,7 @@ <context> <name>NowPlayingPages::Default</name> <message> - <location filename="../../src/gui/pages/now_playing.cc" line="49"/> + <location filename="../../src/gui/pages/now_playing.cc" line="47"/> <source>Now Playing</source> <translation type="unfinished"></translation> </message> @@ -366,184 +371,209 @@ <context> <name>QCoreApplication</name> <message> - <location filename="../../src/gui/translate/anime.cc" line="10"/> + <location filename="../../src/gui/translate/anime.cc" line="182"/> <source>Currently watching</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="11"/> + <location filename="../../src/gui/translate/anime.cc" line="183"/> <source>Plan to watch</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="12"/> + <location filename="../../src/gui/translate/anime.cc" line="184"/> <source>Completed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="13"/> + <location filename="../../src/gui/translate/anime.cc" line="185"/> <source>Dropped</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="14"/> + <location filename="../../src/gui/translate/anime.cc" line="186"/> <source>On hold</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="16"/> + <location filename="../../src/gui/translate/anime.cc" line="188"/> <source>Not in list</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="22"/> + <location filename="../../src/gui/translate/anime.cc" line="194"/> <source>TV</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="23"/> + <location filename="../../src/gui/translate/anime.cc" line="195"/> <source>TV short</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="24"/> + <location filename="../../src/gui/translate/anime.cc" line="196"/> <source>OVA</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="26"/> + <location filename="../../src/gui/translate/anime.cc" line="198"/> <source>Special</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="27"/> + <location filename="../../src/gui/translate/anime.cc" line="199"/> <source>ONA</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="28"/> + <location filename="../../src/gui/translate/anime.cc" line="200"/> <source>Music</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="30"/> - <location filename="../../src/gui/translate/anime.cc" line="41"/> - <location filename="../../src/gui/translate/anime.cc" line="53"/> + <location filename="../../src/gui/translate/anime.cc" line="202"/> + <location filename="../../src/gui/translate/anime.cc" line="213"/> + <location filename="../../src/gui/translate/anime.cc" line="225"/> <source>Unknown</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="36"/> + <location filename="../../src/gui/translate/anime.cc" line="208"/> <source>Winter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="37"/> + <location filename="../../src/gui/translate/anime.cc" line="209"/> <source>Summer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="25"/> + <location filename="../../src/gui/translate/anime.cc" line="248"/> + <source>3-point</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/translate/anime.cc" line="249"/> + <source>5-point</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/translate/anime.cc" line="250"/> + <source>10-point</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/translate/anime.cc" line="251"/> + <source>10-point (Decimal)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/translate/anime.cc" line="253"/> + <source>100-point</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/translate/anime.cc" line="197"/> <source>Movie</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="38"/> + <location filename="../../src/gui/translate/anime.cc" line="210"/> <source>Fall</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="39"/> + <location filename="../../src/gui/translate/anime.cc" line="211"/> <source>Spring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="47"/> + <location filename="../../src/gui/translate/anime.cc" line="219"/> <source>Currently airing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="48"/> + <location filename="../../src/gui/translate/anime.cc" line="220"/> <source>Finished airing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="49"/> + <location filename="../../src/gui/translate/anime.cc" line="221"/> <source>Not yet aired</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="50"/> + <location filename="../../src/gui/translate/anime.cc" line="222"/> <source>Cancelled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="51"/> + <location filename="../../src/gui/translate/anime.cc" line="223"/> <source>On hiatus</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="59"/> + <location filename="../../src/gui/translate/anime.cc" line="231"/> <source>AniList</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="61"/> + <location filename="../../src/gui/translate/anime.cc" line="233"/> <source>None</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="78"/> + <location filename="../../src/gui/translate/anime.cc" line="239"/> <source>Native</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="79"/> + <location filename="../../src/gui/translate/anime.cc" line="240"/> <source>English</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="81"/> + <location filename="../../src/gui/translate/anime.cc" line="242"/> <source>Romaji</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../../src/gui/dialog/about.cc" line="53"/> + <source>Author:</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../../src/gui/dialog/about.cc" line="57"/> - <source>Author:</source> + <source>Third party components:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/about.cc" line="61"/> - <source>Third party components:</source> + <location filename="../../src/gui/dialog/about.cc" line="73"/> + <source>Special thanks:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/about.cc" line="76"/> + <source>for creating Taiga</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gui/dialog/about.cc" line="77"/> - <source>Special thanks:</source> + <source>and</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/about.cc" line="78"/> + <source>for creating BreezeStyleSheets, on which the dark theme in this program is based off of</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gui/dialog/about.cc" line="80"/> - <source>for creating Taiga</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/dialog/about.cc" line="81"/> - <source>and</source> + <source>for providing some sample code for detecting dark mode on Windows and macOS</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gui/dialog/about.cc" line="82"/> - <source>for creating BreezeStyleSheets, on which the dark theme in this program is based off of</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/dialog/about.cc" line="84"/> - <source>for providing some sample code for detecting dark mode on Windows and macOS</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/dialog/about.cc" line="86"/> <source>for providing information on getting open file descriptors on macOS</source> <translation type="unfinished"></translation> </message> @@ -551,22 +581,27 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../../src/gui/dialog/settings.cc" line="76"/> + <location filename="../../src/gui/dialog/settings.cc" line="77"/> <source>Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings.cc" line="89"/> + <location filename="../../src/gui/dialog/settings.cc" line="90"/> <source>Services</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings.cc" line="91"/> + <location filename="../../src/gui/dialog/settings.cc" line="92"/> <source>Application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings.cc" line="94"/> + <location filename="../../src/gui/dialog/settings.cc" line="93"/> + <source>Recognition</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings.cc" line="95"/> <source>Torrents</source> <translation type="unfinished"></translation> </message> @@ -574,117 +609,151 @@ <context> <name>SettingsPageApplication</name> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="25"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="28"/> <source>Actions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="33"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="36"/> <source>Double click:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="35"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="38"/> <source>View anime info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="48"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="51"/> <source>Middle click:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="50"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="53"/> <source>Play next episode</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="65"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="68"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="183"/> <source>Appearance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="73"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="76"/> <source>Title language preference:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="78"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="81"/> <source>Romaji</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="79"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="82"/> <source>Native</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="80"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="83"/> <source>English</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="91"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="94"/> + <source>Rating system:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/application.cc" line="191"/> <source>Application theme:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="97"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="197"/> <source>Default</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="98"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="198"/> <source>Light</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="99"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="199"/> <source>Dark</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="110"/> - <source>Set application locale:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="142"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="124"/> <source>Highlight anime if next episode is available in library folders</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="132"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="114"/> <source>Display highlighted anime above others</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="161"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="143"/> <source>Progress</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="168"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="150"/> <source>Display aired episodes (estimated)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="176"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="158"/> <source>Display available episodes in library folders</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="202"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="210"/> + <source>Application locale:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/application.cc" line="251"/> <source>Application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="210"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="260"/> + <source>General</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/application.cc" line="261"/> <source>Anime list</source> <translation type="unfinished"></translation> </message> </context> <context> + <name>SettingsPageRecognition</name> + <message> + <location filename="../../src/gui/dialog/settings/recognition.cc" line="28"/> + <source>Enable media player detection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/recognition.cc" line="33"/> + <source>Allowed media players:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/recognition.cc" line="78"/> + <source>Recognition</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/recognition.cc" line="81"/> + <source>Media players</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>SettingsPageServices</name> <message> <location filename="../../src/gui/dialog/settings/services.cc" line="27"/> @@ -757,7 +826,7 @@ </message> <message> <location filename="../../src/gui/dialog/settings/torrents.cc" line="59"/> - <source>Application</source> + <source>Torrents</source> <translation type="unfinished"></translation> </message> <message> @@ -769,12 +838,12 @@ <context> <name>StatisticsPage</name> <message> - <location filename="../../src/gui/pages/statistics.cc" line="24"/> + <location filename="../../src/gui/pages/statistics.cc" line="27"/> <source>Anime list</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/statistics.cc" line="25"/> + <location filename="../../src/gui/pages/statistics.cc" line="28"/> <source>Anime count: Episode count: Time spent watching: @@ -784,17 +853,17 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/statistics.cc" line="31"/> + <location filename="../../src/gui/pages/statistics.cc" line="36"/> <source>Score distribution</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/statistics.cc" line="51"/> + <location filename="../../src/gui/pages/statistics.cc" line="60"/> <source>Minori</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/statistics.cc" line="51"/> + <location filename="../../src/gui/pages/statistics.cc" line="60"/> <source>Uptime: Requests made:</source> <translation type="unfinished"></translation> @@ -803,22 +872,22 @@ <context> <name>TorrentsPage</name> <message> - <location filename="../../src/gui/pages/torrents.cc" line="270"/> + <location filename="../../src/gui/pages/torrents.cc" line="299"/> <source>&Check new torrents</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="280"/> + <location filename="../../src/gui/pages/torrents.cc" line="309"/> <source>Download &marked torrents</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="284"/> + <location filename="../../src/gui/pages/torrents.cc" line="313"/> <source>&Discard all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="290"/> + <location filename="../../src/gui/pages/torrents.cc" line="319"/> <source>&Settings</source> <translation type="unfinished"></translation> </message> @@ -826,57 +895,57 @@ <context> <name>TorrentsPageListModel</name> <message> - <location filename="../../src/gui/pages/torrents.cc" line="120"/> + <location filename="../../src/gui/pages/torrents.cc" line="157"/> <source>Anime title</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="121"/> + <location filename="../../src/gui/pages/torrents.cc" line="158"/> <source>Episode</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="122"/> + <location filename="../../src/gui/pages/torrents.cc" line="159"/> <source>Group</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="123"/> + <location filename="../../src/gui/pages/torrents.cc" line="160"/> <source>Size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="124"/> + <location filename="../../src/gui/pages/torrents.cc" line="161"/> <source>Resolution</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="125"/> + <location filename="../../src/gui/pages/torrents.cc" line="162"/> <source>Seeding</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="126"/> + <location filename="../../src/gui/pages/torrents.cc" line="163"/> <source>Leeching</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="127"/> + <location filename="../../src/gui/pages/torrents.cc" line="164"/> <source>Downloading</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="128"/> + <location filename="../../src/gui/pages/torrents.cc" line="165"/> <source>Description</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="129"/> + <location filename="../../src/gui/pages/torrents.cc" line="166"/> <source>Filename</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="130"/> + <location filename="../../src/gui/pages/torrents.cc" line="167"/> <source>Release date</source> <translation type="unfinished"></translation> </message>
--- a/rc/locale/es.ts Thu Dec 07 03:17:05 2023 -0500 +++ b/rc/locale/es.ts Thu Dec 07 11:14:01 2023 -0500 @@ -4,7 +4,7 @@ <context> <name>AboutWindow</name> <message> - <location filename="../../src/gui/dialog/about.cc" line="46"/> + <location filename="../../src/gui/dialog/about.cc" line="42"/> <source>About Minori</source> <translation>Acerca de Minori</translation> </message> @@ -45,23 +45,28 @@ <context> <name>AnimeListPage</name> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="229"/> - <location filename="../../src/gui/pages/anime_list.cc" line="265"/> + <location filename="../../src/gui/pages/anime_list.cc" line="233"/> + <location filename="../../src/gui/pages/anime_list.cc" line="271"/> <source>Column visibility</source> <translation>Visibilidad de la columna</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="253"/> + <location filename="../../src/gui/pages/anime_list.cc" line="259"/> <source>Reset to defaults</source> <translation>Restablecer valores predeterminado</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="282"/> + <location filename="../../src/gui/pages/anime_list.cc" line="288"/> <source>Information</source> <translation>Información</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="293"/> + <location filename="../../src/gui/pages/anime_list.cc" line="300"/> + <source>Edit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/pages/anime_list.cc" line="311"/> <source>Delete from list...</source> <translation>Borrar de la lista...</translation> </message> @@ -69,57 +74,57 @@ <context> <name>AnimeListPageModel</name> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="70"/> + <location filename="../../src/gui/pages/anime_list.cc" line="73"/> <source>Anime title</source> <translation>Título del anime</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="71"/> + <location filename="../../src/gui/pages/anime_list.cc" line="74"/> <source>Progress</source> <translation>Progreso</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="72"/> + <location filename="../../src/gui/pages/anime_list.cc" line="75"/> <source>Episodes</source> <translation>Episodios</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="73"/> + <location filename="../../src/gui/pages/anime_list.cc" line="76"/> <source>Type</source> <translation>Formato</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="74"/> + <location filename="../../src/gui/pages/anime_list.cc" line="77"/> <source>Score</source> <translation>Puntuación</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="75"/> + <location filename="../../src/gui/pages/anime_list.cc" line="78"/> <source>Season</source> <translation>Temporada</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="76"/> + <location filename="../../src/gui/pages/anime_list.cc" line="79"/> <source>Date started</source> <translation>Fecha de inicio</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="77"/> + <location filename="../../src/gui/pages/anime_list.cc" line="80"/> <source>Date completed</source> <translation>Fecha de finalización</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="78"/> + <location filename="../../src/gui/pages/anime_list.cc" line="81"/> <source>Notes</source> <translation>Notas</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="79"/> + <location filename="../../src/gui/pages/anime_list.cc" line="82"/> <source>Average score</source> <translation>Puntuación media</translation> </message> <message> - <location filename="../../src/gui/pages/anime_list.cc" line="80"/> + <location filename="../../src/gui/pages/anime_list.cc" line="83"/> <source>Last updated</source> <translation>Última actualización</translation> </message> @@ -190,63 +195,63 @@ <context> <name>MainWindow</name> <message> - <location filename="../../src/gui/window.cc" line="98"/> + <location filename="../../src/gui/window.cc" line="130"/> <source>Now Playing</source> <translation>Jugando ahora</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="100"/> + <location filename="../../src/gui/window.cc" line="132"/> <source>Anime List</source> <translation>Lista de anime</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="101"/> + <location filename="../../src/gui/window.cc" line="133"/> <source>History</source> <translation>Historia</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="102"/> + <location filename="../../src/gui/window.cc" line="134"/> <source>Statistics</source> <translation>Estadísticas</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="104"/> + <location filename="../../src/gui/window.cc" line="136"/> <source>Search</source> <translation>Buscar</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="105"/> + <location filename="../../src/gui/window.cc" line="137"/> <source>Seasons</source> <translation>Temporadas</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="106"/> + <location filename="../../src/gui/window.cc" line="138"/> <source>Torrents</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gui/window.cc" line="133"/> + <location filename="../../src/gui/window.cc" line="165"/> <source>&File</source> <translation>&Fichero</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="136"/> + <location filename="../../src/gui/window.cc" line="168"/> <source>&Library folders</source> <translation>Directorios de la biblioteca (&L)</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="138"/> + <location filename="../../src/gui/window.cc" line="170"/> <source>&Add new folder...</source> <translation>&Añadir una nueva directorios...</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="143"/> + <location filename="../../src/gui/window.cc" line="175"/> <source>&Scan available episodes</source> <translation>E&scanear episodios disponibles</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="356"/> - <location filename="../../src/gui/window.cc" line="370"/> + <location filename="../../src/gui/window.cc" line="388"/> + <location filename="../../src/gui/window.cc" line="402"/> <source>...</source> <translation type="unfinished"></translation> </message> @@ -259,17 +264,17 @@ <translation type="vanished">Ver episodio aleato&rio</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="161"/> + <location filename="../../src/gui/window.cc" line="193"/> <source>E&xit</source> <translation>Salida (&X)</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="167"/> + <location filename="../../src/gui/window.cc" line="199"/> <source>&Services</source> <translation>&Servicios</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="170"/> + <location filename="../../src/gui/window.cc" line="202"/> <source>Synchronize &list</source> <translation>Sincronizar &lista</translation> </message> @@ -310,7 +315,7 @@ <translation type="vanished">Ir a mi &historia</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="201"/> + <location filename="../../src/gui/window.cc" line="233"/> <source>&Tools</source> <translation>Ins&trumentos</translation> </message> @@ -339,47 +344,47 @@ <translation type="vanished">Activar la sincronización &automática</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="236"/> + <location filename="../../src/gui/window.cc" line="268"/> <source>&Settings</source> <translation>Configuración (&S)</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="246"/> + <location filename="../../src/gui/window.cc" line="278"/> <source>&View</source> <translation>&Ver</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="256"/> + <location filename="../../src/gui/window.cc" line="288"/> <source>&Now Playing</source> <translation>Jugando ahora (&N)</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="262"/> + <location filename="../../src/gui/window.cc" line="294"/> <source>&Anime List</source> <translation>Lista de &anime</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="269"/> + <location filename="../../src/gui/window.cc" line="301"/> <source>&History</source> <translation>&Historia</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="275"/> + <location filename="../../src/gui/window.cc" line="307"/> <source>&Statistics</source> <translation>E&stadísticas</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="281"/> + <location filename="../../src/gui/window.cc" line="313"/> <source>S&earch</source> <translation>Buscar (&S)</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="287"/> + <location filename="../../src/gui/window.cc" line="319"/> <source>Se&asons</source> <translation>Tempor&adas</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="293"/> + <location filename="../../src/gui/window.cc" line="325"/> <source>&Torrents</source> <translation type="unfinished"></translation> </message> @@ -388,22 +393,22 @@ <translation type="vanished">Mostrar barra lateral</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="315"/> + <location filename="../../src/gui/window.cc" line="347"/> <source>&Help</source> <translation>Ayuda (&H)</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="319"/> + <location filename="../../src/gui/window.cc" line="351"/> <source>&About Minori</source> <translation>&Acerca de Minori</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="327"/> + <location filename="../../src/gui/window.cc" line="359"/> <source>About &Qt</source> <translation>Acerca de &Qt</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="347"/> + <location filename="../../src/gui/window.cc" line="379"/> <source>&Synchronize</source> <translation>&Sincronice</translation> </message> @@ -416,22 +421,22 @@ <translation type="vanished">Marcador de posición</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="381"/> + <location filename="../../src/gui/window.cc" line="413"/> <source>S&ettings</source> <translation>Configuración (&S)</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="396"/> + <location filename="../../src/gui/window.cc" line="428"/> <source>Error synchronizing with service!</source> <translation>Error al sincronizar con el servicio!</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="397"/> + <location filename="../../src/gui/window.cc" line="429"/> <source>It seems you haven't yet selected a service to use.</source> <translation>Parece que aún no has seleccionado un servicio para usar.</translation> </message> <message> - <location filename="../../src/gui/window.cc" line="398"/> + <location filename="../../src/gui/window.cc" line="430"/> <source>Would you like to select one now?</source> <translation>¿Quieres seleccionar uno ahora?</translation> </message> @@ -439,7 +444,7 @@ <context> <name>NowPlayingPages::Default</name> <message> - <location filename="../../src/gui/pages/now_playing.cc" line="49"/> + <location filename="../../src/gui/pages/now_playing.cc" line="47"/> <source>Now Playing</source> <translation>Jugando ahora</translation> </message> @@ -447,184 +452,209 @@ <context> <name>QCoreApplication</name> <message> - <location filename="../../src/gui/translate/anime.cc" line="10"/> + <location filename="../../src/gui/translate/anime.cc" line="182"/> <source>Currently watching</source> <translation>Actualmente viendo</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="11"/> + <location filename="../../src/gui/translate/anime.cc" line="183"/> <source>Plan to watch</source> <translation>Plan para ver</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="12"/> + <location filename="../../src/gui/translate/anime.cc" line="184"/> <source>Completed</source> <translation>Completado</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="13"/> + <location filename="../../src/gui/translate/anime.cc" line="185"/> <source>Dropped</source> <translation>Dejado</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="14"/> + <location filename="../../src/gui/translate/anime.cc" line="186"/> <source>On hold</source> <translation>En espera</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="16"/> + <location filename="../../src/gui/translate/anime.cc" line="188"/> <source>Not in list</source> <translation>No en la lista</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="22"/> + <location filename="../../src/gui/translate/anime.cc" line="194"/> <source>TV</source> <translation>TV</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="23"/> + <location filename="../../src/gui/translate/anime.cc" line="195"/> <source>TV short</source> <translation>Corto</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="24"/> + <location filename="../../src/gui/translate/anime.cc" line="196"/> <source>OVA</source> <translation>OVA</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="25"/> + <location filename="../../src/gui/translate/anime.cc" line="197"/> <source>Movie</source> <translation>Película</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="26"/> + <location filename="../../src/gui/translate/anime.cc" line="198"/> <source>Special</source> <translation>Especial</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="27"/> + <location filename="../../src/gui/translate/anime.cc" line="199"/> <source>ONA</source> <translation>ONA</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="28"/> + <location filename="../../src/gui/translate/anime.cc" line="200"/> <source>Music</source> <translation>Música</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="30"/> - <location filename="../../src/gui/translate/anime.cc" line="41"/> - <location filename="../../src/gui/translate/anime.cc" line="53"/> + <location filename="../../src/gui/translate/anime.cc" line="202"/> + <location filename="../../src/gui/translate/anime.cc" line="213"/> + <location filename="../../src/gui/translate/anime.cc" line="225"/> <source>Unknown</source> <translation>Desconocido</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="36"/> + <location filename="../../src/gui/translate/anime.cc" line="208"/> <source>Winter</source> <translation>Invierno</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="37"/> + <location filename="../../src/gui/translate/anime.cc" line="209"/> <source>Summer</source> <translation>Verano</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="38"/> + <location filename="../../src/gui/translate/anime.cc" line="210"/> <source>Fall</source> <translation>Otoño</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="39"/> + <location filename="../../src/gui/translate/anime.cc" line="211"/> <source>Spring</source> <translation>Primavera</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="47"/> + <location filename="../../src/gui/translate/anime.cc" line="219"/> <source>Currently airing</source> <translation>En emisión</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="48"/> + <location filename="../../src/gui/translate/anime.cc" line="220"/> <source>Finished airing</source> <translation>Emisión terminada</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="49"/> + <location filename="../../src/gui/translate/anime.cc" line="221"/> <source>Not yet aired</source> <translation>Aún no emitido</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="50"/> + <location filename="../../src/gui/translate/anime.cc" line="222"/> <source>Cancelled</source> <translation>Cancelado</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="51"/> + <location filename="../../src/gui/translate/anime.cc" line="223"/> <source>On hiatus</source> <translation>En pausa</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="59"/> + <location filename="../../src/gui/translate/anime.cc" line="231"/> <source>AniList</source> <translation>AniList</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="61"/> + <location filename="../../src/gui/translate/anime.cc" line="233"/> <source>None</source> <translation>Ninguno</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="78"/> + <location filename="../../src/gui/translate/anime.cc" line="239"/> <source>Native</source> <translation>Nativo</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="79"/> + <location filename="../../src/gui/translate/anime.cc" line="240"/> <source>English</source> <translation>Inglés</translation> </message> <message> - <location filename="../../src/gui/translate/anime.cc" line="81"/> + <location filename="../../src/gui/translate/anime.cc" line="242"/> <source>Romaji</source> <translation>Romaji</translation> </message> <message> - <location filename="../../src/gui/dialog/about.cc" line="57"/> + <location filename="../../src/gui/translate/anime.cc" line="248"/> + <source>3-point</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/translate/anime.cc" line="249"/> + <source>5-point</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/translate/anime.cc" line="250"/> + <source>10-point</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/translate/anime.cc" line="251"/> + <source>10-point (Decimal)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/translate/anime.cc" line="253"/> + <source>100-point</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/about.cc" line="53"/> <source>Author:</source> <translation>Autor:</translation> </message> <message> - <location filename="../../src/gui/dialog/about.cc" line="61"/> + <location filename="../../src/gui/dialog/about.cc" line="57"/> <source>Third party components:</source> <translation>Componentes de terceros:</translation> </message> <message> - <location filename="../../src/gui/dialog/about.cc" line="77"/> + <location filename="../../src/gui/dialog/about.cc" line="73"/> <source>Special thanks:</source> <translation>Agradecimientos especiales:</translation> </message> <message> - <location filename="../../src/gui/dialog/about.cc" line="80"/> + <location filename="../../src/gui/dialog/about.cc" line="76"/> <source>for creating Taiga</source> <translation>para crear Taiga</translation> </message> <message> - <location filename="../../src/gui/dialog/about.cc" line="81"/> + <location filename="../../src/gui/dialog/about.cc" line="77"/> <source>and</source> <translation>y</translation> </message> <message> - <location filename="../../src/gui/dialog/about.cc" line="82"/> + <location filename="../../src/gui/dialog/about.cc" line="78"/> <source>for creating BreezeStyleSheets, on which the dark theme in this program is based off of</source> <translation>para crear BreezeStyleSheets, en el que se basa el tema oscuro de este programa</translation> </message> <message> - <location filename="../../src/gui/dialog/about.cc" line="84"/> + <location filename="../../src/gui/dialog/about.cc" line="80"/> <source>for providing some sample code for detecting dark mode on Windows and macOS</source> <translation>por proporcionar algunos ejemplos de código para detectar el modo oscuro en Windows y macOS</translation> </message> <message> - <location filename="../../src/gui/dialog/about.cc" line="86"/> + <location filename="../../src/gui/dialog/about.cc" line="82"/> <source>for providing information on getting open file descriptors on macOS</source> <translation>para obtener información sobre descriptores de archivos abiertos en macOS</translation> </message> @@ -632,22 +662,27 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../../src/gui/dialog/settings.cc" line="76"/> + <location filename="../../src/gui/dialog/settings.cc" line="77"/> <source>Settings</source> <translation>Configuración</translation> </message> <message> - <location filename="../../src/gui/dialog/settings.cc" line="89"/> + <location filename="../../src/gui/dialog/settings.cc" line="90"/> <source>Services</source> <translation>Servicios</translation> </message> <message> - <location filename="../../src/gui/dialog/settings.cc" line="91"/> + <location filename="../../src/gui/dialog/settings.cc" line="92"/> <source>Application</source> <translation>Aplicación</translation> </message> <message> - <location filename="../../src/gui/dialog/settings.cc" line="94"/> + <location filename="../../src/gui/dialog/settings.cc" line="93"/> + <source>Recognition</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings.cc" line="95"/> <source>Torrents</source> <translation type="unfinished"></translation> </message> @@ -655,117 +690,155 @@ <context> <name>SettingsPageApplication</name> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="25"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="28"/> <source>Actions</source> <translation>Acciones</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="33"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="36"/> <source>Double click:</source> <translation>Haz doble clic:</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="35"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="38"/> <source>View anime info</source> <translation>Ver información sobre el anime</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="48"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="51"/> <source>Middle click:</source> <translation>Clic central:</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="50"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="53"/> <source>Play next episode</source> <translation>Ver el próximo episodio</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="65"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="68"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="183"/> <source>Appearance</source> <translation>Apariencia</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="73"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="76"/> <source>Title language preference:</source> <translation>Preferencia lingüística del título</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="78"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="81"/> <source>Romaji</source> <translation>Romaji</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="79"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="82"/> <source>Native</source> <translation>Nativo</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="80"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="83"/> <source>English</source> <translation>Inglés</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="91"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="94"/> + <source>Rating system:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/application.cc" line="191"/> <source>Application theme:</source> <translation>Tema de aplicación:</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="97"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="197"/> <source>Default</source> <translation>Predeterminado</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="98"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="198"/> <source>Light</source> <translation>Luminoso</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="99"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="199"/> <source>Dark</source> <translation>Oscuro</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="110"/> <source>Set application locale:</source> - <translation>Establecer la configuración regional de la aplicación:</translation> + <translation type="vanished">Establecer la configuración regional de la aplicación:</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="132"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="114"/> <source>Display highlighted anime above others</source> <translation>Mostrar el anime destacado por encima de los demás</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="142"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="124"/> <source>Highlight anime if next episode is available in library folders</source> <translation>Resaltar el anime si el siguiente episodio está disponible en las directorios de la biblioteca</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="161"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="143"/> <source>Progress</source> <translation>Progreso</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="168"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="150"/> <source>Display aired episodes (estimated)</source> <translation>Mostrar episodios emitidos (estimación)</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="176"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="158"/> <source>Display available episodes in library folders</source> <translation>Mostrar los episodios disponibles en las directorios de la biblioteca</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="202"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="210"/> + <source>Application locale:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/application.cc" line="251"/> <source>Application</source> <translation>Aplicación</translation> </message> <message> - <location filename="../../src/gui/dialog/settings/application.cc" line="210"/> + <location filename="../../src/gui/dialog/settings/application.cc" line="260"/> + <source>General</source> + <translation type="unfinished">General</translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/application.cc" line="261"/> <source>Anime list</source> <translation>Lista de anime</translation> </message> </context> <context> + <name>SettingsPageRecognition</name> + <message> + <location filename="../../src/gui/dialog/settings/recognition.cc" line="28"/> + <source>Enable media player detection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/recognition.cc" line="33"/> + <source>Allowed media players:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/recognition.cc" line="78"/> + <source>Recognition</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/gui/dialog/settings/recognition.cc" line="81"/> + <source>Media players</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>SettingsPageServices</name> <message> <location filename="../../src/gui/dialog/settings/services.cc" line="21"/> @@ -838,8 +911,12 @@ </message> <message> <location filename="../../src/gui/dialog/settings/torrents.cc" line="59"/> + <source>Torrents</source> + <translation type="unfinished"></translation> + </message> + <message> <source>Application</source> - <translation>Aplicación</translation> + <translation type="vanished">Aplicación</translation> </message> <message> <location filename="../../src/gui/dialog/settings/torrents.cc" line="61"/> @@ -850,12 +927,12 @@ <context> <name>StatisticsPage</name> <message> - <location filename="../../src/gui/pages/statistics.cc" line="24"/> + <location filename="../../src/gui/pages/statistics.cc" line="27"/> <source>Anime list</source> <translation>Lista de anime</translation> </message> <message> - <location filename="../../src/gui/pages/statistics.cc" line="25"/> + <location filename="../../src/gui/pages/statistics.cc" line="28"/> <source>Anime count: Episode count: Time spent watching: @@ -870,17 +947,17 @@ Desviación de la puntuación:</translation> </message> <message> - <location filename="../../src/gui/pages/statistics.cc" line="31"/> + <location filename="../../src/gui/pages/statistics.cc" line="36"/> <source>Score distribution</source> <translation>Distribución de la puntuación</translation> </message> <message> - <location filename="../../src/gui/pages/statistics.cc" line="51"/> + <location filename="../../src/gui/pages/statistics.cc" line="60"/> <source>Minori</source> <translation>Minori</translation> </message> <message> - <location filename="../../src/gui/pages/statistics.cc" line="51"/> + <location filename="../../src/gui/pages/statistics.cc" line="60"/> <source>Uptime: Requests made:</source> <translation>Tiempo de actividad: @@ -890,22 +967,22 @@ <context> <name>TorrentsPage</name> <message> - <location filename="../../src/gui/pages/torrents.cc" line="270"/> + <location filename="../../src/gui/pages/torrents.cc" line="299"/> <source>&Check new torrents</source> <translation>&Comprueba nuevos torrentes</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="280"/> + <location filename="../../src/gui/pages/torrents.cc" line="309"/> <source>Download &marked torrents</source> <translation>Descargar torrents &marcados</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="284"/> + <location filename="../../src/gui/pages/torrents.cc" line="313"/> <source>&Discard all</source> <translation>&Descartar todo</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="290"/> + <location filename="../../src/gui/pages/torrents.cc" line="319"/> <source>&Settings</source> <translation>Configuración (&S)</translation> </message> @@ -913,57 +990,57 @@ <context> <name>TorrentsPageListModel</name> <message> - <location filename="../../src/gui/pages/torrents.cc" line="120"/> + <location filename="../../src/gui/pages/torrents.cc" line="157"/> <source>Anime title</source> <translation>Título del anime</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="121"/> + <location filename="../../src/gui/pages/torrents.cc" line="158"/> <source>Episode</source> <translation>Episodio</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="122"/> + <location filename="../../src/gui/pages/torrents.cc" line="159"/> <source>Group</source> <translation>Grupo</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="123"/> + <location filename="../../src/gui/pages/torrents.cc" line="160"/> <source>Size</source> <translation>Tamaño del archivo</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="124"/> + <location filename="../../src/gui/pages/torrents.cc" line="161"/> <source>Resolution</source> <translation>Resolución</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="125"/> + <location filename="../../src/gui/pages/torrents.cc" line="162"/> <source>Seeding</source> <translation>Siembra</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="126"/> + <location filename="../../src/gui/pages/torrents.cc" line="163"/> <source>Leeching</source> <translation>Sanguijuela</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="127"/> + <location filename="../../src/gui/pages/torrents.cc" line="164"/> <source>Downloading</source> <translation>Descargando</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="128"/> + <location filename="../../src/gui/pages/torrents.cc" line="165"/> <source>Description</source> <translation>Descripción</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="129"/> + <location filename="../../src/gui/pages/torrents.cc" line="166"/> <source>Filename</source> <translation>Nombre del archivo</translation> </message> <message> - <location filename="../../src/gui/pages/torrents.cc" line="130"/> + <location filename="../../src/gui/pages/torrents.cc" line="167"/> <source>Release date</source> <translation>Fecha de lanzamiento</translation> </message>
--- a/src/core/anime.cc Thu Dec 07 03:17:05 2023 -0500 +++ b/src/core/anime.cc Thu Dec 07 11:14:01 2023 -0500 @@ -181,18 +181,19 @@ std::vector<std::string> Anime::GetTitleSynonyms() const { std::vector<std::string> result; -#define IN_VECTOR(v, k) (std::count(v.begin(), v.end(), k)) -#define ADD_TO_SYNONYMS(v, k) \ - if (!k.empty() && !IN_VECTOR(v, k) && k != GetUserPreferredTitle()) \ - v.push_back(k) - ADD_TO_SYNONYMS(result, info_.title.english); - ADD_TO_SYNONYMS(result, info_.title.romaji); - ADD_TO_SYNONYMS(result, info_.title.native); - for (auto& synonym : info_.synonyms) { - ADD_TO_SYNONYMS(result, synonym); - } -#undef ADD_TO_SYNONYMS -#undef IN_VECTOR + + auto add_to_synonyms = [this](std::vector<std::string>& vec, std::string key) { + if (!key.empty() && !std::count(vec.begin(), vec.end(), key) && key != GetUserPreferredTitle()) + vec.push_back(key); + }; + + add_to_synonyms(result, info_.title.english); + add_to_synonyms(result, info_.title.romaji); + add_to_synonyms(result, info_.title.native); + + for (auto& synonym : info_.synonyms) + add_to_synonyms(result, synonym); + return result; }
--- a/src/gui/dialog/settings/application.cc Thu Dec 07 03:17:05 2023 -0500 +++ b/src/gui/dialog/settings/application.cc Thu Dec 07 11:14:01 2023 -0500 @@ -91,49 +91,6 @@ { /* Application theme */ { - QLabel* theme_combo_box_label = new QLabel(tr("Application theme:"), appearance_group_box); - appearance_layout->addWidget(theme_combo_box_label); - } - - { - QComboBox* theme_combo_box = new QComboBox(appearance_group_box); - theme_combo_box->addItem(tr("Default")); - theme_combo_box->addItem(tr("Light")); - theme_combo_box->addItem(tr("Dark")); - connect(theme_combo_box, QOverload<int>::of(&QComboBox::currentIndexChanged), this, - [this](int index) { theme = static_cast<Themes>(index); }); - theme_combo_box->setCurrentIndex(static_cast<int>(theme)); - appearance_layout->addWidget(theme_combo_box); - } - } - - { - /* Application locale */ - { - QLabel* locale_combo_box_label = new QLabel(tr("Application locale:"), appearance_group_box); - appearance_layout->addWidget(locale_combo_box_label); - } - - { - QComboBox* locale_combo_box = new QComboBox(appearance_group_box); - const auto& available_locales = session.config.locale.GetAvailableLocales(); - for (const auto& l : available_locales) - locale_combo_box->addItem(Strings::ToQString(Locale::GetLocaleFullName(l)), l); - - connect(locale_combo_box, QOverload<int>::of(&QComboBox::currentIndexChanged), this, - [this, locale_combo_box](int) { locale = locale_combo_box->currentData().toLocale(); }); - - for (size_t i = 0; i < available_locales.size(); i++) - if (available_locales[i] == locale) - locale_combo_box->setCurrentIndex(i); - - appearance_layout->addWidget(locale_combo_box); - } - } - - { - /* Application theme */ - { QLabel* rating_combo_box_label = new QLabel(tr("Rating system:"), appearance_group_box); appearance_layout->addWidget(rating_combo_box_label); } @@ -214,6 +171,73 @@ return result; } +QWidget* SettingsPageApplication::CreateGeneralWidget() { + QWidget* result = new QWidget(this); + result->setAutoFillBackground(true); + result->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum); + + QVBoxLayout* full_layout = new QVBoxLayout(result); + + { + /* Appearance */ + QGroupBox* appearance_group_box = new QGroupBox(tr("Appearance"), result); + appearance_group_box->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum); + + QVBoxLayout* appearance_layout = new QVBoxLayout(appearance_group_box); + + { + /* Application theme */ + { + QLabel* theme_combo_box_label = new QLabel(tr("Application theme:"), appearance_group_box); + appearance_layout->addWidget(theme_combo_box_label); + } + + { + QComboBox* theme_combo_box = new QComboBox(appearance_group_box); + theme_combo_box->addItem(tr("Default")); + theme_combo_box->addItem(tr("Light")); + theme_combo_box->addItem(tr("Dark")); + connect(theme_combo_box, QOverload<int>::of(&QComboBox::currentIndexChanged), this, + [this](int index) { theme = static_cast<Themes>(index); }); + theme_combo_box->setCurrentIndex(static_cast<int>(theme)); + appearance_layout->addWidget(theme_combo_box); + } + } + + { + /* Application locale */ + { + QLabel* locale_combo_box_label = new QLabel(tr("Application locale:"), appearance_group_box); + appearance_layout->addWidget(locale_combo_box_label); + } + + { + QComboBox* locale_combo_box = new QComboBox(appearance_group_box); + const auto& available_locales = session.config.locale.GetAvailableLocales(); + for (const auto& l : available_locales) + locale_combo_box->addItem(Strings::ToQString(Locale::GetLocaleFullName(l)), l); + + connect(locale_combo_box, QOverload<int>::of(&QComboBox::currentIndexChanged), this, + [this, locale_combo_box](int) { locale = locale_combo_box->currentData().toLocale(); }); + + for (size_t i = 0; i < available_locales.size(); i++) + if (available_locales[i] == locale) + locale_combo_box->setCurrentIndex(i); + + appearance_layout->addWidget(locale_combo_box); + } + } + + full_layout->addWidget(appearance_group_box); + } + + full_layout->setSpacing(10); + full_layout->addStretch(); + + return result; +} + + void SettingsPageApplication::SaveInfo() { session.config.anime_list.language = language; session.config.anime_list.highlighted_anime_above_others = highlighted_anime_above_others; @@ -233,5 +257,6 @@ highlight_anime_if_available = session.config.anime_list.highlight_anime_if_available; display_aired_episodes = session.config.anime_list.display_aired_episodes; display_available_episodes = session.config.anime_list.display_available_episodes; + AddTab(CreateGeneralWidget(), tr("General")); AddTab(CreateAnimeListWidget(), tr("Anime list")); }
--- a/src/gui/locale.cc Thu Dec 07 03:17:05 2023 -0500 +++ b/src/gui/locale.cc Thu Dec 07 11:14:01 2023 -0500 @@ -1,10 +1,14 @@ #include "gui/locale.h" #include "core/strings.h" + #include <QTranslator> #include <QLocale> #include <QDir> #include <QString> #include <QApplication> + +#include <QDebug> + #include <iostream> namespace Locale { @@ -18,12 +22,7 @@ Locale::Locale() { RefreshAvailableLocales(); - - /* default to en_US */ - if (!IsLocaleAvailable(QLocale())) - SetActiveLocale(QLocale("en_US")); - else /* TODO: is this needed? */ - SetActiveLocale(QLocale()); + SetActiveLocale(QLocale("en_US")); } Locale::Locale(const std::string& name) { @@ -52,9 +51,8 @@ QStringList translations = dir.entryList({"*.qm"}, QDir::Files); _available_translations.reserve(translations.size()); - for (const QString& str : translations) { + for (const QString& str : translations) _available_translations.push_back(QLocale(str.mid(0, str.lastIndexOf(".")))); - } } bool Locale::IsLocaleAvailable(const QLocale& locale) const { @@ -65,8 +63,9 @@ } bool Locale::SetActiveLocale(const QLocale& locale) { - if (!IsLocaleAvailable(locale)) + if (!IsLocaleAvailable(locale) || !qApp) return false; + if (_locale == locale) return true; /* we're... already on this locale :) */
--- a/src/gui/window.cc Thu Dec 07 03:17:05 2023 -0500 +++ b/src/gui/window.cc Thu Dec 07 11:14:01 2023 -0500 @@ -78,6 +78,10 @@ qRegisterMetaType<std::vector<std::string>>(); + /* This thread will be destroyed on + * close of the program OR on the destruction + * of MainWindow + */ thread.reset(new PlayingThread(this)); QTimer* timer = new QTimer(this);
--- a/src/main.cc Thu Dec 07 03:17:05 2023 -0500 +++ b/src/main.cc Thu Dec 07 11:14:01 2023 -0500 @@ -12,6 +12,7 @@ QApplication app(argc, argv); session.config.Load(); + session.config.locale.RefreshAvailableLocales(); Anime::db.LoadDatabaseFromDisk(); MainWindow window;
--- a/src/sys/osx/dark_theme.cc Thu Dec 07 03:17:05 2023 -0500 +++ b/src/sys/osx/dark_theme.cc Thu Dec 07 11:14:01 2023 -0500 @@ -4,7 +4,6 @@ #include <objc/message.h> #include <CoreFoundation/CoreFoundation.h> -#include <AvailabilityMacros.h> #include <QOperatingSystemVersion> @@ -19,10 +18,10 @@ static CFStringRef NSAppearanceNameAqua = nullptr; static CFStringRef NSAppearanceNameDarkAqua = nullptr; -static const CFStringRef kLaunchServicesBundleID = CFSTR("com.apple.AppKit"); +static const CFStringRef kAppKitBundleID = CFSTR("com.apple.AppKit"); bool RetrieveAppearanceNames() { - CFBundleRef appkit_bundle = CFBundleGetBundleWithIdentifier(kLaunchServicesBundleID); + CFBundleRef appkit_bundle = CFBundleGetBundleWithIdentifier(kAppKitBundleID); if (!appkit_bundle) return false;
--- a/src/sys/osx/filesystem.cc Thu Dec 07 03:17:05 2023 -0500 +++ b/src/sys/osx/filesystem.cc Thu Dec 07 11:14:01 2023 -0500 @@ -1,14 +1,18 @@ #include "sys/osx/filesystem.h" #include <CoreFoundation/CoreFoundation.h> +#include <objc/runtime.h> #include <string> +/* These constants are defined in Foundation but not + * exposed to CoreFoundation users. +*/ static constexpr unsigned long NSApplicationSupportDirectory = 14; static constexpr unsigned long NSUserDomainMask = 1; extern "C" { - CFArrayRef NSSearchPathForDirectoriesInDomains(unsigned long directory, unsigned long domainMask, int expandTilde); + CFArrayRef NSSearchPathForDirectoriesInDomains(unsigned long directory, unsigned long domainMask, BOOL expandTilde); } namespace osx { @@ -35,7 +39,7 @@ CFRelease(strings); return false; } - result.resize(result.find('\0')); + result.resize(result.find_first_of('\0')); return true; }