From 66ea3bde949f59006f9184c7f7b0511969e0fa95 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Wed, 27 Jan 2021 14:36:35 +0100 Subject: [PATCH 01/62] fix: sorted languages alphabetically --- crates/core/src/config/mod.rs | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/crates/core/src/config/mod.rs b/crates/core/src/config/mod.rs index b78bbc2d..1252a00e 100644 --- a/crates/core/src/config/mod.rs +++ b/crates/core/src/config/mod.rs @@ -234,38 +234,39 @@ impl std::fmt::Display for Language { "{}", match self { Language::Czech => "Čeština", - Language::English => "English", Language::Danish => "Dansk", - Language::German => "Deutsch", - Language::Swedish => "Svenska", + Language::English => "English", Language::French => "Français", - Language::Russian => "Pусский", - Language::Spanish => "Español", + Language::German => "Deutsch", Language::Hungarian => "Magyar", - Language::Norwegian => "Bokmål", + Language::Norwegian => "Norsk Bokmål", + Language::Portuguese => "Português", + Language::Russian => "Pусский", Language::Slovak => "Slovenčina", + Language::Spanish => "Español", + Language::Swedish => "Svenska", Language::Turkish => "Türkçe", - Language::Portuguese => "Português", } ) } } impl Language { + // Alphabetically sorted based on their local name (@see `impl Display`). pub const ALL: [Language; 13] = [ - Language::Czech, Language::Danish, - Language::English, - Language::French, Language::German, - Language::Russian, + Language::English, Language::Spanish, - Language::Swedish, + Language::French, Language::Hungarian, Language::Norwegian, + Language::Portuguese, + Language::Russian, Language::Slovak, + Language::Swedish, Language::Turkish, - Language::Portuguese, + Language::Czech, ]; pub const fn language_code(self) -> &'static str { From 24e32f782003391193c918026d0d949d08b5e958 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Thu, 28 Jan 2021 15:35:51 +0100 Subject: [PATCH 02/62] added ukrainian --- CHANGELOG.md | 9 +++ crates/core/src/config/mod.rs | 8 ++- locale/uk_UA.json | 106 ++++++++++++++++++++++++++++++++++ src/localization.rs | 4 +- 4 files changed, 124 insertions(+), 3 deletions(-) create mode 100644 locale/uk_UA.json diff --git a/CHANGELOG.md b/CHANGELOG.md index e67435ab..edf60a0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,15 @@ and `Removed`. ## [Unreleased] +### Added + +- New languages added to Ajour: + - 🇺🇦 Ukrainian (thanks Krapka and Orney) + +### Changed + +- Sorted language picker in Settings. + ## [0.7.0] - 2021-01-26 ### Added diff --git a/crates/core/src/config/mod.rs b/crates/core/src/config/mod.rs index 1252a00e..12552543 100644 --- a/crates/core/src/config/mod.rs +++ b/crates/core/src/config/mod.rs @@ -225,6 +225,7 @@ pub enum Language { Swedish, Spanish, Turkish, + Ukrainian, } impl std::fmt::Display for Language { @@ -246,6 +247,7 @@ impl std::fmt::Display for Language { Language::Spanish => "Español", Language::Swedish => "Svenska", Language::Turkish => "Türkçe", + Language::Ukrainian => "Yкраїнська", } ) } @@ -253,7 +255,8 @@ impl std::fmt::Display for Language { impl Language { // Alphabetically sorted based on their local name (@see `impl Display`). - pub const ALL: [Language; 13] = [ + pub const ALL: [Language; 14] = [ + Language::Czech, Language::Danish, Language::German, Language::English, @@ -266,7 +269,7 @@ impl Language { Language::Slovak, Language::Swedish, Language::Turkish, - Language::Czech, + Language::Ukrainian, ]; pub const fn language_code(self) -> &'static str { @@ -284,6 +287,7 @@ impl Language { Language::Slovak => "sk_SK", Language::Turkish => "tr_TR", Language::Portuguese => "pt_PT", + Language::Ukrainian => "uk_UA", } } } diff --git a/locale/uk_UA.json b/locale/uk_UA.json new file mode 100644 index 00000000..9dee8c61 --- /dev/null +++ b/locale/uk_UA.json @@ -0,0 +1,106 @@ +{ + "about": "Про застосунок", + "addon": "Додаток", + "addons": "Додатки", + "addons-loaded": "{number} {flavor} додатків завантажено", + "ajour": "Ajour", + "all-categories": "Всі категорії", + "alternate-row-colors": "Чергувати колір рядків", + "aura": "Аура", + "author": "Автор", + "authors": "Автор(и)", + "backup": "Резервна копія", + "backup-description": "Створити резервну копію додатків та теку WTF за вказаним шляхом", + "backup-latest": "Останнє резервне копіювання", + "backup-never": "Ніколи", + "backup-now": "Створити резервну копію зараз", + "backup-progress": "Створення резервної копії...", + "catalog": "Каталог", + "changelog": "Журнал змін", + "changelog-for": "Журнал змін для {addon}", + "changelog-press-full-changelog": "Будь ласка, перегляньте журнал змін, натиснувши \"Весь журнал змін\" праворуч", + "channel": "Канал", + "columns": "Стовпчики", + "completed": "Виконано", + "delete": "Видалити", + "delete-saved-variables": "Скидати налаштування додатків під час видалення", + "description": "Опис", + "downloading": "Завантажується", + "failed": "Помилка", + "full-changelog": "Весь журнал змін", + "game-version": "Версія гри", + "global-release-channel": "Загальний канал оновлення", + "hashing": "Хешування", + "hide-addons": "Приховати ігноровані додатки", + "ignore": "Ігнорувати", + "ignored": "Ігнорується", + "install": "Встановити", + "install-for-flavor": "Встановити для {flavor}", + "install-from-url": "Встановити за посиланням", + "install-from-url-description": "Встановити додаток безпосередньо з GitHub або GitLab\nДодаток повинен бути опублікованим", + "install-from-url-example": "Наприклад: https://github.com/author/repository", + "installed": "Встановлено", + "language": "Мова", + "latest-release": "Останній випуск", + "loading": "Завантажується", + "loading-catalog": "Поточний каталог для завантаження", + "local": "Локальна версія", + "my-addons": "Мої додатки", + "my-weakauras": "Мої WeakAuras", + "new-update-available": "Доступна нова версія Ajour", + "no-addon-description": "Немає опису додатку.", + "no-addons-for-flavor": "Немає {flavor} додатків.", + "no-changelog": "Журналу змін не знайдено.", + "no-directory": "Не вказано шляху", + "no-known-weakauras": "Немає відомих {flavor} WeakAuras", + "num-downloads": "К-ть завантажень", + "open-data-directory": "Відкрити теку з даними", + "parsing-addons": "Опрацьовую {flavor} додатки", + "parsing-weakauras": "Опрацьовую {flavor} WeakAuras", + "patreon": "Patreon", + "patreon-http": "https://patreon.com/getajour", + "refresh": "Оновити", + "release-channel-no-release": "немає доступних релізів", + "remote": "Остання версія", + "remote-release-channel": "Канал релізу", + "reset-columns": "Скинути стовпці", + "retry": "Повторити", + "scale": "Масштабувати", + "search-for-addon": "Шукати додаток...", + "select-account": "Обрати обліковий запис", + "select-directory": "Обрати директорію", + "settings": "Налаштування", + "setup-ajour-description": "Будь ласка, вкажіть шлях до теки з World of Warcraft", + "setup-ajour-title": "Ласкаво просимо в Ajour!", + "setup-weakauras-description": "Будь ласка, оберіть обліковий запис", + "setup-weakauras-title": "Керуйте своїми WeakAuras з Ajour!", + "source": "Джерело", + "status": "Статус", + "summary": "Опис", + "theme": "Тема", + "ui": "Користувацький інтерфейс", + "unavailable": "Недоступно", + "unignore": "Включити", + "unknown": "Невідомо", + "unpacking": "Розпаковується", + "update": "Оновити", + "update-all": "Оновити всі", + "ajour-update-channel": "Канал оновлення Ajour", + "updating": "Оновлюю", + "weakaura-updates-queued": "Оновлення в черзі. Завершіть їх у грі.", + "weakauras-loaded": "{number} WeakAuras завантажено", + "website": "Вебсайт", + "website-http": "https://getajour.com", + "welcome-to-ajour-description": "Вкажіть шлях до теки з грою", + "woops": "О йой!", + "wow-directory": "Тека з World of Warcraft", + "wtf": "WTF", + "channel-default": "Default", + "channel-stable": "Стабільний", + "channel-beta": "Бета", + "channel-alpha": "Альфа", + "weakaura-update-available": "Доступне оновлення", + "weakaura-update-queued": "Оновлення в черзі", + "settings-general": "Загальні", + "catalog-results": "Результат: {number}" +} \ No newline at end of file diff --git a/src/localization.rs b/src/localization.rs index 4ce48d5a..3f0d57b4 100644 --- a/src/localization.rs +++ b/src/localization.rs @@ -31,7 +31,9 @@ pub static LOCALIZATION_CTX: Lazy> = Lazy::new(|| { "tr_TR", "locale/tr_TR.json", "pt_PT", - "locale/pt_PT.json" + "locale/pt_PT.json", + "uk_UA", + "locale/uk_UA.json" ) .unwrap() }); From 2d31109ac20e40306dc71db7238dd5b93b4d1b5f Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Fri, 29 Jan 2021 20:34:45 +0100 Subject: [PATCH 03/62] chore: added error messages --- locale/cs_CZ.json | 14 ++++++++++++-- locale/da_DK.json | 14 ++++++++++++-- locale/de_DE.json | 14 ++++++++++++-- locale/en_US.json | 14 ++++++++++++-- locale/es_ES.json | 14 ++++++++++++-- locale/fr_FR.json | 14 ++++++++++++-- locale/hu_HU.json | 14 ++++++++++++-- locale/nb_NO.json | 14 ++++++++++++-- locale/pt_PT.json | 14 ++++++++++++-- locale/ru_RU.json | 14 ++++++++++++-- locale/se_SE.json | 14 ++++++++++++-- locale/sk_SK.json | 14 ++++++++++++-- locale/tr_TR.json | 14 ++++++++++++-- locale/uk_UA.json | 14 ++++++++++++-- src/gui/update.rs | 33 +++++++++++++++++++++------------ src/localization.rs | 10 ++++++++++ 16 files changed, 199 insertions(+), 40 deletions(-) diff --git a/locale/cs_CZ.json b/locale/cs_CZ.json index fa835f84..ca03e305 100644 --- a/locale/cs_CZ.json +++ b/locale/cs_CZ.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Dostupná aktualizace", "weakaura-update-queued": "Aktualizace zařazena", "settings-general": "Obecné", - "catalog-results": "Výsledky: {number}" -} \ No newline at end of file + "catalog-results": "Výsledky: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/da_DK.json b/locale/da_DK.json index ac4f7492..40f9e3fe 100644 --- a/locale/da_DK.json +++ b/locale/da_DK.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Opdatering tilgængelig", "weakaura-update-queued": "Opdatering klargjort", "settings-general": "Generelt", - "catalog-results": "Resultater: {number}" -} \ No newline at end of file + "catalog-results": "Resultater: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/de_DE.json b/locale/de_DE.json index edcfc853..50a39a35 100644 --- a/locale/de_DE.json +++ b/locale/de_DE.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Update verfügbar", "weakaura-update-queued": "Update in Warteschlange", "settings-general": "Allgemein", - "catalog-results": "Ergebnisse: {number}" -} \ No newline at end of file + "catalog-results": "Ergebnisse: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/en_US.json b/locale/en_US.json index 1cbd506e..464d250b 100644 --- a/locale/en_US.json +++ b/locale/en_US.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Update Available", "weakaura-update-queued": "Update Queued", "settings-general": "General", - "catalog-results": "Results: {number}" -} \ No newline at end of file + "catalog-results": "Results: {number}", + "error-fetch-changelog": "Failed to fetch changelog", + "error-parse-addons": "Failed to parse addons", + "error-download-addon": "Failed to download addon", + "error-unpack-addon": "Failed to unpack addon", + "error-backup-folders": "Failed to backup folders", + "error-update-ajour": "Failed to update Ajour", + "error-remove-cache": "Failed to remove cache entry", + "error-list-accounts": "Failed to get list of Accounts", + "error-parse-weakauras": "Failed to parse WeakAuras", + "error-update-weakauras": "Failed to update WeakAuras" +} diff --git a/locale/es_ES.json b/locale/es_ES.json index 4cb36897..bc76b11a 100644 --- a/locale/es_ES.json +++ b/locale/es_ES.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Actualización disponible", "weakaura-update-queued": "Actualización en cola", "settings-general": "Ajustes globales", - "catalog-results": "Resultados: {number}" -} \ No newline at end of file + "catalog-results": "Resultados: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/fr_FR.json b/locale/fr_FR.json index 497a9991..50b34717 100644 --- a/locale/fr_FR.json +++ b/locale/fr_FR.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Mise à jour disponible", "weakaura-update-queued": "Mise à jour en attente", "settings-general": "Paramètres généraux", - "catalog-results": "Résultats: {number}" -} \ No newline at end of file + "catalog-results": "Résultats: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/hu_HU.json b/locale/hu_HU.json index 6b1c8f38..e7372463 100644 --- a/locale/hu_HU.json +++ b/locale/hu_HU.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Frissítés elérhető", "weakaura-update-queued": "Frissítés sorbaállítva", "settings-general": "Általános", - "catalog-results": "Találatok: {number}" -} \ No newline at end of file + "catalog-results": "Találatok: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/nb_NO.json b/locale/nb_NO.json index 9d37e6ad..5a40f80f 100644 --- a/locale/nb_NO.json +++ b/locale/nb_NO.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Oppdatering Tilgjengelig", "weakaura-update-queued": "Oppdatering Køet", "settings-general": "Generelt", - "catalog-results": "Resultater: {number}" -} \ No newline at end of file + "catalog-results": "Resultater: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/pt_PT.json b/locale/pt_PT.json index ccebb746..8604bf25 100644 --- a/locale/pt_PT.json +++ b/locale/pt_PT.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Atualização disponível", "weakaura-update-queued": "Atualização em fila", "settings-general": "Configuração geral", - "catalog-results": "Resultados: {number}" -} \ No newline at end of file + "catalog-results": "Resultados: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/ru_RU.json b/locale/ru_RU.json index f65b6778..5e515adc 100644 --- a/locale/ru_RU.json +++ b/locale/ru_RU.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Доступны обновления", "weakaura-update-queued": "Обновления поставлены в очередь", "settings-general": "Общие", - "catalog-results": "Результат: {number}" -} \ No newline at end of file + "catalog-results": "Результат: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/se_SE.json b/locale/se_SE.json index 4cfe9651..d486a49a 100644 --- a/locale/se_SE.json +++ b/locale/se_SE.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Uppdateringar tillgängliga", "weakaura-update-queued": "Uppdateringar köade", "settings-general": "Allmänna inställningar", - "catalog-results": "Resultat: {number}" -} \ No newline at end of file + "catalog-results": "Resultat: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/sk_SK.json b/locale/sk_SK.json index 6a04cef6..f0a54bd0 100644 --- a/locale/sk_SK.json +++ b/locale/sk_SK.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Dostupná aktualizácia", "weakaura-update-queued": "Aktualizácia zaradená", "settings-general": "Všeobecné", - "catalog-results": "Výsledky: {number}" -} \ No newline at end of file + "catalog-results": "Výsledky: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/tr_TR.json b/locale/tr_TR.json index b53cb186..55685243 100644 --- a/locale/tr_TR.json +++ b/locale/tr_TR.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Güncelleme Mevcut", "weakaura-update-queued": "Güncelleme Sırada", "settings-general": "Genel", - "catalog-results": "{number} sonuç" -} \ No newline at end of file + "catalog-results": "{number} sonuç", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/locale/uk_UA.json b/locale/uk_UA.json index 9dee8c61..6d103319 100644 --- a/locale/uk_UA.json +++ b/locale/uk_UA.json @@ -102,5 +102,15 @@ "weakaura-update-available": "Доступне оновлення", "weakaura-update-queued": "Оновлення в черзі", "settings-general": "Загальні", - "catalog-results": "Результат: {number}" -} \ No newline at end of file + "catalog-results": "Результат: {number}", + "error-fetch-changelog": "", + "error-parse-addons": "", + "error-download-addon": "", + "error-unpack-addon": "", + "error-backup-folders": "", + "error-update-ajour": "", + "error-remove-cache": "", + "error-list-accounts": "", + "error-parse-weakauras": "", + "error-update-weakauras": "" +} diff --git a/src/gui/update.rs b/src/gui/update.rs index 3143275b..6566aa9c 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -5,7 +5,7 @@ use { InstallAddon, InstallKind, InstallStatus, Interaction, Message, Mode, ReleaseChannel, SelfUpdateStatus, SortDirection, State, }, - crate::localization::LANG, + crate::localization::{localized_string, LANG}, crate::{log_error, Result}, ajour_core::{ addon::{Addon, AddonFolder, AddonState}, @@ -384,7 +384,10 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result { - let error = error.context("Failed to fetch changelog").unwrap_err(); + // let error = error.context("Failed to fetch changelog").unwrap_err(); + let error = error + .context(localized_string("error-fetch-changelog")) + .unwrap_err(); log_error(&error); ajour.error = Some(error); } @@ -530,7 +533,7 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result { log::debug!("Message::ParsedAddons({}, {} addons)", flavor, addons.len(),); @@ -608,7 +611,7 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result match reason { DownloadReason::Update => { if let Some(_addon) = addons.iter_mut().find(|a| a.primary_folder_id == id) @@ -691,7 +694,7 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result match reason { DownloadReason::Update => { if let Some(_addon) = addons.iter_mut().find(|a| a.primary_folder_id == id) @@ -1220,7 +1223,9 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result { - let error = error.context("Failed to backup folders").unwrap_err(); + let error = error + .context(localized_string("error-backup-folders")) + .unwrap_err(); log_error(&error); ajour.error = Some(error); @@ -1642,7 +1647,7 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result { log::debug!("Message::AjourUpdateDownloaded"); - match result.context("Failed to update Ajour") { + match result.context(localized_string("error-update-ajour")) { Ok((relaunch_path, cleanup_path)) => { // Remove first arg, which is path to binary. We don't use this first // arg as binary path because it's not reliable, per the docs. @@ -1664,7 +1669,7 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result std::process::exit(0), Err(error) => { @@ -1685,7 +1690,7 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result { - match maybe_entry.context("Failed to remove cache entry") { + match maybe_entry.context(localized_string("error-remove-cache")) { Ok(Some(entry)) => log::debug!("Message::AddonCacheEntryRemoved({})", entry.title), Ok(None) => {} Err(e) => { @@ -1870,7 +1875,9 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result { - let error = error.context("Failed to get list of Accounts").unwrap_err(); + let error = error + .context(localized_string("error-list-accounts")) + .unwrap_err(); log_error(&error); ajour.error = Some(error); @@ -1929,7 +1936,9 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result { - let error = error.context("Failed to parse WeakAuras").unwrap_err(); + let error = error + .context(localized_string("error-parse-weakauras")) + .unwrap_err(); log_error(&error); ajour.error = Some(error); @@ -1954,7 +1963,7 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result { - let error = error.context("Failed to update WeakAuras").unwrap_err(); + let error = error.context(localized_string("error-update-weakauras")).unwrap_err(); log_error(&error); ajour.error = Some(error); diff --git a/src/localization.rs b/src/localization.rs index 3f0d57b4..e836e0ca 100644 --- a/src/localization.rs +++ b/src/localization.rs @@ -197,5 +197,15 @@ mod test { channel_beta: String, channel_alpha: String, catalog_results: String, + error_fetch_changelog: String, + error_parse_addons: String, + error_download_addon: String, + error_unpack_addon: String, + error_backup_folders: String, + error_update_ajour: String, + error_remove_cache: String, + error_list_accounts: String, + error_parse_weakauras: String, + error_update_weakauras: String, } } From 49dd61b7827dc91750ea20f1d7a9a1febc96d6ec Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Fri, 29 Jan 2021 20:47:18 +0100 Subject: [PATCH 04/62] Update update.rs --- src/gui/update.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/update.rs b/src/gui/update.rs index 6566aa9c..04de1443 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -1963,7 +1963,9 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result { - let error = error.context(localized_string("error-update-weakauras")).unwrap_err(); + let error = error + .context(localized_string("error-update-weakauras")) + .unwrap_err(); log_error(&error); ajour.error = Some(error); From 01320983331c873b7625f62658713fed70cb9383 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Fri, 29 Jan 2021 22:21:07 +0100 Subject: [PATCH 05/62] feat: added option categories column to catalog --- locale/cs_CZ.json | 5 +++-- locale/da_DK.json | 5 +++-- locale/de_DE.json | 5 +++-- locale/en_US.json | 5 +++-- locale/es_ES.json | 5 +++-- locale/fr_FR.json | 5 +++-- locale/hu_HU.json | 5 +++-- locale/nb_NO.json | 5 +++-- locale/pt_PT.json | 5 +++-- locale/ru_RU.json | 5 +++-- locale/se_SE.json | 5 +++-- locale/sk_SK.json | 5 +++-- locale/tr_TR.json | 5 +++-- src/gui/element/catalog.rs | 23 +++++++++++++++++++++++ src/gui/mod.rs | 17 +++++++++++++++++ src/gui/update.rs | 17 +++++++++++++++++ src/localization.rs | 1 + 17 files changed, 97 insertions(+), 26 deletions(-) diff --git a/locale/cs_CZ.json b/locale/cs_CZ.json index fa835f84..63f9c62e 100644 --- a/locale/cs_CZ.json +++ b/locale/cs_CZ.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Dostupná aktualizace", "weakaura-update-queued": "Aktualizace zařazena", "settings-general": "Obecné", - "catalog-results": "Výsledky: {number}" -} \ No newline at end of file + "catalog-results": "Výsledky: {number}", + "categories": "" +} diff --git a/locale/da_DK.json b/locale/da_DK.json index ac4f7492..ed6445a0 100644 --- a/locale/da_DK.json +++ b/locale/da_DK.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Opdatering tilgængelig", "weakaura-update-queued": "Opdatering klargjort", "settings-general": "Generelt", - "catalog-results": "Resultater: {number}" -} \ No newline at end of file + "catalog-results": "Resultater: {number}", + "categories": "" +} diff --git a/locale/de_DE.json b/locale/de_DE.json index edcfc853..eb1287e4 100644 --- a/locale/de_DE.json +++ b/locale/de_DE.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Update verfügbar", "weakaura-update-queued": "Update in Warteschlange", "settings-general": "Allgemein", - "catalog-results": "Ergebnisse: {number}" -} \ No newline at end of file + "catalog-results": "Ergebnisse: {number}", + "categories": "" +} diff --git a/locale/en_US.json b/locale/en_US.json index 1cbd506e..ea64818f 100644 --- a/locale/en_US.json +++ b/locale/en_US.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Update Available", "weakaura-update-queued": "Update Queued", "settings-general": "General", - "catalog-results": "Results: {number}" -} \ No newline at end of file + "catalog-results": "Results: {number}", + "categories": "Categories" +} diff --git a/locale/es_ES.json b/locale/es_ES.json index 4cb36897..f9e3e4da 100644 --- a/locale/es_ES.json +++ b/locale/es_ES.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Actualización disponible", "weakaura-update-queued": "Actualización en cola", "settings-general": "Ajustes globales", - "catalog-results": "Resultados: {number}" -} \ No newline at end of file + "catalog-results": "Resultados: {number}", + "categories": "" +} diff --git a/locale/fr_FR.json b/locale/fr_FR.json index 497a9991..87445d25 100644 --- a/locale/fr_FR.json +++ b/locale/fr_FR.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Mise à jour disponible", "weakaura-update-queued": "Mise à jour en attente", "settings-general": "Paramètres généraux", - "catalog-results": "Résultats: {number}" -} \ No newline at end of file + "catalog-results": "Résultats: {number}", + "categories": "" +} diff --git a/locale/hu_HU.json b/locale/hu_HU.json index 6b1c8f38..6ded1255 100644 --- a/locale/hu_HU.json +++ b/locale/hu_HU.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Frissítés elérhető", "weakaura-update-queued": "Frissítés sorbaállítva", "settings-general": "Általános", - "catalog-results": "Találatok: {number}" -} \ No newline at end of file + "catalog-results": "Találatok: {number}", + "categories": "" +} diff --git a/locale/nb_NO.json b/locale/nb_NO.json index 9d37e6ad..3e837f72 100644 --- a/locale/nb_NO.json +++ b/locale/nb_NO.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Oppdatering Tilgjengelig", "weakaura-update-queued": "Oppdatering Køet", "settings-general": "Generelt", - "catalog-results": "Resultater: {number}" -} \ No newline at end of file + "catalog-results": "Resultater: {number}", + "categories": "" +} diff --git a/locale/pt_PT.json b/locale/pt_PT.json index ccebb746..26a4cf6e 100644 --- a/locale/pt_PT.json +++ b/locale/pt_PT.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Atualização disponível", "weakaura-update-queued": "Atualização em fila", "settings-general": "Configuração geral", - "catalog-results": "Resultados: {number}" -} \ No newline at end of file + "catalog-results": "Resultados: {number}", + "categories": "" +} diff --git a/locale/ru_RU.json b/locale/ru_RU.json index f65b6778..7a590106 100644 --- a/locale/ru_RU.json +++ b/locale/ru_RU.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Доступны обновления", "weakaura-update-queued": "Обновления поставлены в очередь", "settings-general": "Общие", - "catalog-results": "Результат: {number}" -} \ No newline at end of file + "catalog-results": "Результат: {number}", + "categories": "" +} diff --git a/locale/se_SE.json b/locale/se_SE.json index 4cfe9651..fca81cd9 100644 --- a/locale/se_SE.json +++ b/locale/se_SE.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Uppdateringar tillgängliga", "weakaura-update-queued": "Uppdateringar köade", "settings-general": "Allmänna inställningar", - "catalog-results": "Resultat: {number}" -} \ No newline at end of file + "catalog-results": "Resultat: {number}", + "categories": "" +} diff --git a/locale/sk_SK.json b/locale/sk_SK.json index 6a04cef6..840ceb4d 100644 --- a/locale/sk_SK.json +++ b/locale/sk_SK.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Dostupná aktualizácia", "weakaura-update-queued": "Aktualizácia zaradená", "settings-general": "Všeobecné", - "catalog-results": "Výsledky: {number}" -} \ No newline at end of file + "catalog-results": "Výsledky: {number}", + "categories": "" +} diff --git a/locale/tr_TR.json b/locale/tr_TR.json index b53cb186..6e3a7eec 100644 --- a/locale/tr_TR.json +++ b/locale/tr_TR.json @@ -102,5 +102,6 @@ "weakaura-update-available": "Güncelleme Mevcut", "weakaura-update-queued": "Güncelleme Sırada", "settings-general": "Genel", - "catalog-results": "{number} sonuç" -} \ No newline at end of file + "catalog-results": "{number} sonuç", + "categories": "" +} diff --git a/src/gui/element/catalog.rs b/src/gui/element/catalog.rs index 88832956..37afab76 100644 --- a/src/gui/element/catalog.rs +++ b/src/gui/element/catalog.rs @@ -348,6 +348,29 @@ pub fn data_row_container<'a, 'b>( row_containers.push((idx, num_downloads_container)); } + if let Some((idx, width)) = column_config + .iter() + .enumerate() + .filter_map(|(idx, (key, width, hidden))| { + if *key == CatalogColumnKey::Categories && !hidden { + Some((idx, width)) + } else { + None + } + }) + .next() + { + let categories = Text::new(&addon_data.categories.join(", ")).size(DEFAULT_FONT_SIZE); + let categories_container = Container::new(categories) + .height(default_height) + .width(*width) + .center_y() + .padding(5) + .style(style::HoverableForegroundContainer(color_palette)); + + row_containers.push((idx, categories_container)); + } + let left_spacer = Space::new(Length::Units(DEFAULT_PADDING), Length::Units(0)); let right_spacer = Space::new(Length::Units(DEFAULT_PADDING + 5), Length::Units(0)); diff --git a/src/gui/mod.rs b/src/gui/mod.rs index 59da33ca..70a9650d 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -1426,6 +1426,7 @@ pub enum CatalogColumnKey { GameVersion, DateReleased, Install, + Categories, } impl CatalogColumnKey { @@ -1439,6 +1440,7 @@ impl CatalogColumnKey { NumDownloads => localized_string("num-downloads"), GameVersion => localized_string("game-version"), DateReleased => localized_string("latest-release"), + Categories => localized_string("categories"), CatalogColumnKey::Install => localized_string("status"), } } @@ -1453,6 +1455,7 @@ impl CatalogColumnKey { NumDownloads => "num_downloads", GameVersion => "game_version", DateReleased => "date_released", + Categories => "categories", CatalogColumnKey::Install => "install", }; @@ -1470,6 +1473,7 @@ impl From<&str> for CatalogColumnKey { "install" => CatalogColumnKey::Install, "game_version" => CatalogColumnKey::GameVersion, "date_released" => CatalogColumnKey::DateReleased, + "categories" => CatalogColumnKey::Categories, _ => panic!(format!("Unknown CatalogColumnKey for {}", s)), } } @@ -1547,6 +1551,13 @@ impl Default for CatalogHeaderState { hidden: false, order: 6, }, + CatalogColumnState { + key: CatalogColumnKey::Categories, + btn_state: Default::default(), + width: Length::Units(85), + hidden: true, + order: 7, + }, ], } } @@ -1629,6 +1640,12 @@ impl Default for CatalogColumnSettings { up_btn_state: Default::default(), down_btn_state: Default::default(), }, + CatalogColumnSettingState { + key: CatalogColumnKey::Categories, + order: 7, + up_btn_state: Default::default(), + down_btn_state: Default::default(), + }, ], } } diff --git a/src/gui/update.rs b/src/gui/update.rs index 3143275b..523d2f7b 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -2360,6 +2360,23 @@ fn sort_catalog_addons( let gv_b = b.addon.game_versions.iter().find(|gc| &gc.flavor == flavor); gv_a.cmp(&gv_b).reverse() }), + (CatalogColumnKey::Categories, SortDirection::Desc) => { + addons.sort_by(|a, b| { + a.addon + .categories + .join(", ") + .cmp(&b.addon.categories.join(", ")) + .reverse() + }); + } + (CatalogColumnKey::Categories, SortDirection::Asc) => { + addons.sort_by(|a, b| { + a.addon + .categories + .join(", ") + .cmp(&b.addon.categories.join(", ")) + }); + } } } diff --git a/src/localization.rs b/src/localization.rs index 4ce48d5a..3d856e57 100644 --- a/src/localization.rs +++ b/src/localization.rs @@ -195,5 +195,6 @@ mod test { channel_beta: String, channel_alpha: String, catalog_results: String, + category: String, } } From 69b44c33bc066685ac67d0e78d6638e93d3f50ec Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Fri, 29 Jan 2021 22:22:32 +0100 Subject: [PATCH 06/62] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e67435ab..cea48818 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ and `Removed`. ## [Unreleased] +## Added + +- Optional 'Categories' column for Catalog. + ## [0.7.0] - 2021-01-26 ### Added From 02da32f34e91b4ca260e635c0580906655d7a8dd Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Fri, 29 Jan 2021 22:23:49 +0100 Subject: [PATCH 07/62] Update localization.rs --- src/localization.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/localization.rs b/src/localization.rs index 3d856e57..3eccc3dd 100644 --- a/src/localization.rs +++ b/src/localization.rs @@ -195,6 +195,6 @@ mod test { channel_beta: String, channel_alpha: String, catalog_results: String, - category: String, + categories: String, } } From cb665f2f3f180839c8e90f23a2688f5558381747 Mon Sep 17 00:00:00 2001 From: Cory Forsstrom Date: Fri, 29 Jan 2021 15:07:49 -0800 Subject: [PATCH 08/62] tweak search settings --- src/gui/update.rs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/gui/update.rs b/src/gui/update.rs index 3143275b..1ea0f6c4 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -2451,20 +2451,26 @@ fn query_and_sort_catalog(ajour: &mut Ajour) { .iter() .filter(|a| !a.game_versions.is_empty()) .filter_map(|a| { - let title_and_summary = format!("{} {}", a.name, a.summary); - if let Some(query) = &query { - if let Some(score) = fuzzy_matcher.fuzzy_match(&title_and_summary, &query) { - Some((a, score)) + let title_score = fuzzy_matcher + .fuzzy_match(&a.name, &query) + .unwrap_or_default(); + let description_score = fuzzy_matcher + .fuzzy_match(&a.summary, &query) + .unwrap_or_default() + / 2; + + let max_score = title_score.max(description_score); + + if max_score > 0 { + Some((a, max_score)) } else { None } } else { - Some((a, 1)) + Some((a, 0)) } }) - // Only return positive scores - .filter(|(_, s)| *s > 0) .filter(|(a, _)| { a.game_versions .iter() From aad571c66491cb77aea87a5f95eaf81121dfa3a9 Mon Sep 17 00:00:00 2001 From: Cory Forsstrom Date: Fri, 29 Jan 2021 15:36:18 -0800 Subject: [PATCH 09/62] error message for permissions issues --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/gui/update.rs | 13 ++++++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 37dc9c6f..7d04aa28 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,7 +48,7 @@ dependencies = [ [[package]] name = "ajour" -version = "0.7.0" +version = "0.6.0" dependencies = [ "ajour-core", "ajour-weak-auras", diff --git a/Cargo.toml b/Cargo.toml index 702dbb2d..d1446e67 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ajour" description = "A World of Warcraft addon manager" -version = "0.7.0" +version = "0.6.0" authors = ["Casper Rogild Storm"] license = "MIT" homepage = "https://github.com/ajour/ajour" diff --git a/src/gui/update.rs b/src/gui/update.rs index 04de1443..6d5301e2 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -1679,7 +1679,18 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result { + Err(mut error) => { + // Assign special error message when updating failed due to + // permissions issues + for cause in error.chain() { + if let Some(io_error) = cause.downcast_ref::() { + if io_error.kind() == std::io::ErrorKind::PermissionDenied { + error = error.context("Permissions issue while updating Ajour"); + break; + } + } + } + log_error(&error); ajour.error = Some(error); ajour.self_update_state.status = Some(SelfUpdateStatus::Failed); From a611d331f8031ef330e43ce0e3fb507cc33b547f Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Sat, 30 Jan 2021 08:05:48 +0100 Subject: [PATCH 10/62] chore: localized permission error --- locale/cs_CZ.json | 3 ++- locale/da_DK.json | 3 ++- locale/de_DE.json | 3 ++- locale/en_US.json | 3 ++- locale/es_ES.json | 3 ++- locale/fr_FR.json | 3 ++- locale/hu_HU.json | 3 ++- locale/nb_NO.json | 3 ++- locale/pt_PT.json | 3 ++- locale/ru_RU.json | 3 ++- locale/se_SE.json | 3 ++- locale/sk_SK.json | 3 ++- locale/tr_TR.json | 3 ++- locale/uk_UA.json | 3 ++- src/gui/update.rs | 3 ++- src/localization.rs | 1 + 16 files changed, 31 insertions(+), 15 deletions(-) diff --git a/locale/cs_CZ.json b/locale/cs_CZ.json index ca03e305..14f41b7e 100644 --- a/locale/cs_CZ.json +++ b/locale/cs_CZ.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/da_DK.json b/locale/da_DK.json index 40f9e3fe..9b670887 100644 --- a/locale/da_DK.json +++ b/locale/da_DK.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/de_DE.json b/locale/de_DE.json index 50a39a35..1911c6ec 100644 --- a/locale/de_DE.json +++ b/locale/de_DE.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/en_US.json b/locale/en_US.json index 464d250b..30a1bd63 100644 --- a/locale/en_US.json +++ b/locale/en_US.json @@ -112,5 +112,6 @@ "error-remove-cache": "Failed to remove cache entry", "error-list-accounts": "Failed to get list of Accounts", "error-parse-weakauras": "Failed to parse WeakAuras", - "error-update-weakauras": "Failed to update WeakAuras" + "error-update-weakauras": "Failed to update WeakAuras", + "error-update-ajour-permission": "Permissions issue while updating Ajour" } diff --git a/locale/es_ES.json b/locale/es_ES.json index bc76b11a..5b97051c 100644 --- a/locale/es_ES.json +++ b/locale/es_ES.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/fr_FR.json b/locale/fr_FR.json index 50b34717..048eadfd 100644 --- a/locale/fr_FR.json +++ b/locale/fr_FR.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/hu_HU.json b/locale/hu_HU.json index e7372463..140bb3b7 100644 --- a/locale/hu_HU.json +++ b/locale/hu_HU.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/nb_NO.json b/locale/nb_NO.json index 5a40f80f..46d0615c 100644 --- a/locale/nb_NO.json +++ b/locale/nb_NO.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/pt_PT.json b/locale/pt_PT.json index 8604bf25..e0c25a48 100644 --- a/locale/pt_PT.json +++ b/locale/pt_PT.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/ru_RU.json b/locale/ru_RU.json index 5e515adc..1f357f45 100644 --- a/locale/ru_RU.json +++ b/locale/ru_RU.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/se_SE.json b/locale/se_SE.json index d486a49a..56d623c1 100644 --- a/locale/se_SE.json +++ b/locale/se_SE.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/sk_SK.json b/locale/sk_SK.json index f0a54bd0..62c96271 100644 --- a/locale/sk_SK.json +++ b/locale/sk_SK.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/tr_TR.json b/locale/tr_TR.json index 55685243..5d0de21f 100644 --- a/locale/tr_TR.json +++ b/locale/tr_TR.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/locale/uk_UA.json b/locale/uk_UA.json index 6d103319..3b47a01a 100644 --- a/locale/uk_UA.json +++ b/locale/uk_UA.json @@ -112,5 +112,6 @@ "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "" + "error-update-weakauras": "", + "error-update-ajour-permission": "" } diff --git a/src/gui/update.rs b/src/gui/update.rs index 6d5301e2..f04cede4 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -1685,7 +1685,8 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result() { if io_error.kind() == std::io::ErrorKind::PermissionDenied { - error = error.context("Permissions issue while updating Ajour"); + error = error + .context(localized_string("error-update-ajour-permission")); break; } } diff --git a/src/localization.rs b/src/localization.rs index e836e0ca..2159ccc6 100644 --- a/src/localization.rs +++ b/src/localization.rs @@ -207,5 +207,6 @@ mod test { error_list_accounts: String, error_parse_weakauras: String, error_update_weakauras: String, + error_update_ajour_permission: String, } } From 2198e51b0778b4ae6c4e5bf3a554da178e874702 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Sat, 30 Jan 2021 08:06:48 +0100 Subject: [PATCH 11/62] Update Cargo.toml --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index d1446e67..702dbb2d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ajour" description = "A World of Warcraft addon manager" -version = "0.6.0" +version = "0.7.0" authors = ["Casper Rogild Storm"] license = "MIT" homepage = "https://github.com/ajour/ajour" From 7a14b086e838eac76000a62d1b75be151a647b27 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Sat, 30 Jan 2021 08:17:36 +0100 Subject: [PATCH 12/62] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index edf60a0a..9edef3f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,10 @@ and `Removed`. - Sorted language picker in Settings. +### Fixed + +- Multiple error messages are now correctly localized. + ## [0.7.0] - 2021-01-26 ### Added From 5b24e8eae119b1983f0cc75af5aa615f0f906c55 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Sun, 31 Jan 2021 15:31:26 +0100 Subject: [PATCH 13/62] feat: added summary column --- src/gui/element/my_addons.rs | 24 ++++++++++++++++++++++++ src/gui/mod.rs | 17 +++++++++++++++++ src/gui/update.rs | 6 ++++++ 3 files changed, 47 insertions(+) diff --git a/src/gui/element/my_addons.rs b/src/gui/element/my_addons.rs index 8d8c490e..bf9404d2 100644 --- a/src/gui/element/my_addons.rs +++ b/src/gui/element/my_addons.rs @@ -372,6 +372,30 @@ pub fn data_row_container<'a, 'b>( row_containers.push((idx, source_container)); } + if let Some((idx, width)) = column_config + .iter() + .enumerate() + .filter_map(|(idx, (key, width, hidden))| { + if *key == ColumnKey::Summary && !hidden { + Some((idx, width)) + } else { + None + } + }) + .next() + { + let text = addon_cloned.notes().unwrap_or("-"); + let summary = Text::new(text).size(DEFAULT_FONT_SIZE); + let container = Container::new(summary) + .height(default_height) + .width(*width) + .center_y() + .padding(5) + .style(style::HoverableForegroundContainer(color_palette)); + + row_containers.push((idx, container)); + } + if let Some((idx, width)) = column_config .iter() .enumerate() diff --git a/src/gui/mod.rs b/src/gui/mod.rs index 70a9650d..e7e9e91d 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -1137,6 +1137,7 @@ pub enum ColumnKey { GameVersion, DateReleased, Source, + Summary, // Only used for sorting, not an actual visible column that can be shown FuzzyScore, } @@ -1155,6 +1156,7 @@ impl ColumnKey { GameVersion => localized_string("game-version"), DateReleased => localized_string("latest-release"), Source => localized_string("source"), + Summary => localized_string("summary"), FuzzyScore => unreachable!("fuzzy score not used as an actual column"), } } @@ -1172,6 +1174,7 @@ impl ColumnKey { GameVersion => "game_version", DateReleased => "date_released", Source => "source", + Summary => "summary", FuzzyScore => unreachable!("fuzzy score not used as an actual column"), }; @@ -1191,6 +1194,7 @@ impl From<&str> for ColumnKey { "game_version" => ColumnKey::GameVersion, "date_released" => ColumnKey::DateReleased, "source" => ColumnKey::Source, + "summary" => ColumnKey::Summary, _ => panic!(format!("Unknown ColumnKey for {}", s)), } } @@ -1311,6 +1315,13 @@ impl Default for HeaderState { hidden: true, order: 8, }, + ColumnState { + key: ColumnKey::Summary, + btn_state: Default::default(), + width: Length::Units(110), + hidden: true, + order: 9, + }, ], } } @@ -1405,6 +1416,12 @@ impl Default for ColumnSettings { up_btn_state: Default::default(), down_btn_state: Default::default(), }, + ColumnSettingState { + key: ColumnKey::Summary, + order: 9, + up_btn_state: Default::default(), + down_btn_state: Default::default(), + }, ], } } diff --git a/src/gui/update.rs b/src/gui/update.rs index 523d2f7b..8763e5e6 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -2299,6 +2299,12 @@ fn sort_addons( (ColumnKey::FuzzyScore, SortDirection::Desc) => { addons.sort_by(|a, b| a.fuzzy_score.cmp(&b.fuzzy_score).reverse()) } + (ColumnKey::Summary, SortDirection::Asc) => { + addons.sort_by(|a, b| a.notes().cmp(&b.notes())) + } + (ColumnKey::Summary, SortDirection::Desc) => { + addons.sort_by(|a, b| a.notes().cmp(&b.notes()).reverse()) + } } } From 3786c776d8f6553075dc75855a43702833980412 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 31 Jan 2021 19:36:26 +0100 Subject: [PATCH 14/62] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cea48818..004ed77a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and `Removed`. ## Added - Optional 'Categories' column for Catalog. +- Optional 'Summary' column for My Addons. ## [0.7.0] - 2021-01-26 From 2864b2fb4ad637fb2f6491c2e7932c93775dcfe5 Mon Sep 17 00:00:00 2001 From: Cory Forsstrom Date: Mon, 1 Feb 2021 10:56:37 -0800 Subject: [PATCH 15/62] update CHANGELOG --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 004ed77a..782337a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,11 @@ and `Removed`. - Optional 'Categories' column for Catalog. - Optional 'Summary' column for My Addons. +## Changed + +- Tweaked catalog fuzzy search to weight title matches higher than description + matches + ## [0.7.0] - 2021-01-26 ### Added From 43fdbf67a1a17e61dcce7c5f1398729ba8aeaec1 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Mon, 1 Feb 2021 23:34:04 +0100 Subject: [PATCH 16/62] Update uk_UA.json --- locale/uk_UA.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/locale/uk_UA.json b/locale/uk_UA.json index 3b47a01a..0c42f8eb 100644 --- a/locale/uk_UA.json +++ b/locale/uk_UA.json @@ -113,5 +113,6 @@ "error-list-accounts": "", "error-parse-weakauras": "", "error-update-weakauras": "", - "error-update-ajour-permission": "" -} + "error-update-ajour-permission": "", + "categories": "" +} \ No newline at end of file From 66a0b1736f817db4b7df6a51e9dc791ba28ab62f Mon Sep 17 00:00:00 2001 From: Cory Forsstrom Date: Fri, 5 Feb 2021 16:37:51 -0800 Subject: [PATCH 17/62] add support for townlong-yak addons --- Cargo.lock | 2 +- crates/core/src/addon.rs | 21 ++- crates/core/src/cache.rs | 18 +++ crates/core/src/catalog.rs | 5 +- crates/core/src/config/wow.rs | 8 + crates/core/src/error.rs | 2 + crates/core/src/parse.rs | 71 ++++++++- crates/core/src/repository/backend/mod.rs | 2 + .../src/repository/backend/townlongyak.rs | 146 ++++++++++++++++++ crates/core/src/repository/mod.rs | 10 +- src/gui/mod.rs | 13 +- src/gui/update.rs | 15 +- 12 files changed, 296 insertions(+), 17 deletions(-) create mode 100644 crates/core/src/repository/backend/townlongyak.rs diff --git a/Cargo.lock b/Cargo.lock index 7d04aa28..37dc9c6f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,7 +48,7 @@ dependencies = [ [[package]] name = "ajour" -version = "0.6.0" +version = "0.7.0" dependencies = [ "ajour-core", "ajour-weak-auras", diff --git a/crates/core/src/addon.rs b/crates/core/src/addon.rs index c3eb3eff..ddaa5224 100644 --- a/crates/core/src/addon.rs +++ b/crates/core/src/addon.rs @@ -219,7 +219,8 @@ impl Addon { RepositoryKind::WowI => { self.repository_id() == f.repository_identifiers.wowi.as_deref() } - // For git sources, prioritize the folder that has a version in it + // For git & townlong sources, prioritize the folder that has a version in it + RepositoryKind::TownlongYak => f.version.is_some(), RepositoryKind::Git(_) => f.version.is_some(), } } else { @@ -274,6 +275,13 @@ impl Addon { } } + /// Sets the file id of the addon + pub fn set_file_id(&mut self, file_id: i64) { + if let Some(metadata) = self.repository.as_mut().map(|r| &mut r.metadata) { + metadata.file_id = Some(file_id); + } + } + /// Returns the title of the addon. pub fn title(&self) -> &str { let meta_title = self.metadata().map(|m| m.title.as_deref()).flatten(); @@ -413,6 +421,17 @@ impl Addon { } } + /// Returns the hub id of the addon, if applicable. + pub fn hub_id(&self) -> Option { + if self.repository_kind() == Some(RepositoryKind::TownlongYak) { + self.repository() + .map(|r| r.id.parse::().ok()) + .flatten() + } else { + None + } + } + pub fn remote_packages(&self) -> HashMap { self.metadata() .map(|m| &m.remote_packages) diff --git a/crates/core/src/cache.rs b/crates/core/src/cache.rs index 5c832267..6bd70cd9 100644 --- a/crates/core/src/cache.rs +++ b/crates/core/src/cache.rs @@ -195,6 +195,7 @@ pub struct AddonCacheEntry { pub primary_folder_id: String, pub folder_names: Vec, pub modified: DateTime, + pub external_release_id: Option, } impl TryFrom<&Addon> for AddonCacheEntry { @@ -207,6 +208,15 @@ impl TryFrom<&Addon> for AddonCacheEntry { let mut folder_names: Vec<_> = addon.folders.iter().map(|a| a.id.clone()).collect(); folder_names.sort(); + let external_release_id = if repository == RepositoryKind::TownlongYak { + addon.file_id().map(ExternalReleaseId::FileId) + } else { + addon + .version() + .map(str::to_string) + .map(ExternalReleaseId::Version) + }; + Ok(AddonCacheEntry { title: addon.title().to_owned(), repository, @@ -214,6 +224,7 @@ impl TryFrom<&Addon> for AddonCacheEntry { primary_folder_id: addon.primary_folder_id.clone(), folder_names, modified: Utc::now(), + external_release_id, }) } else { Err(CacheError::AddonMissingRepo { @@ -223,6 +234,12 @@ impl TryFrom<&Addon> for AddonCacheEntry { } } +#[derive(Serialize, Deserialize, Clone, Debug)] +pub enum ExternalReleaseId { + FileId(i64), + Version(String), +} + #[derive(Serialize, Deserialize, Debug)] pub struct CatalogCache { etag: String, @@ -307,6 +324,7 @@ mod test { primary_folder_id: folders.first().map(|f| f.id.clone()).unwrap(), folder_names: folders.iter().map(|f| f.id.clone()).collect(), modified: Utc::now(), + external_release_id: None, } })); diff --git a/crates/core/src/catalog.rs b/crates/core/src/catalog.rs index 982e4d89..1a95d0fb 100644 --- a/crates/core/src/catalog.rs +++ b/crates/core/src/catalog.rs @@ -7,7 +7,7 @@ use chrono::prelude::*; use isahc::ResponseExt; use serde::{Deserialize, Serialize}; -const CATALOG_URL: &str = "https://github.com/ajour/ajour-catalog/raw/master/catalog.json"; +const CATALOG_URL: &str = "https://raw.githubusercontent.com/ajour/ajour-catalog/3ce1414498adbc7167f11fe0dac7cd58e7b55391/catalog.json"; type Etag = Option; @@ -65,6 +65,8 @@ pub enum Source { Tukui, #[serde(alias = "wowi")] WowI, + #[serde(alias = "townlong-yak")] + TownlongYak, } impl std::fmt::Display for Source { @@ -73,6 +75,7 @@ impl std::fmt::Display for Source { Source::Curse => "Curse", Source::Tukui => "Tukui", Source::WowI => "WowInterface", + Source::TownlongYak => "TownlongYak", }; write!(f, "{}", s) } diff --git a/crates/core/src/config/wow.rs b/crates/core/src/config/wow.rs index 4ecc9572..b0dc23ae 100644 --- a/crates/core/src/config/wow.rs +++ b/crates/core/src/config/wow.rs @@ -49,6 +49,14 @@ impl Flavor { } } + /// Returns flavor `String` in WowUp.Hub format + pub(crate) fn hub_format(self) -> String { + match self { + Flavor::Retail | Flavor::RetailPTR | Flavor::RetailBeta => "retail".to_owned(), + Flavor::Classic | Flavor::ClassicPTR => "classic".to_owned(), + } + } + /// Returns `Flavor` which self relates to. pub fn base_flavor(self) -> Flavor { match self { diff --git a/crates/core/src/error.rs b/crates/core/src/error.rs index 8c4a66f8..e68082dd 100644 --- a/crates/core/src/error.rs +++ b/crates/core/src/error.rs @@ -79,6 +79,8 @@ pub enum RepositoryError { CurseMissingPackage { id: String }, #[error("No package found for WowI id {id}")] WowIMissingPackage { id: String }, + #[error("No package found for Hub id {id}")] + HubMissingPackage { id: String }, #[error("No remote package found for channel {channel}")] MissingPackageChannel { channel: ReleaseChannel }, #[error("Git repo must be created with `from_source_url`")] diff --git a/crates/core/src/parse.rs b/crates/core/src/parse.rs index 9e3d695c..1e71a031 100644 --- a/crates/core/src/parse.rs +++ b/crates/core/src/parse.rs @@ -1,11 +1,13 @@ use crate::{ addon::{Addon, AddonFolder, AddonState}, - cache::{self, AddonCache, AddonCacheEntry, FingerprintCache}, + cache::{self, AddonCache, AddonCacheEntry, ExternalReleaseId, FingerprintCache}, config::Flavor, error::{CacheError, DownloadError, ParseError, RepositoryError}, fs::PersistentData, murmur2::calculate_hash, - repository::{curse, tukui, wowi, RepositoryIdentifiers, RepositoryKind, RepositoryPackage}, + repository::{ + curse, townlongyak, tukui, wowi, RepositoryIdentifiers, RepositoryKind, RepositoryPackage, + }, }; use async_std::sync::{Arc, Mutex}; use fancy_regex::Regex; @@ -433,6 +435,7 @@ async fn get_all_repo_packages( let mut curse_ids = vec![]; let mut tukui_ids = vec![]; let mut wowi_ids = vec![]; + let mut townlong_ids = vec![]; let mut git_urls = vec![]; let cached_folder_names: Vec<_> = cache_entries @@ -494,6 +497,17 @@ async fn get_all_repo_packages( wowi_ids.dedup(); } + // Get all possible townlong_ids (hub) ids + { + townlong_ids.extend( + cache_entries + .iter() + .filter(|e| e.repository == RepositoryKind::TownlongYak) + .map(|e| e.repository_id.clone()), + ); + townlong_ids.dedup(); + } + // Get all possible git urls { git_urls.extend( @@ -624,6 +638,34 @@ async fn get_all_repo_packages( wowi_repo_packages.len() ); + // Get all townlong repo packages + let townlong_repo_packages = if !townlong_ids.is_empty() { + let townlong_packages = townlongyak::fetch_remote_packages(flavor, &townlong_ids).await?; + + townlong_packages + .into_iter() + .map(|package| { + ( + package.id.to_string(), + townlongyak::metadata_from_townlong_package(flavor, package), + ) + }) + .filter_map(|(id, metadata)| { + RepositoryPackage::from_repo_id(flavor, RepositoryKind::TownlongYak, id) + .ok() + .map(|r| r.with_metadata(metadata)) + }) + .collect::>() + } else { + vec![] + }; + + log::debug!( + "{} - {} townlong packages fetched", + flavor, + townlong_repo_packages.len() + ); + // Get all git repo packages let git_repo_packages = if !git_urls.is_empty() { let fetch_tasks = git_urls @@ -670,6 +712,7 @@ async fn get_all_repo_packages( &curse_repo_packages[..], &tukui_repo_packages[..], &wowi_repo_packages[..], + &townlong_repo_packages[..], &git_repo_packages[..], ] .concat()) @@ -688,7 +731,20 @@ fn build_addons( let repo_idx = repo_packages .iter() .position(|r| r.id == e.repository_id && r.kind == e.repository)?; - let repo_package = repo_packages.remove(repo_idx); + + let mut repo_package = repo_packages.remove(repo_idx); + + // Set the file id / version from the cache entry. This is needed to properly + // validate the installed version against the remote version + match &e.external_release_id { + Some(ExternalReleaseId::FileId(file_id)) => { + repo_package.metadata.file_id = Some(*file_id) + } + Some(ExternalReleaseId::Version(version)) => { + repo_package.metadata.version = Some(version.clone()) + } + None => {} + } // Get and remove all matching addon folders let folder_idxs: Vec<_> = addon_folders @@ -832,6 +888,15 @@ fn build_addons( .count() ); + log::debug!( + "{} - {} addons built from townlong-yak packages", + flavor, + concatenated_addons + .iter() + .filter(|a| a.repository_kind() == Some(RepositoryKind::TownlongYak)) + .count() + ); + log::debug!( "{} - {} addons built from git packages", flavor, diff --git a/crates/core/src/repository/backend/mod.rs b/crates/core/src/repository/backend/mod.rs index f39953ea..df7c4564 100644 --- a/crates/core/src/repository/backend/mod.rs +++ b/crates/core/src/repository/backend/mod.rs @@ -6,11 +6,13 @@ use dyn_clone::{clone_trait_object, DynClone}; pub mod curse; mod git; +pub mod townlongyak; pub mod tukui; pub mod wowi; pub use curse::Curse; pub use git::{Github, Gitlab}; +pub use townlongyak::TownlongYak; pub use tukui::Tukui; pub use wowi::WowI; diff --git a/crates/core/src/repository/backend/townlongyak.rs b/crates/core/src/repository/backend/townlongyak.rs new file mode 100644 index 00000000..6bec7968 --- /dev/null +++ b/crates/core/src/repository/backend/townlongyak.rs @@ -0,0 +1,146 @@ +use super::*; +use crate::config::Flavor; +use crate::error::{DownloadError, RepositoryError}; +use crate::network::post_json_async; +use crate::repository::{ReleaseChannel, RemotePackage}; + +use async_trait::async_trait; +use chrono::{DateTime, Utc}; +use isahc::ResponseExt; +use serde::{Deserialize, Serialize}; + +use std::collections::HashMap; + +const API_ENDPOINT: &str = "https://hub.wowup.io"; + +#[derive(Debug, Clone)] +pub struct TownlongYak { + pub id: String, + pub flavor: Flavor, +} + +#[async_trait] +impl Backend for TownlongYak { + async fn get_metadata(&self) -> Result { + let packages = fetch_remote_packages(self.flavor, &[self.id.clone()]).await?; + + let package = packages + .into_iter() + .next() + .ok_or(RepositoryError::HubMissingPackage { + id: self.id.clone(), + })?; + + let metadata = metadata_from_townlong_package(self.flavor, package); + + Ok(metadata) + } + + async fn get_changelog( + &self, + _file_id: Option, + _tag_name: Option, + ) -> Result, RepositoryError> { + Ok(None) + } +} + +pub(crate) fn metadata_from_townlong_package( + flavor: Flavor, + package: TownlongYakPackage, +) -> RepositoryMetadata { + let mut remote_packages = HashMap::new(); + + for release in package.releases.iter() { + if release.game_type == flavor.hub_format() { + let version = release.tag_name.clone(); + let download_url = release.download_url.clone(); + let date_time = Some(release.published_at); + + let package = RemotePackage { + version, + download_url, + date_time, + file_id: Some(release.id), + modules: vec![], + }; + + if release.prerelease { + remote_packages.insert(ReleaseChannel::Beta, package); + } else { + remote_packages.insert(ReleaseChannel::Stable, package); + } + } + } + + let mut metadata = RepositoryMetadata::empty(); + metadata.remote_packages = remote_packages; + metadata.website_url = Some(package.repository.clone()); + metadata.title = Some(package.repository_name); + metadata.author = package.owner_name; + + metadata +} + +/// Function to fetch a remote addon package which contains +/// information about the addon on the repository. +pub(crate) async fn fetch_remote_packages( + flavor: Flavor, + ids: &[String], +) -> Result, DownloadError> { + let url = format!("{}/addons/batch/{}", API_ENDPOINT, flavor.hub_format()); + + let addon_ids = ids.iter().filter_map(|i| i.parse::().ok()).collect(); + + let timeout = Some(30); + + let mut resp = post_json_async(&url, BatchRequest { addon_ids }, vec![], timeout).await?; + + if resp.status().is_success() { + let packages = resp.json::().map(|r| r.addons); + + Ok(packages?) + } else { + Err(DownloadError::InvalidStatusCode { + code: resp.status(), + url, + }) + } +} + +#[derive(Clone, Debug, Deserialize)] +pub struct TownlongYakBatchResponse { + pub addons: Vec, + pub count: i64, +} + +#[derive(Clone, Debug, Deserialize)] +/// Struct for applying wowi details to an `Addon`. +pub struct TownlongYakPackage { + pub id: i64, + pub repository: String, + pub repository_name: String, + pub source: String, + pub description: Option, + pub homepage: Option, + pub owner_name: Option, + pub releases: Vec, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct TownlongYakRelease { + pub id: i64, + pub download_url: String, + pub game_type: String, + pub game_version: String, + pub tag_name: String, + pub published_at: DateTime, + #[serde(default)] + pub prerelease: bool, +} + +#[serde(rename_all = "camelCase")] +#[derive(Clone, Debug, Serialize)] +struct BatchRequest { + addon_ids: Vec, +} diff --git a/crates/core/src/repository/mod.rs b/crates/core/src/repository/mod.rs index 148dd8d8..0c72bff6 100644 --- a/crates/core/src/repository/mod.rs +++ b/crates/core/src/repository/mod.rs @@ -11,14 +11,15 @@ use std::collections::HashMap; mod backend; use backend::Backend; -pub use backend::{curse, tukui, wowi}; -use backend::{Curse, Github, Gitlab, Tukui, WowI}; +pub use backend::{curse, townlongyak, tukui, wowi}; +use backend::{Curse, Github, Gitlab, TownlongYak, Tukui, WowI}; #[derive(Debug, Clone, Copy, PartialEq, PartialOrd, Ord, Eq, Serialize, Deserialize)] pub enum RepositoryKind { Curse, Tukui, WowI, + TownlongYak, Git(GitKind), } @@ -31,6 +32,7 @@ impl std::fmt::Display for RepositoryKind { RepositoryKind::WowI => "WoWInterface", RepositoryKind::Tukui => "Tukui", RepositoryKind::Curse => "CurseForge", + RepositoryKind::TownlongYak => "TownlongYak", RepositoryKind::Git(git) => match git { GitKind::Github => "GitHub", GitKind::Gitlab => "GitLab", @@ -124,6 +126,10 @@ impl RepositoryPackage { id: id.clone(), flavor, }), + RepositoryKind::TownlongYak => Box::new(TownlongYak { + id: id.clone(), + flavor, + }), RepositoryKind::Git(_) => return Err(RepositoryError::GitWrongConstructor), }; diff --git a/src/gui/mod.rs b/src/gui/mod.rs index e7e9e91d..b4138859 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -851,9 +851,14 @@ impl Application for Ajour { // TODO (tarkah): We should make this prettier with new sources coming in. let installed_for_flavor = addons.iter().any(|a| { - a.curse_id() == Some(addon.addon.id) - || a.tukui_id() == Some(&addon.addon.id.to_string()) - || a.wowi_id() == Some(&addon.addon.id.to_string()) + (a.curse_id() == Some(addon.addon.id) + && addon.addon.source == catalog::Source::Curse) + || (a.tukui_id() == Some(&addon.addon.id.to_string()) + && addon.addon.source == catalog::Source::Tukui) + || (a.wowi_id() == Some(&addon.addon.id.to_string()) + && addon.addon.source == catalog::Source::WowI) + || (a.hub_id() == Some(addon.addon.id) + && addon.addon.source == catalog::Source::TownlongYak) }); let install_addon = install_addons.iter().find(|a| { @@ -1827,6 +1832,7 @@ impl CatalogSource { CatalogSource::Choice(catalog::Source::Curse), CatalogSource::Choice(catalog::Source::Tukui), CatalogSource::Choice(catalog::Source::WowI), + CatalogSource::Choice(catalog::Source::TownlongYak), ] } } @@ -1838,6 +1844,7 @@ impl std::fmt::Display for CatalogSource { catalog::Source::Curse => "Curse", catalog::Source::Tukui => "Tukui", catalog::Source::WowI => "WowInterface", + catalog::Source::TownlongYak => "TownlongYak", }, }; write!(f, "{}", s) diff --git a/src/gui/update.rs b/src/gui/update.rs index 2c5e1f33..f4fa210b 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -757,15 +757,16 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result Result { commands.push(Command::perform( update_addon_cache(addon_cache.clone(), entry, flavor), @@ -2131,6 +2133,7 @@ async fn perform_fetch_latest_addon( catalog::Source::Curse => RepositoryKind::Curse, catalog::Source::Tukui => RepositoryKind::Tukui, catalog::Source::WowI => RepositoryKind::WowI, + catalog::Source::TownlongYak => RepositoryKind::TownlongYak, }; RepositoryPackage::from_repo_id(flavor, kind, id)? From 78606b4f17a783dff2c98f685729659004031fd7 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sat, 6 Feb 2021 07:15:07 +0100 Subject: [PATCH 18/62] chore: updated CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e823a144..953315a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ and `Removed`. ### Added +- Townlong Yak addons has been added to the Catalog. - Optional 'Categories' column for Catalog. - Optional 'Summary' column for My Addons. - New languages added to Ajour: From 56586d9805bad2e6035c42505d30d78658c19323 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:25:35 +0100 Subject: [PATCH 19/62] Update mod.rs --- src/gui/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/mod.rs b/src/gui/mod.rs index b4138859..fa885f90 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -1844,7 +1844,7 @@ impl std::fmt::Display for CatalogSource { catalog::Source::Curse => "Curse", catalog::Source::Tukui => "Tukui", catalog::Source::WowI => "WowInterface", - catalog::Source::TownlongYak => "TownlongYak", + catalog::Source::TownlongYak => "Townlong-Yak", }, }; write!(f, "{}", s) From f09193a66b40eb29ee20d2a26163c0c93fbb6888 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:12 +0100 Subject: [PATCH 20/62] Update cs_CZ.json (POEditor.com) --- locale/cs_CZ.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/locale/cs_CZ.json b/locale/cs_CZ.json index 240d6cf3..1d84562f 100644 --- a/locale/cs_CZ.json +++ b/locale/cs_CZ.json @@ -103,16 +103,16 @@ "weakaura-update-queued": "Aktualizace zařazena", "settings-general": "Obecné", "catalog-results": "Výsledky: {number}", - "error-fetch-changelog": "", - "error-parse-addons": "", - "error-download-addon": "", - "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", - "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "error-fetch-changelog": "Načtení protokolu změn se nezdařilo", + "error-parse-addons": "Nepodařilo se analyzovat addony", + "error-download-addon": "Stažení addonu se nezdařilo", + "error-unpack-addon": "Rozbalení doplňku se nezdařilo", + "error-backup-folders": "Zálohování složek se nezdařilo", + "error-update-ajour": "Aktualizace Ajour se nezdařila", + "error-remove-cache": "Odebrání položky cache se nezdařilo", + "error-list-accounts": "Nepodařilo se získat seznam účtů", + "error-parse-weakauras": "Analýza WeakAuras se nezdařila", + "error-update-weakauras": "Aktualizace WeakAuras se nezdařila", + "categories": "Kategorie", + "error-update-ajour-permission": "Problém s oprávněními při aktualizaci Ajouru" +} \ No newline at end of file From bc13f15ffab9ff3b896e6642ff2c633c0deeca1b Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:13 +0100 Subject: [PATCH 21/62] Update da_DK.json (POEditor.com) --- locale/da_DK.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/locale/da_DK.json b/locale/da_DK.json index a22591e5..6f8abcc3 100644 --- a/locale/da_DK.json +++ b/locale/da_DK.json @@ -103,16 +103,16 @@ "weakaura-update-queued": "Opdatering klargjort", "settings-general": "Generelt", "catalog-results": "Resultater: {number}", - "error-fetch-changelog": "", - "error-parse-addons": "", - "error-download-addon": "", - "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", - "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "error-fetch-changelog": "Fejl under indlæsning af ændringer", + "error-parse-addons": "Fejl under indlæsning af addons", + "error-download-addon": "Fejl under download af addon", + "error-unpack-addon": "Fejl under udpakning af addon", + "error-backup-folders": "Fejl under backup af mapper", + "error-update-ajour": "Fejl under opdatering af Ajour", + "error-remove-cache": "Kunne ikke fjerne indhold fra mellemlager", + "error-list-accounts": "Kunne ikke indlæse liste af konti", + "error-parse-weakauras": "Fejl under indlæsning af WeakAuras", + "error-update-weakauras": "Fejl under opdatering af WeakAuras", + "categories": "Kategorier", + "error-update-ajour-permission": "Mangler rettigheder til at opdatere Ajour" +} \ No newline at end of file From cd07fac3be474329978bd842cdcf471c3fe9283e Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:15 +0100 Subject: [PATCH 22/62] Update en_US.json (POEditor.com) --- locale/en_US.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locale/en_US.json b/locale/en_US.json index 9d388dde..ed9d1217 100644 --- a/locale/en_US.json +++ b/locale/en_US.json @@ -113,6 +113,6 @@ "error-list-accounts": "Failed to get list of Accounts", "error-parse-weakauras": "Failed to parse WeakAuras", "error-update-weakauras": "Failed to update WeakAuras", - "error-update-ajour-permission": "Permissions issue while updating Ajour", - "categories": "Categories" -} + "categories": "Categories", + "error-update-ajour-permission": "Permissions issue while updating Ajour" +} \ No newline at end of file From 6274bb217fb77f3a84a2494b4a5a840b10c71532 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:16 +0100 Subject: [PATCH 23/62] Update fr_FR.json (POEditor.com) --- locale/fr_FR.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/locale/fr_FR.json b/locale/fr_FR.json index 08edf62e..b0c9cce5 100644 --- a/locale/fr_FR.json +++ b/locale/fr_FR.json @@ -103,16 +103,16 @@ "weakaura-update-queued": "Mise à jour en attente", "settings-general": "Paramètres généraux", "catalog-results": "Résultats: {number}", - "error-fetch-changelog": "", - "error-parse-addons": "", - "error-download-addon": "", - "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", - "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "error-fetch-changelog": "Impossible de récupérer l'historique", + "error-parse-addons": "Impossible de récupérer les addons", + "error-download-addon": "Impossible de télécharger l'addon", + "error-unpack-addon": "Impossible de décompresser l'addon", + "error-backup-folders": "Impossible de sauvegarder", + "error-update-ajour": "Impossible de mettre à jour Ajour", + "error-remove-cache": "Impossible de supprimer le cache", + "error-list-accounts": "Impossible de récupérer la liste des comptes", + "error-parse-weakauras": "Impossible de récupérer les WeakAuras", + "error-update-weakauras": "Impossible de mettre à jour les WeakAuras", + "categories": "Catégories", + "error-update-ajour-permission": "Erreur de permissions pendant la mise à jour de Ajour" +} \ No newline at end of file From 3b38583ddb3b09de3e2adb9ab7949e6c6eff3847 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:17 +0100 Subject: [PATCH 24/62] Update de_DE.json (POEditor.com) --- locale/de_DE.json | 60 +++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/locale/de_DE.json b/locale/de_DE.json index 4840c3fa..3fa767bc 100644 --- a/locale/de_DE.json +++ b/locale/de_DE.json @@ -1,33 +1,33 @@ { - "about": "Über uns", + "about": "Über Ajour", "addon": "Addon", "addons": "Addons", - "addons-loaded": "{number} {flavor} addons geladen", + "addons-loaded": "{number} {flavor} Addons geladen", "ajour": "Ajour", "all-categories": "Alle Kategorien", - "alternate-row-colors": "Gebänderte Zeilen", + "alternate-row-colors": "wechselnde Zeilenfarben", "aura": "Aura", "author": "Autor", "authors": "Autor(en)", "backup": "Backup", - "backup-description": "Erstelle ein Backup deiner Addons and WTF Ordner im gewählten Verzeichnis", - "backup-latest": "Letztes Backup: ", + "backup-description": "Erstelle ein Backup deiner Addons und WTF Ordner im gewählten Verzeichnis", + "backup-latest": "Letztes Backup: {time}", "backup-never": "Nie", - "backup-now": "Erstelle Backup ", + "backup-now": "Erstelle Backup", "backup-progress": "Backup wird erstellt...", "catalog": "Katalog", "changelog": "Changelog", - "changelog-for": "Changelog für", - "changelog-press-full-changelog": "Um diesen Changelog im Browser ansehen zu können, bitte den „Vollständiger Changelog“ Button anklicken", + "changelog-for": "Changelog für {addon}", + "changelog-press-full-changelog": "Um dieses Changelog im Browser ansehen zu können, bitte den „Vollständiger Changelog“ Button anklicken", "channel": "Kanal", "columns": "Spalten", "completed": "Abgeschlossen", "delete": "Löschen", - "delete-saved-variables": "Lösche gespeicherte einstellungen wenn Addon gelöscht wird", + "delete-saved-variables": "Lösche gespeicherte Einstellungen wenn Addons gelöscht werden", "description": "Beschreibung", - "downloading": "Läd herunter", + "downloading": "Lädt herunter", "failed": "Fehlgeschlagen", - "full-changelog": "Vollständiger Changelog", + "full-changelog": "Vollständiges Changelog", "game-version": "Spielversion", "global-release-channel": "Globaler Veröffentlichungskanal", "hashing": "Hashing", @@ -37,31 +37,31 @@ "install": "Installieren", "install-for-flavor": "Installieren für", "install-from-url": "Installieren von URL", - "install-from-url-description": "Installiere ein Addon direkt entweder von GitHub oder GitLab\nDas Addon muss als \"release asset\" veröffentlicht sein.", + "install-from-url-description": "Installiere ein Addon direkt, entweder von GitHub, oder GitLab.\nDas Addon muss als \"release asset\" veröffentlicht sein.", "install-from-url-example": "z.B.: https://github.com/author/repository", "installed": "Installiert", "language": "Sprache", "latest-release": "Neueste Veröffentlichung", "loading": "Lädt...", "loading-catalog": "Lädt Katalog", - "local": "Lokalversion", + "local": "Lokale Version", "my-addons": "Meine Addons", "my-weakauras": "Meine WeakAuras", "new-update-available": "Neue Ajour Version verfügbar", "no-addon-description": "Addon hat keine Beschreibung", "no-addons-for-flavor": "Du hast keine {flavor} Addons", - "no-changelog": "Kein changelog gefunden", + "no-changelog": "Kein Changelog gefunden", "no-directory": "Kein Verzeichnis ausgewählt", "no-known-weakauras": "Du hast keine bekannten {flavor} WeakAuras", "num-downloads": "# Downloads", - "open-data-directory": "Öffne data Ordner", + "open-data-directory": "Öffne Data Ordner", "parsing-addons": "Analysiert {flavor} Addons", "parsing-weakauras": "Analysiert {flavor} WeakAuras", "patreon": "Patreon", "patreon-http": "https://patreon.com/getajour", "refresh": "Aktualisieren", "release-channel-no-release": "Keine verfügbaren Veröffentlichungen", - "remote": "Aktuellversion", + "remote": "Aktuelle Version", "remote-release-channel": "Veröffentlichungskanal", "reset-columns": "Setze Spalten zurück", "retry": "Erneut versuchen", @@ -87,7 +87,7 @@ "update-all": "Aktualisiere alle", "ajour-update-channel": "Ajour Aktualisierungskanal", "updating": "Aktualisiert", - "weakaura-updates-queued": "Aktualisierung in Warteschlange. Neustart erforderlich.", + "weakaura-updates-queued": "Aktualisierung in Warteschlange. Aktualisierung im Spiel erforderlich.", "weakauras-loaded": "{number} WeakAuras geladen", "website": "Website", "website-http": "https://getajour.com", @@ -103,16 +103,16 @@ "weakaura-update-queued": "Update in Warteschlange", "settings-general": "Allgemein", "catalog-results": "Ergebnisse: {number}", - "error-fetch-changelog": "", - "error-parse-addons": "", - "error-download-addon": "", - "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", - "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "error-fetch-changelog": "Changelog abruf fehlgeschlagen", + "error-parse-addons": "Fehler beim parsen des Addons", + "error-download-addon": "Addon download fehlgeschlagen", + "error-unpack-addon": "Addon entpacken fehlgeschlagen", + "error-backup-folders": "Verzeichnisbackup fehlgeschlagen", + "error-update-ajour": "Ajour update fehlgeschlagen", + "error-remove-cache": "Fehler beim entfernen des Cache-Eintrags", + "error-list-accounts": "Accounts auflisten fehlgeschlagen", + "error-parse-weakauras": "Fehler beim parsen von WeakAuras", + "error-update-weakauras": "WeakAuras update fehlgeschlagen", + "categories": "Kategorien", + "error-update-ajour-permission": "Berechtigungsprobleme beim aktualisieren von Ajour" +} \ No newline at end of file From 96b6bb9377d3fa4c131b0a6a5332d20a7d861461 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:19 +0100 Subject: [PATCH 25/62] Update hu_HU.json (POEditor.com) --- locale/hu_HU.json | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/locale/hu_HU.json b/locale/hu_HU.json index 14cc04c1..e8b4422e 100644 --- a/locale/hu_HU.json +++ b/locale/hu_HU.json @@ -35,9 +35,9 @@ "ignore": "Kizárás", "ignored": "Kizárt", "install": "Telepítés", - "install-for-flavor": "Telepítés ehhez: {flavor}", + "install-for-flavor": "Telepítés hozzá: {flavor}", "install-from-url": "Telepítés URL-ről", - "install-from-url-description": "Egy addon telepíthető GitHubról vagy GitLabról is.\nAz addonnak \"release assetként\" kell ott publikálva lennie.", + "install-from-url-description": "Egy addon telepíthető GitHubról vagy GitLabról is.\nAz addonnak \"release assetként\" kell publikálva lennie.", "install-from-url-example": "Pl.: https://github.com/author/repository", "installed": "Telepítve", "language": "Nyelv", @@ -45,8 +45,8 @@ "loading": "Betöltés...", "loading-catalog": "Katalógus betöltése", "local": "Helyi verzió", - "my-addons": "Letöltött Addonok", - "my-weakauras": "Letöltött WeakAurák", + "my-addons": "Addonok", + "my-weakauras": "WeakAurák", "new-update-available": "Új Ajour verzió elérhető", "no-addon-description": "Nincs leírás az addonhoz.", "no-addons-for-flavor": "Nincsenek {flavor} addonjaid.", @@ -103,16 +103,16 @@ "weakaura-update-queued": "Frissítés sorbaállítva", "settings-general": "Általános", "catalog-results": "Találatok: {number}", - "error-fetch-changelog": "", - "error-parse-addons": "", - "error-download-addon": "", - "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", - "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "error-fetch-changelog": "Változtatások naplójának betöltése sikertelen", + "error-parse-addons": "Addonok beolvasása sikertelen", + "error-download-addon": "Addon letöltése sikertelen", + "error-unpack-addon": "Addon kicsomagolása sikertelen", + "error-backup-folders": "Biztonsági mentés sikertelen", + "error-update-ajour": "Ajour frissítése sikertelen", + "error-remove-cache": "Gyorsítótárazott elem törlése sikertelen", + "error-list-accounts": "Fiókok listájának betöltése sikertelen", + "error-parse-weakauras": "WeakAurák betöltése sikertelen", + "error-update-weakauras": "WeakAurák frissítése sikertelen", + "categories": "Kategóriák", + "error-update-ajour-permission": "Jogosultsági hiba az Ajour frissítése közben" +} \ No newline at end of file From 13abc25ce2cc7625c5abb8fb1273587f4fa34d66 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:20 +0100 Subject: [PATCH 26/62] Update nb_NO.json (POEditor.com) --- locale/nb_NO.json | 84 +++++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/locale/nb_NO.json b/locale/nb_NO.json index fa9e5354..253bca8c 100644 --- a/locale/nb_NO.json +++ b/locale/nb_NO.json @@ -4,55 +4,55 @@ "addons": "Addons", "addons-loaded": "{number} {flavor} addons lastet", "ajour": "Ajour", - "all-categories": "Alle Kategorier", - "alternate-row-colors": "Alternativ Rad Farge", + "all-categories": "Alle kategorier", + "alternate-row-colors": "Alternere radfarge", "aura": "Aura", "author": "Utvikler", - "authors": "Utvikle(re)", - "backup": "Backup", - "backup-description": "Backup AddOns og WTF mappen til valgt mappe", - "backup-latest": "Sist backup: {time}", + "authors": "Utviklere", + "backup": "Sikkerhetskopi", + "backup-description": "Sikkerhetskopier AddOns og WTF mappen til valgt mappe", + "backup-latest": "Sist sikkerhetskopiert: {time}", "backup-never": "Aldri", - "backup-now": "Backup Nå", - "backup-progress": "Sikkerhetskopierer..", + "backup-now": "Sikkerhetskopier nå", + "backup-progress": "Sikkerhetskopierer...", "catalog": "Katalog", "changelog": "Endringslogg", "changelog-for": "Endringslogg for {addon}", - "changelog-press-full-changelog": "Åpne endringslogg i nettleser ved å trykke 'Full Endringslogg' til høyre", + "changelog-press-full-changelog": "Åpne endringslogg i nettleser ved å trykke 'Full endringslogg' til høyre", "channel": "Kanal", "columns": "Kolonne", "completed": "Fullført", "delete": "Slett", - "delete-saved-variables": "Slett SavedVariables når du sletter Addons", + "delete-saved-variables": "Slett SavedVariables når du sletter addons", "description": "Beskrivelse", - "downloading": "Nedlaster", + "downloading": "Laster ned", "failed": "Feil", - "full-changelog": "Full Endringslogg", - "game-version": "Spill Versjon", - "global-release-channel": "Global Lanseringskanal", + "full-changelog": "Full endringslogg", + "game-version": "Spillversjon", + "global-release-channel": "Global lanseringskanal", "hashing": "Hasher", - "hide-addons": "Skjul ekskluderte Addons", - "ignore": "Eksluder", + "hide-addons": "Skjul ekskluderte addons", + "ignore": "Ekskluder", "ignored": "Eksluderte", "install": "Installer", "install-for-flavor": "Installer til {flavor}", - "install-from-url": "Installer fra Lenke", + "install-from-url": "Installer fra lenke", "install-from-url-description": "Installer en addon direkte fra Github eller Gitlab. Addon må være publisert", "install-from-url-example": "F.eks.: https://github.com/author/repository", "installed": "Installert", "language": "Språk", - "latest-release": "Siste Versjon", - "loading": "Laster..", + "latest-release": "Siste versjon", + "loading": "Laster...", "loading-catalog": "Laster inn katalog", "local": "Lokal versjon", "my-addons": "Mine Addons", - "my-weakauras": "Mine Weakauraer", + "my-weakauras": "Mine WeakAuraer", "new-update-available": "Ny Ajour versjon tilgjengelig", - "no-addon-description": "Manglee beskrivelse for addon.", + "no-addon-description": "Mangler beskrivelse for addon.", "no-addons-for-flavor": "Du har ingen {flavor} addons.", "no-changelog": "Ingen endringslogg funnet", "no-directory": "Ingen mappe satt", - "no-known-weakauras": "Du har ingen gjenkjente {flavor} weakauraer", + "no-known-weakauras": "Du har ingen gjenkjente {flavor} WeakAuraer", "num-downloads": "# Nedlastinger", "open-data-directory": "Åpne mappe", "parsing-addons": "Går gjennom {flavor} AddOns", @@ -63,32 +63,32 @@ "release-channel-no-release": "Ingen lansering funnet", "remote": "Siste versjon", "remote-release-channel": "Lanseringskanal", - "reset-columns": "Resett Kolonner", + "reset-columns": "Resett kolonner", "retry": "Prøv igjen", - "scale": "Skaler", - "search-for-addon": "Søk etter Addon", - "select-account": "Velg en Konto", + "scale": "Skalering", + "search-for-addon": "Søk etter addon", + "select-account": "Velg en konto", "select-directory": "Velg mappe", "settings": "Innstillinger", "setup-ajour-description": "Vennligst velg World of Warcraft mappe", "setup-ajour-title": "Velkommen til Ajour!", - "setup-weakauras-description": "Velg Konto", - "setup-weakauras-title": "Hold styr på Weakauraer med Ajour!", + "setup-weakauras-description": "Velg konto", + "setup-weakauras-title": "Hold styr på WeakAuraer med Ajour!", "source": "Kilde", "status": "Status", "summary": "Oppsummering", "theme": "Tema", - "ui": "UI", + "ui": "Brukergrensesnitt", "unavailable": "Utilgjengelig", "unignore": "Inkluder", "unknown": "Ukjent", "unpacking": "Pakker ut", "update": "Oppdater", "update-all": "Oppdater alle", - "ajour-update-channel": "Ajour Oppdatering Kanal", + "ajour-update-channel": "Ajour oppdateringskanal", "updating": "Oppdaterer", - "weakaura-updates-queued": "Oppdateringer satt i kø. Fullfør in-game.", - "weakauras-loaded": "{number} Weakauraer lastet", + "weakaura-updates-queued": "Oppdateringer satt i kø. Fullfør i WoW.", + "weakauras-loaded": "{number} WeakAuraer lastet", "website": "Nettside", "website-http": "https://getajour.com", "welcome-to-ajour-description": "Vennligst velg World of Warcaft mappe", @@ -99,20 +99,20 @@ "channel-stable": "Stabil", "channel-beta": "Beta", "channel-alpha": "Alpha", - "weakaura-update-available": "Oppdatering Tilgjengelig", - "weakaura-update-queued": "Oppdatering Køet", + "weakaura-update-available": "Oppdatering tilgjengelig", + "weakaura-update-queued": "Oppdatering satt i kø", "settings-general": "Generelt", "catalog-results": "Resultater: {number}", - "error-fetch-changelog": "", + "error-fetch-changelog": "Kunne ikke hente endringsloggen", "error-parse-addons": "", - "error-download-addon": "", + "error-download-addon": "Kunne ikke laste ned Addon", "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", + "error-backup-folders": "Kunne ikke sikkerhetskopiere mapper", + "error-update-ajour": "Kunne ikke oppdatere Ajour", "error-remove-cache": "", "error-list-accounts": "", "error-parse-weakauras": "", - "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "error-update-weakauras": "Kunne ikke oppdatere WeakAuras", + "categories": "Kategorier", + "error-update-ajour-permission": "under oppdatering av Ajour" +} \ No newline at end of file From b79e2a612c7832880acc58c5b92768cd49dff693 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:21 +0100 Subject: [PATCH 27/62] Update pt_PT.json (POEditor.com) --- locale/pt_PT.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/locale/pt_PT.json b/locale/pt_PT.json index 71a76b46..34b0f5ed 100644 --- a/locale/pt_PT.json +++ b/locale/pt_PT.json @@ -103,16 +103,16 @@ "weakaura-update-queued": "Atualização em fila", "settings-general": "Configuração geral", "catalog-results": "Resultados: {number}", - "error-fetch-changelog": "", - "error-parse-addons": "", - "error-download-addon": "", - "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", - "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "error-fetch-changelog": "Falha em ir buscar o changelog", + "error-parse-addons": "Falha na análise de addons", + "error-download-addon": "Falha no download do addon", + "error-unpack-addon": "Falha em desempacotar addon", + "error-backup-folders": "Falha nas pastas de backup", + "error-update-ajour": "Falha na atualização do Ajour", + "error-remove-cache": "Falha na remoção da entrada do cache", + "error-list-accounts": "Falha em obter a lista de contas", + "error-parse-weakauras": "Falha em analisar o WeakAuras", + "error-update-weakauras": "Falha na actualização do WeakAuras", + "categories": "Categorias", + "error-update-ajour-permission": "Emissão de permissões durante a atualização do Ajour" +} \ No newline at end of file From ee025068c40658b92d97f1c99927a003d9c5b22d Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:22 +0100 Subject: [PATCH 28/62] Update ru_RU.json (POEditor.com) --- locale/ru_RU.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/locale/ru_RU.json b/locale/ru_RU.json index a52cc9f0..2bf30a16 100644 --- a/locale/ru_RU.json +++ b/locale/ru_RU.json @@ -103,16 +103,16 @@ "weakaura-update-queued": "Обновления поставлены в очередь", "settings-general": "Общие", "catalog-results": "Результат: {number}", - "error-fetch-changelog": "", - "error-parse-addons": "", - "error-download-addon": "", - "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", - "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "error-fetch-changelog": "Не удалось загрузить журнал изменений", + "error-parse-addons": "Не удалось распознать дополнение", + "error-download-addon": "Не удалось загрузить дополнение", + "error-unpack-addon": "Не удалось распаковать дополнение", + "error-backup-folders": "Не удалось создать резервную копию папки", + "error-update-ajour": "Не удалось обновить Ajour", + "error-remove-cache": "Не удалось удалить запись кеша", + "error-list-accounts": "Не удалось получить список учетных записей", + "error-parse-weakauras": "Не удалось разобрать WeakAuras", + "error-update-weakauras": "Не удалось обновить WeakAuras", + "categories": "Категории", + "error-update-ajour-permission": "Проблема с разрешениями во время обновления Ajour" +} \ No newline at end of file From 66be6b919879aa469cc6d82f5c34ed67d3c6916e Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:24 +0100 Subject: [PATCH 29/62] Update sk_SK.json (POEditor.com) --- locale/sk_SK.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/locale/sk_SK.json b/locale/sk_SK.json index 10128c58..368cea1e 100644 --- a/locale/sk_SK.json +++ b/locale/sk_SK.json @@ -103,16 +103,16 @@ "weakaura-update-queued": "Aktualizácia zaradená", "settings-general": "Všeobecné", "catalog-results": "Výsledky: {number}", - "error-fetch-changelog": "", - "error-parse-addons": "", - "error-download-addon": "", - "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", - "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "error-fetch-changelog": "Nepodarilo sa načítať zoznam zmien", + "error-parse-addons": "Nepodarilo sa analyzovať addony", + "error-download-addon": "Nepodarilo sa stiahnuť addon", + "error-unpack-addon": "Nepodarilo sa rozbaliť addon", + "error-backup-folders": "Nepodarila sa záloha priečinkov", + "error-update-ajour": "Akualizácia Ajour sa nepodarila", + "error-remove-cache": "Nepodarilo sa zmazať cache", + "error-list-accounts": "Nepodarilo sa získať zoznam účtov", + "error-parse-weakauras": "Nepodarilo sa analyzovať WeakAury", + "error-update-weakauras": "Nepodarilo sa aktualizovať WeakAury", + "categories": "Kategórie", + "error-update-ajour-permission": "Problém s oprávneniami pri aktualizácii Ajour" +} \ No newline at end of file From 76ff8435d5c4175f8534115aae0d8ddb7f128813 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:25 +0100 Subject: [PATCH 30/62] Update es_ES.json (POEditor.com) --- locale/es_ES.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/locale/es_ES.json b/locale/es_ES.json index 3f229b87..cd82056e 100644 --- a/locale/es_ES.json +++ b/locale/es_ES.json @@ -103,16 +103,16 @@ "weakaura-update-queued": "Actualización en cola", "settings-general": "Ajustes globales", "catalog-results": "Resultados: {number}", - "error-fetch-changelog": "", - "error-parse-addons": "", - "error-download-addon": "", - "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", - "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "error-fetch-changelog": "Fallo al encontrar changelog", + "error-parse-addons": "Fallo al analizar Addon", + "error-download-addon": "Descarga de addon fallida", + "error-unpack-addon": "Fallo al desempaquetar addon", + "error-backup-folders": "Fallo al hacer una copia de los archivos", + "error-update-ajour": "Actualización de Ajour fallida", + "error-remove-cache": "Fallo al eliminar la entrada de caché", + "error-list-accounts": "Fallo al obtener lista de cuentas", + "error-parse-weakauras": "Fallo al analizar WeakAuras", + "error-update-weakauras": "Actualización de WeakAuras fallida", + "categories": "Categorías", + "error-update-ajour-permission": "Problema con permisos mientras se actualizaba Ajour" +} \ No newline at end of file From a346dc789e3b9a3cfa2c3fcce6a49d18a16f275e Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:26 +0100 Subject: [PATCH 31/62] Update se_SE.json (POEditor.com) --- locale/se_SE.json | 48 +++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/locale/se_SE.json b/locale/se_SE.json index 80263338..070751dd 100644 --- a/locale/se_SE.json +++ b/locale/se_SE.json @@ -1,11 +1,11 @@ { - "about": "Om Appen", + "about": "Om", "addon": "Addon", "addons": "Addons", "addons-loaded": "{number} {flavor} addons laddade", "ajour": "Ajour", "all-categories": "Alla Kategorier", - "alternate-row-colors": "Alternativa Radfärger", + "alternate-row-colors": "Alternerande radfärger", "aura": "Aura", "author": "Utvecklare", "authors": "Utvecklare", @@ -16,14 +16,14 @@ "backup-now": "Säkerhetskopiera nu", "backup-progress": "Sparar säkerhetskopia...", "catalog": "Katalog", - "changelog": "Ändringar", + "changelog": "Nyheter", "changelog-for": "Ändringar för {addon}", "changelog-press-full-changelog": "Visa alla ändringar i en webbläsare genom att trycka på 'Alla Ändringar' till höger.", "channel": "Publiceringskanal", "columns": "Kolumner", "completed": "Klar", "delete": "Ta bort", - "delete-saved-variables": "Ta även bort 'SavedVariables' när ett addon raderas", + "delete-saved-variables": "Ta bort 'SavedVariables' när ett addon raderas", "description": "Beskrivning", "downloading": "Laddar ner", "failed": "Fel", @@ -31,13 +31,13 @@ "game-version": "Spelversion", "global-release-channel": "Global publiceringskanal", "hashing": "Hashar", - "hide-addons": "Visa inte ignorerade Addons", + "hide-addons": "Dölj ignorerade Addons", "ignore": "Exkludera", "ignored": "Exkluderad", "install": "Installera", "install-for-flavor": "Installera för {flavor}", - "install-from-url": "Install från URL", - "install-from-url-description": "Installera ett addon direkt från GitHub eller GitLab\nEtt Addon därifrån måste vara publicerat som en 'Release Asset'", + "install-from-url": "Installera från URL", + "install-from-url-description": "Installera ett addon direkt från GitHub eller GitLab\nDen måste vara publicerad som en 'Release Asset'", "install-from-url-example": "t.ex. https://github.com/author/repository", "installed": "Installerad", "language": "Språk", @@ -49,7 +49,7 @@ "my-weakauras": "Mina WeakAuras", "new-update-available": "Det finns en ny version av Ajour tillgänglig", "no-addon-description": "Det finns ingen beskrivning för detta Addon.", - "no-addons-for-flavor": "Inga Addon för installerade för {flavor}.", + "no-addons-for-flavor": "Inga Addons installerade för {flavor}.", "no-changelog": "Hittade inga förändringar.", "no-directory": "Ingen mapp vald", "no-known-weakauras": "Du har inga igenkännbara {flavor} WeakAuras", @@ -59,7 +59,7 @@ "parsing-weakauras": "Går igenom {flavor} WeakAuras", "patreon": "Patreon", "patreon-http": "https://patreon.com/getajour", - "refresh": "Ladd om", + "refresh": "Hämta uppdateringar", "release-channel-no-release": "kanalen har inga tillgängliga publiceringar", "remote": "Senaste Version", "remote-release-channel": "Publiceringskanal", @@ -85,7 +85,7 @@ "unpacking": "Packar upp", "update": "Uppdatera", "update-all": "Uppdatera alla", - "ajour-update-channel": "Ajour Uppdatera kanal", + "ajour-update-channel": "Ajours publiceringskanal", "updating": "Uppdaterar", "weakaura-updates-queued": "Uppdateringar köade, gör klart processen i spelet.", "weakauras-loaded": "{number} WeakAuras laddade", @@ -99,20 +99,20 @@ "channel-stable": "Stable", "channel-beta": "Beta", "channel-alpha": "Alpha", - "weakaura-update-available": "Uppdateringar tillgängliga", + "weakaura-update-available": "Uppdatering tillgänglig", "weakaura-update-queued": "Uppdateringar köade", "settings-general": "Allmänna inställningar", "catalog-results": "Resultat: {number}", - "error-fetch-changelog": "", - "error-parse-addons": "", - "error-download-addon": "", - "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", - "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "error-fetch-changelog": "Kan inte hämta nyheter", + "error-parse-addons": "Kan inte parsa addons", + "error-download-addon": "Kan inte ladda ner", + "error-unpack-addon": "Kan inte packa upp", + "error-backup-folders": "Kan inte säkerhetskopiera", + "error-update-ajour": "Kan inte uppdatera Ajour", + "error-remove-cache": "Kan inte ta bort cache", + "error-list-accounts": "Kan inte hämta kontolistan", + "error-parse-weakauras": "Kan inte parsa WeakAuras", + "error-update-weakauras": "Kan inte uppdatera WeakAuras", + "categories": "Kategorier", + "error-update-ajour-permission": "Behörighetsproblem medan Ajour uppdaterades" +} \ No newline at end of file From cfc0d702ffd332aab2a50c42cd398a443e9d58e4 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 07:27:28 +0100 Subject: [PATCH 32/62] Update tr_TR.json (POEditor.com) --- locale/tr_TR.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/locale/tr_TR.json b/locale/tr_TR.json index b7fb663f..76e7ac57 100644 --- a/locale/tr_TR.json +++ b/locale/tr_TR.json @@ -2,7 +2,7 @@ "about": "Hakkında", "addon": "Eklenti", "addons": "Eklentiler", - "addons-loaded": "{number} {flavor} eklentiler yüklendi", + "addons-loaded": "{number} {flavor} eklenti mevcut", "ajour": "Ajour", "all-categories": "Tüm Kategoriler", "alternate-row-colors": "Alternatif Satır Renkleri", @@ -17,7 +17,7 @@ "backup-progress": "Yedekleniyor...", "catalog": "Katalog", "changelog": "Yenilikler", - "changelog-for": "{addon} için Yenilikler", + "changelog-for": "{addon} Yenilikleri", "changelog-press-full-changelog": "Tüm yenilikleri tarayıcınızda görmek için sağdaki 'Tüm Yenilikler' tuşuna basın", "channel": "Kanal", "columns": "Sütun", @@ -28,7 +28,7 @@ "downloading": "İndiriliyor", "failed": "Başarısız", "full-changelog": "Tüm Yenilik Günlüğü", - "game-version": "Oyun Versiyonu", + "game-version": "Oyun Sürümü", "global-release-channel": "Küresel Yayın Kanalı", "hashing": "Hash'lemek", "hide-addons": "Gizli eklentileri gösterme", @@ -45,18 +45,18 @@ "loading": "Yükleniyor...", "loading-catalog": "Katalog yükleniyor", "local": "Lokal versiyon", - "my-addons": "Benim Eklentilerim", - "my-weakauras": "Benim WeakAura'larım", + "my-addons": "Eklentilerim", + "my-weakauras": "WeakAura'larım", "new-update-available": "Yeni Ajour versiyonu mevcut", "no-addon-description": "Eklentinin açıklaması yok", "no-addons-for-flavor": "{flavor} için eklentiniz yok", "no-changelog": "Changelog yok.", "no-directory": "Klasör seçilmedi", - "no-known-weakauras": "Bilinen {flavor} WeakAura'nız yok ", + "no-known-weakauras": "Hiç {flavor} WeakAura'nız yok", "num-downloads": "# İndirilenler", - "open-data-directory": "Açık veri Klasörü", - "parsing-addons": "{flavor} Eklentileri işleniyor", - "parsing-weakauras": "{flavor} WeakAura'ları işleniyor", + "open-data-directory": "Ajour klasörünü aç", + "parsing-addons": "{flavor} eklentilerin geliyor", + "parsing-weakauras": "{flavor} WeakAura'ların geliyor", "patreon": "Patreon", "patreon-http": "https://patreon.com/getajour", "refresh": "Yenile", @@ -84,11 +84,11 @@ "unknown": "Bilinmeyen", "unpacking": "Açılıyor", "update": "Güncelle", - "update-all": "Hepsini Güncelle", + "update-all": "Tümünü Güncelle", "ajour-update-channel": "Ajour Güncelleme Kanalı", "updating": "Güncelleniyor", - "weakaura-updates-queued": "Güncelleme geldi. Oyun içinde bitirin.", - "weakauras-loaded": "{number} WeakAura yüklendi", + "weakaura-updates-queued": "İndi. Kurulumu oyun içinde yükleyin.", + "weakauras-loaded": "{number} WeakAura mevcut", "website": "Websitesi", "website-http": "https://getajour.com", "welcome-to-ajour-description": "Lütfen World of Warcraft klasörünüzü seçin", @@ -113,6 +113,6 @@ "error-list-accounts": "", "error-parse-weakauras": "", "error-update-weakauras": "", - "error-update-ajour-permission": "", - "categories": "" -} + "categories": "", + "error-update-ajour-permission": "" +} \ No newline at end of file From 0aa02137502faf4b26a6a6379bedf52f733ef1bb Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Sun, 7 Feb 2021 09:10:54 +0100 Subject: [PATCH 33/62] bumped to 0.7.1-rc.1 --- Cargo.lock | 8 ++++---- Cargo.toml | 8 ++++---- crates/core/Cargo.toml | 2 +- crates/weak_auras/Cargo.toml | 4 ++-- crates/widgets/Cargo.toml | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 37dc9c6f..9f21ae29 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,7 +48,7 @@ dependencies = [ [[package]] name = "ajour" -version = "0.7.0" +version = "0.7.1-rc.1" dependencies = [ "ajour-core", "ajour-weak-auras", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "ajour-core" -version = "0.7.0" +version = "0.7.1-rc.1" dependencies = [ "async-std", "async-trait", @@ -116,7 +116,7 @@ dependencies = [ [[package]] name = "ajour-weak-auras" -version = "0.7.0" +version = "0.7.1-rc.1" dependencies = [ "ajour-core", "async-std", @@ -132,7 +132,7 @@ dependencies = [ [[package]] name = "ajour-widgets" -version = "0.7.0" +version = "0.7.1-rc.1" dependencies = [ "iced_core", "iced_glow", diff --git a/Cargo.toml b/Cargo.toml index 702dbb2d..42124f2b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ajour" description = "A World of Warcraft addon manager" -version = "0.7.0" +version = "0.7.1-rc.1" authors = ["Casper Rogild Storm"] license = "MIT" homepage = "https://github.com/ajour/ajour" @@ -17,9 +17,9 @@ wgpu = ["ajour-widgets/wgpu", "iced/wgpu", "iced/default_system_font"] opengl = ["ajour-widgets/opengl", "iced/glow", "iced/glow_default_system_font"] [dependencies] -ajour-core = { version = "0.7.0", path = "crates/core", features=['gui'] } -ajour-weak-auras = { version = "0.7.0", path = "crates/weak_auras" } -ajour-widgets = { version = "0.7.0", path = "crates/widgets" } +ajour-core = { version = "0.7.1-rc.1", path = "crates/core", features=['gui'] } +ajour-weak-auras = { version = "0.7.1-rc.1", path = "crates/weak_auras" } +ajour-widgets = { version = "0.7.1-rc.1", path = "crates/widgets" } iced = { version = "0.2.0", default-features = false, features = ["debug"] } iced_futures = { version = "0.2", features = ["async-std"] } diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 50ca1aac..d54c05f7 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ajour-core" description = "Core library for Ajour" -version = "0.7.0" +version = "0.7.1-rc.1" authors = ["Casper Rogild Storm"] license = "MIT" homepage = "https://github.com/ajour/ajour" diff --git a/crates/weak_auras/Cargo.toml b/crates/weak_auras/Cargo.toml index 36e469be..f7da2523 100644 --- a/crates/weak_auras/Cargo.toml +++ b/crates/weak_auras/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ajour-weak-auras" description = "Weak Auras library for Ajour" -version = "0.7.0" +version = "0.7.1-rc.1" authors = ["Casper Rogild Storm", "tarkah "] license = "MIT" homepage = "https://github.com/ajour/ajour" @@ -17,7 +17,7 @@ name = "cli" required-features = ["cli"] [dependencies] -ajour-core = { version = "0.7.0", path = "../core" } +ajour-core = { version = "0.7.1-rc.1", path = "../core" } async-std = { version = "1.6", features = ["unstable"] } futures = "0.3" diff --git a/crates/widgets/Cargo.toml b/crates/widgets/Cargo.toml index 1b98ba36..5da2999c 100644 --- a/crates/widgets/Cargo.toml +++ b/crates/widgets/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ajour-widgets" description = "Widget library for Ajour" -version = "0.7.0" +version = "0.7.1-rc.1" authors = ["Casper Rogild Storm", "tarkah "] license = "MIT" homepage = "https://github.com/ajour/ajour" From 96b6ab9bb924e080f3ddd37753767c0803c0bd09 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Sun, 7 Feb 2021 14:37:11 +0100 Subject: [PATCH 34/62] fix: format townlong gameversion --- crates/core/src/parse.rs | 26 +------------------------- crates/core/src/utility.rs | 32 ++++++++++++++++++++++++++++++++ src/gui/element/catalog.rs | 5 ++++- 3 files changed, 37 insertions(+), 26 deletions(-) diff --git a/crates/core/src/parse.rs b/crates/core/src/parse.rs index 1e71a031..2e59133b 100644 --- a/crates/core/src/parse.rs +++ b/crates/core/src/parse.rs @@ -8,6 +8,7 @@ use crate::{ repository::{ curse, townlongyak, tukui, wowi, RepositoryIdentifiers, RepositoryKind, RepositoryPackage, }, + utility::format_interface_into_game_version, }; use async_std::sync::{Arc, Mutex}; use fancy_regex::Regex; @@ -1258,19 +1259,6 @@ fn split_dependencies_into_vec(value: &str) -> Vec { .collect() } -fn format_interface_into_game_version(interface: &str) -> String { - if interface.len() == 5 { - let major = interface[..1].parse::(); - let minor = interface[1..3].parse::(); - let patch = interface[3..5].parse::(); - if let (Ok(major), Ok(minor), Ok(patch)) = (major, minor, patch) { - return format!("{}.{}.{}", major, minor, patch); - } - } - - interface.to_owned() -} - #[cfg(test)] mod tests { use super::*; @@ -1310,16 +1298,4 @@ mod tests { let title = RE_TOC_TITLE.replace_all("|cff1784d1ElvUI |cff83F3F7Absorb Tags", "$1"); assert_eq!(title, "ElvUI Absorb Tags"); } - - #[test] - fn test_interface() { - let interface = "90001"; - assert_eq!("9.0.1", format_interface_into_game_version(interface)); - - let interface = "11305"; - assert_eq!("1.13.5", format_interface_into_game_version(interface)); - - let interface = "100000"; - assert_eq!("100000", format_interface_into_game_version(interface)); - } } diff --git a/crates/core/src/utility.rs b/crates/core/src/utility.rs index 374fe6db..b7b54579 100644 --- a/crates/core/src/utility.rs +++ b/crates/core/src/utility.rs @@ -15,6 +15,23 @@ use std::fs; use std::io; use std::path::{Path, PathBuf}; +/// Takes a `&str` and formats it into a proper +/// World of Warcraft release version. +/// +/// Eg. 90001 would be 9.0.1. +pub fn format_interface_into_game_version(interface: &str) -> String { + if interface.len() == 5 { + let major = interface[..1].parse::(); + let minor = interface[1..3].parse::(); + let patch = interface[3..5].parse::(); + if let (Ok(major), Ok(minor), Ok(patch)) = (major, minor, patch) { + return format!("{}.{}.{}", major, minor, patch); + } + } + + interface.to_owned() +} + /// Takes a `&str` and strips any non-digit. /// This is used to unify and compare addon versions: /// @@ -324,4 +341,19 @@ mod tests { true ); } + + #[test] + fn test_interface() { + let interface = "90001"; + assert_eq!("9.0.1", format_interface_into_game_version(interface)); + + let interface = "11305"; + assert_eq!("1.13.5", format_interface_into_game_version(interface)); + + let interface = "100000"; + assert_eq!("100000", format_interface_into_game_version(interface)); + + let interface = "9.0.1"; + assert_eq!("9.0.1", format_interface_into_game_version(interface)); + } } diff --git a/src/gui/element/catalog.rs b/src/gui/element/catalog.rs index 37afab76..6a5fa002 100644 --- a/src/gui/element/catalog.rs +++ b/src/gui/element/catalog.rs @@ -5,7 +5,9 @@ use { InstallKind, InstallStatus, Interaction, Message, Mode, SortDirection, }, crate::localization::{localized_string, localized_timeago_formatter}, - ajour_core::{config::Config, theme::ColorPalette}, + ajour_core::{ + config::Config, theme::ColorPalette, utility::format_interface_into_game_version, + }, ajour_widgets::{header, Header, TableRow}, chrono::prelude::*, iced::{Align, Button, Container, Element, Length, Row, Space, Text}, @@ -277,6 +279,7 @@ pub fn data_row_container<'a, 'b>( .iter() .find(|gv| gv.flavor == config.wow.flavor.base_flavor()) .map(|gv| gv.game_version.clone()) + .map(|gv| format_interface_into_game_version(&gv[..])) .unwrap_or_else(|| "-".to_owned()); let game_version_text = Text::new(game_version_text).size(DEFAULT_FONT_SIZE); From 56311d685fd7bfb1035c38ac46d873ba6fb8963f Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Sun, 7 Feb 2021 14:39:52 +0100 Subject: [PATCH 35/62] Update catalog.rs --- src/gui/element/catalog.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gui/element/catalog.rs b/src/gui/element/catalog.rs index 6a5fa002..3557e539 100644 --- a/src/gui/element/catalog.rs +++ b/src/gui/element/catalog.rs @@ -278,8 +278,7 @@ pub fn data_row_container<'a, 'b>( .game_versions .iter() .find(|gv| gv.flavor == config.wow.flavor.base_flavor()) - .map(|gv| gv.game_version.clone()) - .map(|gv| format_interface_into_game_version(&gv[..])) + .map(|gv| format_interface_into_game_version(&gv.game_version[..])) .unwrap_or_else(|| "-".to_owned()); let game_version_text = Text::new(game_version_text).size(DEFAULT_FONT_SIZE); From ec0f810ac8be65dfcf052e3dff645722b32aa9b8 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 7 Feb 2021 21:37:06 +0100 Subject: [PATCH 36/62] Update catalog.rs --- crates/core/src/catalog.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/core/src/catalog.rs b/crates/core/src/catalog.rs index 1a95d0fb..38a99595 100644 --- a/crates/core/src/catalog.rs +++ b/crates/core/src/catalog.rs @@ -7,7 +7,7 @@ use chrono::prelude::*; use isahc::ResponseExt; use serde::{Deserialize, Serialize}; -const CATALOG_URL: &str = "https://raw.githubusercontent.com/ajour/ajour-catalog/3ce1414498adbc7167f11fe0dac7cd58e7b55391/catalog.json"; +const CATALOG_URL: &str = "https://github.com/ajour/ajour-catalog/raw/master/catalog-2.0.json"; type Etag = Option; From 1f753ca45d6b88d7e09ac5f37938405ef5647cf3 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Mon, 8 Feb 2021 08:32:28 +0100 Subject: [PATCH 37/62] feat: initial work on rewriting flavor detection --- crates/core/src/config/mod.rs | 12 ++++++++++++ src/gui/update.rs | 1 + 2 files changed, 13 insertions(+) diff --git a/crates/core/src/config/mod.rs b/crates/core/src/config/mod.rs index 12552543..640e37a1 100644 --- a/crates/core/src/config/mod.rs +++ b/crates/core/src/config/mod.rs @@ -56,6 +56,18 @@ pub struct Config { } impl Config { + /// Returns a `Option` to the falvor directory. + /// This will return `None` if no `wow_directory` is set in the config. + pub fn get_flavor_directory(&self, flavor: &Flavor) -> Option { + match &self.wow.directory { + Some(dir) => { + let flavor_dir = dir.join(&flavor.folder_name()); + Some(flavor_dir) + } + None => None, + } + } + /// Returns a `Option` to the directory containing the addons. /// This will return `None` if no `wow_directory` is set in the config. pub fn get_addon_directory_for_flavor(&self, flavor: &Flavor) -> Option { diff --git a/src/gui/update.rs b/src/gui/update.rs index f4fa210b..1646ad8c 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -656,6 +656,7 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result Date: Mon, 8 Feb 2021 09:16:25 +0100 Subject: [PATCH 38/62] fix: catalog source fallback --- crates/core/src/catalog.rs | 5 +++++ src/gui/mod.rs | 1 + src/gui/update.rs | 1 + 3 files changed, 7 insertions(+) diff --git a/crates/core/src/catalog.rs b/crates/core/src/catalog.rs index 38a99595..ce8d73c5 100644 --- a/crates/core/src/catalog.rs +++ b/crates/core/src/catalog.rs @@ -67,6 +67,8 @@ pub enum Source { WowI, #[serde(alias = "townlong-yak")] TownlongYak, + #[serde(other)] + Other, } impl std::fmt::Display for Source { @@ -76,6 +78,9 @@ impl std::fmt::Display for Source { Source::Tukui => "Tukui", Source::WowI => "WowInterface", Source::TownlongYak => "TownlongYak", + + // This is a fallback option. + Source::Other => "Unknown", }; write!(f, "{}", s) } diff --git a/src/gui/mod.rs b/src/gui/mod.rs index fa885f90..e037a5bc 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -1845,6 +1845,7 @@ impl std::fmt::Display for CatalogSource { catalog::Source::Tukui => "Tukui", catalog::Source::WowI => "WowInterface", catalog::Source::TownlongYak => "Townlong-Yak", + catalog::Source::Other => panic!("Unspported catalog source"), }, }; write!(f, "{}", s) diff --git a/src/gui/update.rs b/src/gui/update.rs index f4fa210b..78fbe7f9 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -2134,6 +2134,7 @@ async fn perform_fetch_latest_addon( catalog::Source::Tukui => RepositoryKind::Tukui, catalog::Source::WowI => RepositoryKind::WowI, catalog::Source::TownlongYak => RepositoryKind::TownlongYak, + catalog::Source::Other => panic!("Unspported catalog source"), }; RepositoryPackage::from_repo_id(flavor, kind, id)? From 3faa4f455cf7f77fb1a900dd8a342c9a96744e6b Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Mon, 8 Feb 2021 17:23:13 +0100 Subject: [PATCH 39/62] fix: if launching ajour before wow we try to create addon folder --- crates/core/src/config/mod.rs | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/crates/core/src/config/mod.rs b/crates/core/src/config/mod.rs index 640e37a1..2036b86b 100644 --- a/crates/core/src/config/mod.rs +++ b/crates/core/src/config/mod.rs @@ -3,6 +3,7 @@ use glob::MatchOptions; use serde::{Deserialize, Serialize}; use std::collections::HashMap; use std::fmt::{self, Display, Formatter}; +use std::fs::create_dir_all; use std::path::PathBuf; mod addons; @@ -56,25 +57,15 @@ pub struct Config { } impl Config { - /// Returns a `Option` to the falvor directory. - /// This will return `None` if no `wow_directory` is set in the config. - pub fn get_flavor_directory(&self, flavor: &Flavor) -> Option { - match &self.wow.directory { - Some(dir) => { - let flavor_dir = dir.join(&flavor.folder_name()); - Some(flavor_dir) - } - None => None, - } - } - /// Returns a `Option` to the directory containing the addons. /// This will return `None` if no `wow_directory` is set in the config. pub fn get_addon_directory_for_flavor(&self, flavor: &Flavor) -> Option { match &self.wow.directory { - Some(dir) => { - // The path to the directory containing the addons - let mut addon_dir = dir.join(&flavor.folder_name()).join("Interface/AddOns"); + Some(wow_dir) => { + // The path to the flavor directory + let flavor_dir = wow_dir.join(&flavor.folder_name()); + // The path to the addons directory + let mut addon_dir = flavor_dir.join("Interface/AddOns"); // If path doesn't exist, it could have been modified by the user. // Check for a case-insensitive version and use that instead. @@ -86,10 +77,7 @@ impl Config { // For some reason the case insensitive pattern doesn't work // unless we add an actual pattern symbol, hence the `?`. - let pattern = format!( - "{}/?nterface/?ddons", - dir.join(&flavor.folder_name()).display() - ); + let pattern = format!("{}/?nterface/?ddons", flavor_dir.display()); for entry in glob::glob_with(&pattern, options).unwrap() { if let Ok(path) = entry { @@ -98,6 +86,13 @@ impl Config { } } + // If flavor dir exists but not addon dir we try to create it. + // This state can happen if you do a fresh install of WoW and + // launch Ajour before you launch WoW. + if flavor_dir.exists() && !addon_dir.exists() { + let _ = create_dir_all(&addon_dir); + } + Some(addon_dir) } None => None, From 17dc9abbdc6fa90bc0bd29bce1a5f707bfc017fa Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Mon, 8 Feb 2021 17:25:33 +0100 Subject: [PATCH 40/62] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 953315a0..c5251abb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,8 @@ and `Removed`. ### Fixed - Multiple error messages are now correctly localized. +- Corrected error in flavor detection if Ajour was launched before WoW had ever + been launched. ## [0.7.0] - 2021-01-26 From 87628774795e239825a92590db1a989438f0f9c2 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Mon, 8 Feb 2021 17:27:17 +0100 Subject: [PATCH 41/62] Update update.rs --- src/gui/update.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gui/update.rs b/src/gui/update.rs index 1646ad8c..f4fa210b 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -656,7 +656,6 @@ pub fn handle_message(ajour: &mut Ajour, message: Message) -> Result Date: Mon, 8 Feb 2021 17:29:45 +0100 Subject: [PATCH 42/62] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5251abb..02101f09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,7 +32,7 @@ and `Removed`. - Multiple error messages are now correctly localized. - Corrected error in flavor detection if Ajour was launched before WoW had ever - been launched. + been launched. ## [0.7.0] - 2021-01-26 From 0fd099cc81a77797e6cb6aa5d37cb0813433ab0d Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Tue, 9 Feb 2021 08:58:35 +0100 Subject: [PATCH 43/62] Update catalog.rs --- src/gui/element/catalog.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui/element/catalog.rs b/src/gui/element/catalog.rs index 3557e539..cd0b54e6 100644 --- a/src/gui/element/catalog.rs +++ b/src/gui/element/catalog.rs @@ -6,7 +6,8 @@ use { }, crate::localization::{localized_string, localized_timeago_formatter}, ajour_core::{ - config::Config, theme::ColorPalette, utility::format_interface_into_game_version, + catalog::Source, config::Config, theme::ColorPalette, + utility::format_interface_into_game_version, }, ajour_widgets::{header, Header, TableRow}, chrono::prelude::*, @@ -278,7 +279,10 @@ pub fn data_row_container<'a, 'b>( .game_versions .iter() .find(|gv| gv.flavor == config.wow.flavor.base_flavor()) - .map(|gv| format_interface_into_game_version(&gv.game_version[..])) + .map(|gv| match addon_data.source { + Source::TownlongYak => format_interface_into_game_version(&gv.game_version[..]), + _ => gv.game_version.clone(), + }) .unwrap_or_else(|| "-".to_owned()); let game_version_text = Text::new(game_version_text).size(DEFAULT_FONT_SIZE); From 1df137628e3e0d9967b38fe564ad06ceaac422cf Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Tue, 9 Feb 2021 09:26:13 +0100 Subject: [PATCH 44/62] fix: spelling --- src/gui/mod.rs | 2 +- src/gui/update.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/mod.rs b/src/gui/mod.rs index e037a5bc..0466ad97 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -1845,7 +1845,7 @@ impl std::fmt::Display for CatalogSource { catalog::Source::Tukui => "Tukui", catalog::Source::WowI => "WowInterface", catalog::Source::TownlongYak => "Townlong-Yak", - catalog::Source::Other => panic!("Unspported catalog source"), + catalog::Source::Other => panic!("Unsupported catalog source"), }, }; write!(f, "{}", s) diff --git a/src/gui/update.rs b/src/gui/update.rs index 78fbe7f9..9c47a6e8 100644 --- a/src/gui/update.rs +++ b/src/gui/update.rs @@ -2134,7 +2134,7 @@ async fn perform_fetch_latest_addon( catalog::Source::Tukui => RepositoryKind::Tukui, catalog::Source::WowI => RepositoryKind::WowI, catalog::Source::TownlongYak => RepositoryKind::TownlongYak, - catalog::Source::Other => panic!("Unspported catalog source"), + catalog::Source::Other => panic!("Unsupported catalog source"), }; RepositoryPackage::from_repo_id(flavor, kind, id)? From bda1b65ceb4850b85bc227193ffb3356c71b89ea Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:45:44 +0100 Subject: [PATCH 45/62] Update cs_CZ.json (POEditor.com) From b693778d20ed786362b58f634c163376c2788f67 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:45:46 +0100 Subject: [PATCH 46/62] Update da_DK.json (POEditor.com) From 45d485792719da1610667421bd90e3803b570093 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:45:47 +0100 Subject: [PATCH 47/62] Update en_US.json (POEditor.com) From 2d1604eb7962dbc39a576e812a56bca2c4162632 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:45:49 +0100 Subject: [PATCH 48/62] Update fr_FR.json (POEditor.com) From c0c019afa7e5e4b582e738fef431d42e336e996f Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:45:50 +0100 Subject: [PATCH 49/62] Update de_DE.json (POEditor.com) From 7bfd7d730a68220e5fc1202ca315d154c2e7eb60 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:45:52 +0100 Subject: [PATCH 50/62] Update hu_HU.json (POEditor.com) From e169a4e909cd47c989e00ab08d1b4ae617369756 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:45:53 +0100 Subject: [PATCH 51/62] Update nb_NO.json (POEditor.com) --- locale/nb_NO.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locale/nb_NO.json b/locale/nb_NO.json index 253bca8c..b63c3af8 100644 --- a/locale/nb_NO.json +++ b/locale/nb_NO.json @@ -104,14 +104,14 @@ "settings-general": "Generelt", "catalog-results": "Resultater: {number}", "error-fetch-changelog": "Kunne ikke hente endringsloggen", - "error-parse-addons": "", + "error-parse-addons": "Gjennomgang av addons feilet", "error-download-addon": "Kunne ikke laste ned Addon", - "error-unpack-addon": "", + "error-unpack-addon": "Utpakking av addon feilet", "error-backup-folders": "Kunne ikke sikkerhetskopiere mapper", "error-update-ajour": "Kunne ikke oppdatere Ajour", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", + "error-remove-cache": "Fjerning av oppføring i mellomlageret feilet", + "error-list-accounts": "Henting av liste over addons feilet", + "error-parse-weakauras": "Gjennomgang av WeakAuras feilet", "error-update-weakauras": "Kunne ikke oppdatere WeakAuras", "categories": "Kategorier", "error-update-ajour-permission": "under oppdatering av Ajour" From 851ad1106be2cae0319948d08ff4b7fcd97d18fa Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:45:55 +0100 Subject: [PATCH 52/62] Update pt_PT.json (POEditor.com) From 6a2d90299d69623182b475fb5e2e29a39103682c Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:45:56 +0100 Subject: [PATCH 53/62] Update ru_RU.json (POEditor.com) From cbc71be39ce19e0c0aef8a3a74357d84ef7140f2 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:45:59 +0100 Subject: [PATCH 54/62] Update sk_SK.json (POEditor.com) From c10f8f9bd668d02d8e3b02d49f9c8b15e633647d Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:46:00 +0100 Subject: [PATCH 55/62] Update es_ES.json (POEditor.com) From e07c17e19e7ce4c09d191f5e7da62dbe15192d20 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:46:02 +0100 Subject: [PATCH 56/62] Update se_SE.json (POEditor.com) From e5a95a799971e230f3e4a599efbe8a0e0d123694 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:46:03 +0100 Subject: [PATCH 57/62] Update tr_TR.json (POEditor.com) --- locale/tr_TR.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/locale/tr_TR.json b/locale/tr_TR.json index 76e7ac57..8b2afbfd 100644 --- a/locale/tr_TR.json +++ b/locale/tr_TR.json @@ -103,16 +103,16 @@ "weakaura-update-queued": "Güncelleme Sırada", "settings-general": "Genel", "catalog-results": "{number} sonuç", - "error-fetch-changelog": "", - "error-parse-addons": "", - "error-download-addon": "", - "error-unpack-addon": "", - "error-backup-folders": "", - "error-update-ajour": "", - "error-remove-cache": "", - "error-list-accounts": "", - "error-parse-weakauras": "", - "error-update-weakauras": "", - "categories": "", - "error-update-ajour-permission": "" + "error-fetch-changelog": "Changelog'a ulaşılamadı", + "error-parse-addons": "Eklenti yüklenemedi", + "error-download-addon": "Eklendi indirilemedi", + "error-unpack-addon": "Eklenti açılamadı", + "error-backup-folders": "Dosyalar yedeklenemedi", + "error-update-ajour": "Ajour güncellenemedi", + "error-remove-cache": "Cache girdisini silinemedi", + "error-list-accounts": "Hesapların listesine ulaşılamadı", + "error-parse-weakauras": "WeakAuras'ı yüklenemedi", + "error-update-weakauras": "WeakAuras güncellenemedi", + "categories": "Kategoriler", + "error-update-ajour-permission": "Ajour'u güncellerken bir izin sorunuyla karşılaşıldı" } \ No newline at end of file From f7a79580edb888235d1a44a5ececf0e6f3a09436 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm Date: Tue, 9 Feb 2021 16:25:38 +0100 Subject: [PATCH 58/62] fix: Townlong-Yak > TownlongYak --- src/gui/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/mod.rs b/src/gui/mod.rs index 0466ad97..f13b59bc 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -1844,7 +1844,7 @@ impl std::fmt::Display for CatalogSource { catalog::Source::Curse => "Curse", catalog::Source::Tukui => "Tukui", catalog::Source::WowI => "WowInterface", - catalog::Source::TownlongYak => "Townlong-Yak", + catalog::Source::TownlongYak => "TownlongYak", catalog::Source::Other => panic!("Unsupported catalog source"), }, }; From 81371f621b4837e90723a23c922a279d6e315272 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sat, 13 Feb 2021 19:17:43 +0100 Subject: [PATCH 59/62] chore: bumped version and changelog --- CHANGELOG.md | 2 ++ Cargo.toml | 8 ++++---- crates/core/Cargo.toml | 2 +- crates/weak_auras/Cargo.toml | 4 ++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02101f09..cb154303 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ and `Removed`. ## [Unreleased] +## [0.7.1] - 2021-02-13 + ### Added - Townlong Yak addons has been added to the Catalog. diff --git a/Cargo.toml b/Cargo.toml index 42124f2b..160c1017 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ajour" description = "A World of Warcraft addon manager" -version = "0.7.1-rc.1" +version = "0.7.1" authors = ["Casper Rogild Storm"] license = "MIT" homepage = "https://github.com/ajour/ajour" @@ -17,9 +17,9 @@ wgpu = ["ajour-widgets/wgpu", "iced/wgpu", "iced/default_system_font"] opengl = ["ajour-widgets/opengl", "iced/glow", "iced/glow_default_system_font"] [dependencies] -ajour-core = { version = "0.7.1-rc.1", path = "crates/core", features=['gui'] } -ajour-weak-auras = { version = "0.7.1-rc.1", path = "crates/weak_auras" } -ajour-widgets = { version = "0.7.1-rc.1", path = "crates/widgets" } +ajour-core = { version = "0.7.1", path = "crates/core", features=['gui'] } +ajour-weak-auras = { version = "0.7.1", path = "crates/weak_auras" } +ajour-widgets = { version = "0.7.1", path = "crates/widgets" } iced = { version = "0.2.0", default-features = false, features = ["debug"] } iced_futures = { version = "0.2", features = ["async-std"] } diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index d54c05f7..fe5d4238 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ajour-core" description = "Core library for Ajour" -version = "0.7.1-rc.1" +version = "0.7.1" authors = ["Casper Rogild Storm"] license = "MIT" homepage = "https://github.com/ajour/ajour" diff --git a/crates/weak_auras/Cargo.toml b/crates/weak_auras/Cargo.toml index f7da2523..276a478c 100644 --- a/crates/weak_auras/Cargo.toml +++ b/crates/weak_auras/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ajour-weak-auras" description = "Weak Auras library for Ajour" -version = "0.7.1-rc.1" +version = "0.7.1" authors = ["Casper Rogild Storm", "tarkah "] license = "MIT" homepage = "https://github.com/ajour/ajour" @@ -17,7 +17,7 @@ name = "cli" required-features = ["cli"] [dependencies] -ajour-core = { version = "0.7.1-rc.1", path = "../core" } +ajour-core = { version = "0.7.1", path = "../core" } async-std = { version = "1.6", features = ["unstable"] } futures = "0.3" From 6e50635d4f22ddcf20ad659641a7ec0c61df20d5 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sat, 13 Feb 2021 19:47:54 +0100 Subject: [PATCH 60/62] Update Cargo.toml --- crates/widgets/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/widgets/Cargo.toml b/crates/widgets/Cargo.toml index 5da2999c..bb6b73d2 100644 --- a/crates/widgets/Cargo.toml +++ b/crates/widgets/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ajour-widgets" description = "Widget library for Ajour" -version = "0.7.1-rc.1" +version = "0.7.1" authors = ["Casper Rogild Storm", "tarkah "] license = "MIT" homepage = "https://github.com/ajour/ajour" From 11df231972d5ed3fbceb39a1a9dd16aaa9295cf4 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sat, 13 Feb 2021 19:48:06 +0100 Subject: [PATCH 61/62] Update Cargo.lock --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9f21ae29..dcea354a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,7 +48,7 @@ dependencies = [ [[package]] name = "ajour" -version = "0.7.1-rc.1" +version = "0.7.1" dependencies = [ "ajour-core", "ajour-weak-auras", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "ajour-core" -version = "0.7.1-rc.1" +version = "0.7.1" dependencies = [ "async-std", "async-trait", @@ -116,7 +116,7 @@ dependencies = [ [[package]] name = "ajour-weak-auras" -version = "0.7.1-rc.1" +version = "0.7.1" dependencies = [ "ajour-core", "async-std", @@ -132,7 +132,7 @@ dependencies = [ [[package]] name = "ajour-widgets" -version = "0.7.1-rc.1" +version = "0.7.1" dependencies = [ "iced_core", "iced_glow", From ecbaf86778778c58a6f909eb8dc76bba37519a05 Mon Sep 17 00:00:00 2001 From: Casper Rogild Storm <2248455+casperstorm@users.noreply.github.com> Date: Sun, 14 Feb 2021 11:17:34 +0100 Subject: [PATCH 62/62] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb154303..d0c2f0a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ and `Removed`. ## [Unreleased] -## [0.7.1] - 2021-02-13 +## [0.7.1] - 2021-02-14 ### Added