From 8ef2ad475f63c27d5cc67ef9a889ec50c1de7352 Mon Sep 17 00:00:00 2001
From: Marcin Wieczorek <115917138+arabinos@users.noreply.github.com>
Date: Sat, 29 Jul 2023 09:03:35 +0200
Subject: [PATCH 01/23] Update pl-PL.xml
---
src/StatisticsAnalysisTool/Languages/pl-PL.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/StatisticsAnalysisTool/Languages/pl-PL.xml b/src/StatisticsAnalysisTool/Languages/pl-PL.xml
index a6ef31da6..a022768c7 100644
--- a/src/StatisticsAnalysisTool/Languages/pl-PL.xml
+++ b/src/StatisticsAnalysisTool/Languages/pl-PL.xml
@@ -770,7 +770,7 @@
Zaktualizuj spells.json wedłóg dni:Utworzono kopię zapasowąUtworzono kopię zapasową
- Ilość kopii zapasowych
+ Jak często ma być wykonywanaWykonaj kopięMaksymalna liczba kopii zapasowychKopia zapasowa
From adfa33a44b798342aabd5ac0873f8ec998d263e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dani=20Tall=C3=B3n?=
Date: Sat, 29 Jul 2023 14:08:50 +0200
Subject: [PATCH 02/23] Update es-ES.xml
---
.../Languages/es-ES.xml | 43 +++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/src/StatisticsAnalysisTool/Languages/es-ES.xml b/src/StatisticsAnalysisTool/Languages/es-ES.xml
index 1d34b98f7..f49b248d4 100644
--- a/src/StatisticsAnalysisTool/Languages/es-ES.xml
+++ b/src/StatisticsAnalysisTool/Languages/es-ES.xml
@@ -739,4 +739,47 @@
DescripciónValorAñadir intercambio
+ Venta manual
+ Compra manual
+ Nunca eliminar
+ Eliminar después de 7 días
+ Eliminar después de 14 días
+ Eliminar después de 30 días
+ Eliminar después de 365 días
+ Seleccionar jugador con mismo nombre en la base de datos
+ Actualizar ahora
+ Si no se muestran las armas correctas en el Medidor de Daño, suele deberse a que los archivos ItemList.json e Items.json no están actualizados. Borra manualmente los archivos de la carpeta de la herramienta y reiníciala, entonces se descargará la última versión de los archivos y todo debería funcionar como de costumbre.
+ Organizador de Grupo
+ Obtener spells.json
+ spells.json no ha podido ser cargado.
+ Obtener world.json
+ world.json no ha podido ser cargado.
+ Actualizar world.json por días:
+ world.json URL de origen
+ Condiciones
+ Descripciones
+ Poder de objeto mínimo
+ Poder de objeto máximo
+ Poder de objeto base mínimo
+ Poder de objeto base máximo
+ Poder de objeto o poder de objeto base entre el rango mínimo y máximo
+ Poder de objeto o poder de objeto base mayor que el máximo
+ Poder de objeto o poder de objeto base menor que el mínimo
+ Jugador no inspeccionado
+ Información de grupo
+ IP media
+ IP base media
+ spells.json URL de origen
+ Actualizar spells.json por días:
+ Copia de seguridad creada
+ Una copia de seguridad ha sido creada
+ Frecuencia de copia de seguridad
+ Hacer copia de seguridad ahora
+ Número máximo de copias de seguridad
+ Copia de seguridad
+ Ventana de objeto
+ Buscar objeto
+ Registro de botín
+ Herramientas
+ Pesca
From 6393d27045db0ddc1b0be49763d15b394754a365 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dani=20Tall=C3=B3n?=
Date: Sat, 29 Jul 2023 14:11:42 +0200
Subject: [PATCH 03/23] Fix translation mistake and delete duplicated entry
---
src/StatisticsAnalysisTool/Languages/es-ES.xml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/StatisticsAnalysisTool/Languages/es-ES.xml b/src/StatisticsAnalysisTool/Languages/es-ES.xml
index f49b248d4..533aa9327 100644
--- a/src/StatisticsAnalysisTool/Languages/es-ES.xml
+++ b/src/StatisticsAnalysisTool/Languages/es-ES.xml
@@ -261,7 +261,7 @@
Sellos realesMartillo de demolición
- Caña de pescar
+ PescaPicoHozCuchillo de despellejar
@@ -781,5 +781,4 @@
Buscar objetoRegistro de botínHerramientas
- Pesca
From c4ab67c281dd00c30857bbfcfe6d226020d5b3a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dani=20Tall=C3=B3n?=
Date: Sat, 29 Jul 2023 14:12:07 +0200
Subject: [PATCH 04/23] Delete duplicated entry (line 781 and 264)
---
src/StatisticsAnalysisTool/Languages/en-US.xml | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/StatisticsAnalysisTool/Languages/en-US.xml b/src/StatisticsAnalysisTool/Languages/en-US.xml
index 71e9ddead..75dc9da26 100644
--- a/src/StatisticsAnalysisTool/Languages/en-US.xml
+++ b/src/StatisticsAnalysisTool/Languages/en-US.xml
@@ -778,5 +778,4 @@
Item searchLoot loggerTools
- Fishing
\ No newline at end of file
From 5e75fa21a728b486e059e16be9d39aa4527593b8 Mon Sep 17 00:00:00 2001
From: Aaron
Date: Sat, 29 Jul 2023 15:00:22 +0200
Subject: [PATCH 05/23] Fixed window minimized mode + icon switch
---
.../Views/MainWindow.xaml | 4 +-
.../Views/MainWindow.xaml.cs | 84 ++++++++-----------
2 files changed, 39 insertions(+), 49 deletions(-)
diff --git a/src/StatisticsAnalysisTool/Views/MainWindow.xaml b/src/StatisticsAnalysisTool/Views/MainWindow.xaml
index e3b18188d..912660148 100644
--- a/src/StatisticsAnalysisTool/Views/MainWindow.xaml
+++ b/src/StatisticsAnalysisTool/Views/MainWindow.xaml
@@ -17,10 +17,10 @@
-
+
-
+
diff --git a/src/StatisticsAnalysisTool/Views/MainWindow.xaml.cs b/src/StatisticsAnalysisTool/Views/MainWindow.xaml.cs
index ec4b2a085..283931f70 100644
--- a/src/StatisticsAnalysisTool/Views/MainWindow.xaml.cs
+++ b/src/StatisticsAnalysisTool/Views/MainWindow.xaml.cs
@@ -6,7 +6,6 @@
using System;
using System.Diagnostics;
using System.Reflection;
-using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
@@ -79,69 +78,60 @@ private void MinimizeButton_Click(object sender, RoutedEventArgs e)
WindowState = WindowState.Minimized;
}
- private async void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
- {
- await Task.Delay(200);
- switch (e.ClickCount)
- {
- case 2 when WindowState == WindowState.Normal:
- SwitchState();
- _isWindowMaximized = true;
- return;
- case 2 when WindowState == WindowState.Maximized:
- SwitchState();
- Utilities.CenterWindowOnScreen(this);
- _isWindowMaximized = false;
- break;
- }
- }
-
- private void MaximizedButton_Click(object sender, RoutedEventArgs e)
+ private void MaximizeButton_Click(object sender, RoutedEventArgs e)
{
if (_isWindowMaximized)
{
- SwitchState();
- Utilities.CenterWindowOnScreen(this);
- _isWindowMaximized = false;
+ RestoreWindow();
}
else
{
- SwitchState();
- _isWindowMaximized = true;
+ MaximizeWindow();
}
}
- private void CopyPartyToClipboard_PreviewMouseDown(object sender, MouseButtonEventArgs e)
+ private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
- var trackingController = ServiceLocator.Resolve();
- trackingController?.EntityController?.CopyPartyToClipboard();
- }
-
- private void Grid_MouseMove(object sender, MouseEventArgs e)
- {
- if (e.LeftButton == MouseButtonState.Pressed)
+ if (e.ClickCount == 2)
{
- if (WindowState == WindowState.Maximized)
+ if (_isWindowMaximized)
{
- SwitchState();
- if (Application.Current.MainWindow != null)
- {
- Application.Current.MainWindow.Top = 3;
- MaximizedButton.Content = 1;
- }
+ RestoreWindow();
+ }
+ else
+ {
+ MaximizeWindow();
}
- DragMove();
}
}
- private void SwitchState()
+ private void MaximizeWindow()
{
- WindowState = WindowState switch
- {
- WindowState.Normal => WindowState.Maximized,
- WindowState.Maximized => WindowState.Normal,
- _ => WindowState
- };
+ WindowState = WindowState.Maximized;
+ _isWindowMaximized = true;
+ var screen = System.Windows.Forms.Screen.FromHandle(new System.Windows.Interop.WindowInteropHelper(this).Handle);
+ MaxHeight = screen.WorkingArea.Height;
+
+ Visibility = Visibility.Hidden;
+ Topmost = true;
+ ResizeMode = ResizeMode.NoResize;
+ Visibility = Visibility.Visible;
+ MaximizedButton.Content = 2;
+ }
+
+ private void RestoreWindow()
+ {
+ WindowState = WindowState.Normal;
+ _isWindowMaximized = false;
+ Topmost = false;
+ ResizeMode = ResizeMode.CanResize;
+ MaximizedButton.Content = 1;
+ }
+
+ private void CopyPartyToClipboard_PreviewMouseDown(object sender, MouseButtonEventArgs e)
+ {
+ var trackingController = ServiceLocator.Resolve();
+ trackingController?.EntityController?.CopyPartyToClipboard();
}
private void BtnTryToLoadItemJsonAgain_Click(object sender, RoutedEventArgs e)
From 2265c92372fb6c93dae5a516913cf9a3bae9689b Mon Sep 17 00:00:00 2001
From: Aaron
Date: Sat, 29 Jul 2023 15:17:25 +0200
Subject: [PATCH 06/23] Fixed item window minimized mode + icon switch
---
.../Views/ItemWindow.xaml | 4 +-
.../Views/ItemWindow.xaml.cs | 59 ++++++++++++++++---
2 files changed, 54 insertions(+), 9 deletions(-)
diff --git a/src/StatisticsAnalysisTool/Views/ItemWindow.xaml b/src/StatisticsAnalysisTool/Views/ItemWindow.xaml
index 53a03b0d4..274cd5260 100644
--- a/src/StatisticsAnalysisTool/Views/ItemWindow.xaml
+++ b/src/StatisticsAnalysisTool/Views/ItemWindow.xaml
@@ -23,7 +23,9 @@
-
+
+
+
diff --git a/src/StatisticsAnalysisTool/Views/ItemWindow.xaml.cs b/src/StatisticsAnalysisTool/Views/ItemWindow.xaml.cs
index e94fcd647..dbc9cac31 100644
--- a/src/StatisticsAnalysisTool/Views/ItemWindow.xaml.cs
+++ b/src/StatisticsAnalysisTool/Views/ItemWindow.xaml.cs
@@ -13,6 +13,8 @@ namespace StatisticsAnalysisTool.Views;
///
public partial class ItemWindow
{
+ private bool _isWindowMaximized;
+
public ItemWindow(Item item)
{
InitializeComponent();
@@ -33,29 +35,70 @@ private void ItemWindow_OnClosing(object sender, CancelEventArgs e)
private void Hotbar_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e?.ChangedButton == MouseButton.Left)
+ {
DragMove();
+ }
}
private void CloseButton_Click(object sender, RoutedEventArgs e)
{
Close();
}
+ private void MinimizeButton_Click(object sender, RoutedEventArgs e)
+ {
+ WindowState = WindowState.Minimized;
+ }
- private void MinimizeButton_Click(object sender, RoutedEventArgs e) => WindowState = WindowState.Minimized;
+ private void MaximizeButton_Click(object sender, RoutedEventArgs e)
+ {
+ if (_isWindowMaximized)
+ {
+ RestoreWindow();
+ }
+ else
+ {
+ MaximizeWindow();
+ }
+ }
private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
- switch (e?.ClickCount)
+ if (e.ClickCount == 2)
{
- case 2 when WindowState == WindowState.Normal:
- WindowState = WindowState.Maximized;
- return;
- case 2 when WindowState == WindowState.Maximized:
- WindowState = WindowState.Normal;
- break;
+ if (_isWindowMaximized)
+ {
+ RestoreWindow();
+ }
+ else
+ {
+ MaximizeWindow();
+ }
}
}
+ private void MaximizeWindow()
+ {
+ WindowState = WindowState.Maximized;
+ _isWindowMaximized = true;
+ var screen = System.Windows.Forms.Screen.FromHandle(new System.Windows.Interop.WindowInteropHelper(this).Handle);
+ MaxHeight = screen.WorkingArea.Height;
+
+ Visibility = Visibility.Hidden;
+ Topmost = true;
+ ResizeMode = ResizeMode.NoResize;
+ Visibility = Visibility.Visible;
+ MaximizedButton.Content = 2;
+ }
+
+ private void RestoreWindow()
+ {
+ WindowState = WindowState.Normal;
+ _isWindowMaximized = false;
+ Topmost = false;
+ ResizeMode = ResizeMode.CanResize;
+ MaximizedButton.Content = 1;
+ }
+
private void RefreshSpin_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var vm = (ItemWindowViewModel)DataContext;
From 61f09b808f34611cbdb5efb9afd24ef70f225ce1 Mon Sep 17 00:00:00 2001
From: Aaron
Date: Sat, 29 Jul 2023 15:21:57 +0200
Subject: [PATCH 07/23] Remove duplicated translation
---
src/StatisticsAnalysisTool/Languages/de-DE.xml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/StatisticsAnalysisTool/Languages/de-DE.xml b/src/StatisticsAnalysisTool/Languages/de-DE.xml
index 5bf037886..250bec278 100644
--- a/src/StatisticsAnalysisTool/Languages/de-DE.xml
+++ b/src/StatisticsAnalysisTool/Languages/de-DE.xml
@@ -261,7 +261,7 @@
Königliches SiegelAbbruchhammer
- Angel
+ AngelnSpitzhackeSichelAbhäutemesser
@@ -778,5 +778,4 @@
Item SucheLoot ProtokollierungWerkzeuge
- Angeln
\ No newline at end of file
From 514d4c702bc656d9a5edd5aad852fbe1730c2656 Mon Sep 17 00:00:00 2001
From: Faeeth <37340968+Faeeth@users.noreply.github.com>
Date: Sun, 30 Jul 2023 20:28:55 +0200
Subject: [PATCH 08/23] Update fr language
---
.../Languages/fr-FR.xml | 280 +++++++++++++++++-
1 file changed, 276 insertions(+), 4 deletions(-)
diff --git a/src/StatisticsAnalysisTool/Languages/fr-FR.xml b/src/StatisticsAnalysisTool/Languages/fr-FR.xml
index 77f6502d4..9a7d656cd 100644
--- a/src/StatisticsAnalysisTool/Languages/fr-FR.xml
+++ b/src/StatisticsAnalysisTool/Languages/fr-FR.xml
@@ -477,9 +477,9 @@
Total des ventes des journauxTotal des ventesGrand total
- Le rappel de sauvegarde de Loot Logger est-il actif ?
- Enregistrer Loot Logger maintenant ?
- Enregistrer Loot Logger
+ Le rappel de sauvegarde de traqueur de butin est-il actif ?
+ Enregistrer le butin maintenant ?
+ Enregistrer le butinTraqueur d'argentTraqueur de renomméeRecherche d'objet
@@ -504,8 +504,280 @@
Gantelets de GuerreEssayez de télécharger item.json à nouveauItem.json ne peut pas être chargé.
-
Suggérer des mises à jour en pré-versionATTENTION! Ces versions sont encore en cours de test
+ Donjon respé
+ Donjon argent
+ Donjon renommée par heure
+ Donjon respé par heure
+ Donjon argent par heure
+ Obtenir le prix
+ Réputation de faction
+ Réputation de faction par heure
+ Points de faction
+ Points de faction par heure
+ Exporter le fichier du traqueur de butin avec le vrai nom de l'objet
+ Force par heure
+ Faveur par heure
+ Meilleurs pillards
+ a été tué par
+ Afficher les victimes
+ Tâche de fond
+ Récupérer ItemList.json
+ Récupérer Items.json
+ Nom du personnage à suivre
+ Ce personnage n'est pas suivi
+ Données des serveurs Albion Online
+ Aujourd'hui
+ Semaine
+ Mois
+ Victimes
+ Victime en solo
+ Morts
+ Puissance moyenne d'objets lors de l'exécution
+ Puissance moyenne d'objets des ennemis tués
+ Puissance moyenne d'objets lors de la mort
+ Acheté
+ Vendu
+ Coût par objet
+ Vendu aujourd'hui
+ Vendu ce mois-ci
+ Vendu cette année
+ Acheté aujourd'hui
+ Acheté ce mois-ci
+ Acheté cette année
+ Total vendu
+ Total acheté
+ Ventes aujourd'hui
+ Ventes ce mois-ci
+ Ventes cette année
+ Ventes total
+ Ventes expirées
+ Buy expired
+ AU
+ Historique de stockage
+ Banque
+ Vendu cette semaine
+ Vendu la semaine dernière
+ Acheté cette semaine
+ Acheté la semaine dernière
+ Profit Net aujourd'hui
+ Profit Net ce mois-ci
+ Profit Net cette année
+ Profit Net total
+ Profit Net cette semaine
+ Profit Net la semaine dernière
+ Supprimer le stockage sélectionné
+ Voulez-vous vraiment supprimer l'espace de stockage sélectionné ?
+ Dons
+ Comment puis-je faire un don ?
+ Les meilleurs dons depuis le début
+ Les meilleurs dons ce mois-ci
+ Très simple, vous écrivez un message à Triky313 en jeu indiquant que vous souhaitez faire un don et vous recevrez un message lorsque vous serez débloqué pour accèder à une île. Ensuite, vous pouvez mettre les articles que vous souhaitez donner dans l'onglet Donation SAT du coffre présent sur l'île. Veuillez également indiquer si le don sera fait de manière anonyme ou à votre nom.
+ Pas encore de don ! :(
+ Pourquoi faire un don ?
+ Les meilleurs dons en argent réel
+ Le projet existe depuis juin 2019. Presque chaque semaine, je consacre +10 heures à ce projet et j'adore ça. C'est pourquoi je n'ai souvent pas le temps de jouer à Albion Online. Alors si vous voulez me faire plaisir et soutenir ce projet, il vous suffit de faire don de quelques objets.
+ Les objets sont convertis en argent
+ Routes avaloniennes
+ Zone noire
+ Zone rouge
+ Zone jaune
+ Zone sans risque
+ Zone inconnue
+ Console de débogage
+ Revenu total
+ Taxe
+ Taxes aujourd'hui
+ Taxes cette semaine
+ Taxes la semaine dernière
+ Taxes ce mois-ci
+ Tax cette année
+ Taxes total
+ Notes
+ Système d'exploitation non pris en charge : des erreurs peuvent survenir.
+ Fermez le logiciel et double-cliquez sur le fichier DownloadItemJsonFilesManually.bat dans le répertoire de l'exécutable.
+ Redémarrez ensuite le logiciel.
+ OU
+ Copier le compteur de dégâts dans le presse-papiers
+ Emplacement
+ Nom du stockage
+ Sélectionner / Tout Désélectionner
+ Coffres pillés
+ Donjons statiques
+ Routes avaloniennes
+ Portes de l'enfer
+ Monde ouvert
+ Les 7 derniers jours
+ Les 30 derniers jours
+ Les 365 derniers jours
+ Vente la plus chère
+ Achat le plus cher
+ Sauvegardes
+ Supprimer la sauvegarde
+ Faites une sauvegarde du compteur de dégats et affichez-le dans l'onglet Sauvegardes
+ Donjons solo aléatoires
+ Donjons de groupe aléatoires
+ Sauvegarde après changement de carte
+ Ignorer les mails avec 0 valeur
+ Vérifier la mise à jour
+ Argent payé pour Respé cette session
+ Argent payé pour Respé par heure
+ Réinitialiser les donjons d'aujourd'hui
+ Voulez-vous vraiment réinitialiser les donjons ?
+ Supprimer et réinitialiser
+ Statistiques de donjon
+ Statistiques des coffres
+ Valeur du marché estimée
+ Dernière mise à jour de la valeur estimée
+ Statistiques des coffres à livre
+ Meilleur objet pillé
+ Valeur totale pillée
+ Filtre
+ Butin en argent
+ Temps de combat
+ Supprimer les donjons sans renommée
+ Êtes-vous sûr de vouloir supprimer les donjons sans renommée ?
+ Poids total des ressources
+ Poids total des journaux
+ poids total de fabrication
+ Poids total de fabrication inachevé
+ Poids total de fabrication fini
+ Taxe du marché
+ Taxe d'entrée du marché
+ Taxe d'entrée
+ Le bonus de fabrication est le bonus de la ville ou de l'hideout où vous fabriquez.
+ Pour trouver le chiffre, vous devez ouvrir la mini-carte et survoler le coin supérieur droit où vous pouvez voir quel bonus cette ville/hideout donne.
+ Dans une ville comme Lymhurst, c'est 118 %. Si la ville donne un bonus à l'objet à fabriquer, c'est 133%. Dans les hideouts, il peut être plus élevé, il peut également y avoir un bonus quotidien qui peut être de 10 % ou 20 %.
+ Les taxes peuvent être trouvées dans le jeu lorsque vous souhaitez vendre un article sur le marché dans les hôtels de ventes.
+ Si vous avez le Premium, vous pouvez laisser les deux valeurs telles quelles. Si vous souhaitez vendre quelque chose manuellement, définissez les deux sur 0. Si vous n'avez pas de Premium, les valeurs sont généralement deux fois plus élevées.
+ Mists
+ Frais de réparation aujourd'hui
+ Frais de réparation les 7 derniers jours
+ Frais de réparation les 30 derniers jours
+ Réinitialiser avant le combat
+ Joueur recherché
+ Joueur local
+ Merci
+ Merci
+ Jouer un son lors de la fermeture du donjon
+ Prix total avec taxes déduites
+ Mettre à jour mobs.json :
+ URL source mobs.json
+ Obtenir mobs.json
+ mobs.json ne peut pas être chargé.
+ Vente instantanée
+ Achat instantané
+ Surveiller les transactions avec le marché
+ Ne jamais supprimer
+ Supprimer après 7 jours
+ Supprimer après 30 jours
+ Supprimer après 60 jours
+ Supprimer après 90 jours
+ Supprimer après 180 jours
+ Supprimer après 365 jours
+ Supprimer les transactions sélectionnées
+ Voulez-vous vraiment supprimer les transactions sélectionnées ?
+ Surveillance des transactions
+ Transactions
+ Afin de reconnaître les nouvelles transactions, chaque message doit être ouvert dans la boîte de réception dans le jeu.
+ Transaction inconnue
+ Mail
+ Supprimer après 14 jours
+ Bonus
+ Premium
+ Récolte activé
+ Cette semaine
+ La semaine dernière
+ Général
+ Ressource la plus récoltée
+ Carte la plus récoltée
+ Ressources totales
+ Total de processus de récolte
+ Quantité de processus de récolte
+ Voulez-vous vraiment supprimer les ressources sélectionnées ?
+ Supprimer les ressources sélectionnées
+ Valeur de la ressource
+ Valeur totale sur le marché
+ Visibilité de l'onglet de navigation
+ Serveur
+ Serveur inconnu
+ Server Ouest
+ Server Est
+ URL du projet de données Albion OUEST
+ URL du projet de données Albion EST
+ Supprimer toutes les sauvegardes
+ Voulez-vous vraiment supprimer toutes les sauvegardes ?
+ Si des éléments sont incorrects, cela peut être dû au fait que les listes des ressources ne sont pas à jour. Les URL vers ces ressources peuvent être ajustées dans les paramètres.
+ Seuls les joueurs qui se trouvent dans la zone autour de vous à environ un écran de plus en dehors de votre champ de vision sont pris en compte pour le traqueur de butin.
+ Définir le serveur manuellement
+ Automatiquement
+ Filtrage réseau
+ Activé
+ Désactivé
+ Achat ajouté
+ Vente ajoutée
+ Ajout d'une transaction inconnu
+ Ajout d'un ordre d'achat
+ Ajout d'un ordre de vente
+ Ajout d'un ordre d'achat expiré
+ Ajout d'un ordre de vente expiré
+ Transaction ajoutées
+ Notifications
+ Pas d'interface d'écoute
+ Filtre de paquets
+ Réinitialiser
+ Commencer le traqueur
+ Arrêter le traqueur
+ Le traqueur du jeu est lancé
+ Le traqueur du jeu est arrêté
+ Statut du traqueur
+ Ajout d'une transaction manuellement
+ Description
+ Valeur
+ Ajouter une transaction
+ Vente manuelle
+ Achat manuel
+ Ne jamais supprimer
+ Supprimer après 7 jours
+ Supprimer après 14 jours
+ Supprimer après 30 jours
+ Supprimer après 365 jours
+ Sélection du joueur avec le même nom dans la base de donnée
+ Mettre à jour maintenant
+ Si les bonnes armes ne sont pas affichées dans le Damage Meter, cela est généralement dû aux fichiers ItemList.json et Items.json obsolètes. Supprimez manuellement les fichiers du dossier du logiciel et redémarrez le, la dernière version des fichiers sera téléchargée et tout devrait fonctionner.
+ Obtenir world.json
+ world.json ne peut pas être chargé.
+ Mettre à jour mobs.json :
+ URL Source de Items.json
+ Groupe
+ Obtenir spells.json
+ spells.json ne peut pas être chargé.
+ Conditions
+ Descriptions
+ Puissance minimale d'objet
+ Puissance maximale d'objet
+ Puissance d'objet de base minimale
+ Puissance d'objet de base maximale
+ Puissance d'objet ou puissance d'objet de base entre le minimum et le maximum
+ Puissance d'objet ou puissance d'objet de base au dessus du maximum
+ Puissance d'objet ou puissance d'objet de base en dessous du maximum
+ Le joueur n'est pas inspecté
+ Informations du groupe
+ IP moyen
+ BIP moyen
+ URL Source de spells.json
+ Mettre à jour spells.json :
+ Sauvegarde créée
+ Une sauvegarde a été créée
+ Intervalle de sauvegarde
+ Sauvegarder maintenant
+ Nombre maximal de sauvegardes
+ Sauvegarde
+ Fenêtre de l'objet
+ Recherche d'objet
+ Enregistreur de butin
+ Outils
+ Pêche
\ No newline at end of file
From 00e780b9f00dba1f3d33a00dd21255701567e4ab Mon Sep 17 00:00:00 2001
From: SeoheeKhang
Date: Mon, 31 Jul 2023 09:56:06 +0900
Subject: [PATCH 09/23] Update ko-KR.xml
Update ko-KR translate file
---
src/StatisticsAnalysisTool/Languages/ko-KR.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/StatisticsAnalysisTool/Languages/ko-KR.xml b/src/StatisticsAnalysisTool/Languages/ko-KR.xml
index 26a087efa..05d9c1259 100644
--- a/src/StatisticsAnalysisTool/Languages/ko-KR.xml
+++ b/src/StatisticsAnalysisTool/Languages/ko-KR.xml
@@ -779,4 +779,5 @@
Item searchLoot loggerTools
+ 낚시
From 25a48d7289cb91630a61289864e679aa9e1dd8fb Mon Sep 17 00:00:00 2001
From: Ewerson
Date: Mon, 31 Jul 2023 16:48:08 -0300
Subject: [PATCH 10/23] Update pt-BR.xml
---
src/StatisticsAnalysisTool/Languages/pt-BR.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/StatisticsAnalysisTool/Languages/pt-BR.xml b/src/StatisticsAnalysisTool/Languages/pt-BR.xml
index 188e49dff..f1791fb84 100644
--- a/src/StatisticsAnalysisTool/Languages/pt-BR.xml
+++ b/src/StatisticsAnalysisTool/Languages/pt-BR.xml
@@ -750,7 +750,7 @@
world.json não pode ser carregado.Atualizar world.json por dias: Url de origem world.json
- Criador de Party
+ Criador de GrupoObter spells.jsonspells.json não pode ser carregado.Condições
@@ -778,4 +778,5 @@
Pesquisa de itensLoot loggerFerramentas
+ Pesca
From ea0bedcd38f3a9cf1c1c85b242503fb52d7db961 Mon Sep 17 00:00:00 2001
From: SeoheeKhang
Date: Tue, 1 Aug 2023 12:26:08 +0900
Subject: [PATCH 11/23] Update ko-KR.xml
delete fishing / item search (Already Exists)
---
src/StatisticsAnalysisTool/Languages/ko-KR.xml | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/StatisticsAnalysisTool/Languages/ko-KR.xml b/src/StatisticsAnalysisTool/Languages/ko-KR.xml
index 05d9c1259..e3a2ce9e7 100644
--- a/src/StatisticsAnalysisTool/Languages/ko-KR.xml
+++ b/src/StatisticsAnalysisTool/Languages/ko-KR.xml
@@ -774,10 +774,8 @@
백업 주기지금 백업최대 백업 개수
- Backup
+ 백업Item window
- Item search
- Loot logger
- Tools
- 낚시
+ 전리품 로그
+ 도구
From fbd855b813e5a2a20dc4cce0827094250a2aa7e1 Mon Sep 17 00:00:00 2001
From: Aaron
Date: Tue, 1 Aug 2023 13:51:36 +0200
Subject: [PATCH 12/23] Remove duplicated translation
---
src/StatisticsAnalysisTool/Languages/de-DE.xml | 1 -
src/StatisticsAnalysisTool/Languages/en-US.xml | 1 -
src/StatisticsAnalysisTool/Languages/fr-FR.xml | 1 -
src/StatisticsAnalysisTool/Languages/ko-KR.xml | 1 -
src/StatisticsAnalysisTool/Languages/pl-PL.xml | 1 -
5 files changed, 5 deletions(-)
diff --git a/src/StatisticsAnalysisTool/Languages/de-DE.xml b/src/StatisticsAnalysisTool/Languages/de-DE.xml
index 250bec278..ba4e8af85 100644
--- a/src/StatisticsAnalysisTool/Languages/de-DE.xml
+++ b/src/StatisticsAnalysisTool/Languages/de-DE.xml
@@ -775,7 +775,6 @@
Anzahl maximaler BackupsBackupItem Fenster
- Item SucheLoot ProtokollierungWerkzeuge
\ No newline at end of file
diff --git a/src/StatisticsAnalysisTool/Languages/en-US.xml b/src/StatisticsAnalysisTool/Languages/en-US.xml
index 75dc9da26..8057b025e 100644
--- a/src/StatisticsAnalysisTool/Languages/en-US.xml
+++ b/src/StatisticsAnalysisTool/Languages/en-US.xml
@@ -775,7 +775,6 @@
Maximum number of backupsBackupItem window
- Item searchLoot loggerTools
\ No newline at end of file
diff --git a/src/StatisticsAnalysisTool/Languages/fr-FR.xml b/src/StatisticsAnalysisTool/Languages/fr-FR.xml
index 9a7d656cd..a6906f5b4 100644
--- a/src/StatisticsAnalysisTool/Languages/fr-FR.xml
+++ b/src/StatisticsAnalysisTool/Languages/fr-FR.xml
@@ -775,7 +775,6 @@
Nombre maximal de sauvegardesSauvegardeFenêtre de l'objet
- Recherche d'objetEnregistreur de butinOutilsPêche
diff --git a/src/StatisticsAnalysisTool/Languages/ko-KR.xml b/src/StatisticsAnalysisTool/Languages/ko-KR.xml
index 26a087efa..4eab76d94 100644
--- a/src/StatisticsAnalysisTool/Languages/ko-KR.xml
+++ b/src/StatisticsAnalysisTool/Languages/ko-KR.xml
@@ -776,7 +776,6 @@
최대 백업 개수BackupItem window
- Item searchLoot loggerTools
diff --git a/src/StatisticsAnalysisTool/Languages/pl-PL.xml b/src/StatisticsAnalysisTool/Languages/pl-PL.xml
index a022768c7..12580db16 100644
--- a/src/StatisticsAnalysisTool/Languages/pl-PL.xml
+++ b/src/StatisticsAnalysisTool/Languages/pl-PL.xml
@@ -775,7 +775,6 @@
Maksymalna liczba kopii zapasowychKopia zapasowaOkno przedmiotów
- Wyszukiwanie przedmiotówDziennik łupówNarzędziaWędkarstwo
From e3a9234d71657b7c9782dd2489d338d99e86ea0a Mon Sep 17 00:00:00 2001
From: Aaron
Date: Tue, 1 Aug 2023 18:24:16 +0200
Subject: [PATCH 13/23] Added AnotherAppToStart
---
src/StatisticsAnalysisTool/App.xaml.cs | 3 +-
.../Common/LanguageController.cs | 27 ++++++
.../Common/UserSettings/SettingsObject.cs | 1 +
.../Common/Utilities.cs | 45 +++++++++-
.../Languages/de-DE.xml | 3 +
.../Languages/en-US.xml | 3 +
.../SettingsWindowTranslation.cs | 1 +
.../Notification/SatNotificationManager.cs | 36 +++++++-
.../UserControls/SettingsControl.xaml | 7 ++
.../ViewModels/MainWindowViewModel.cs | 6 +-
.../ViewModels/SettingsWindowViewModel.cs | 84 +++++++++++++++++++
11 files changed, 210 insertions(+), 6 deletions(-)
diff --git a/src/StatisticsAnalysisTool/App.xaml.cs b/src/StatisticsAnalysisTool/App.xaml.cs
index a69e76d42..fa0d46b15 100644
--- a/src/StatisticsAnalysisTool/App.xaml.cs
+++ b/src/StatisticsAnalysisTool/App.xaml.cs
@@ -9,7 +9,6 @@
using StatisticsAnalysisTool.ViewModels;
using StatisticsAnalysisTool.Views;
using System;
-using System.Diagnostics;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows;
@@ -44,6 +43,8 @@ protected override async void OnStartup(StartupEventArgs e)
var mainWindow = new MainWindow(_mainWindowViewModel);
mainWindow.Show();
_mainWindowViewModel.InitMainWindowData();
+
+ Utilities.AnotherAppToStart(SettingsController.CurrentSettings.AnotherAppToStartPath);
}
private void RegisterServices()
diff --git a/src/StatisticsAnalysisTool/Common/LanguageController.cs b/src/StatisticsAnalysisTool/Common/LanguageController.cs
index cf83c823d..d378f2374 100644
--- a/src/StatisticsAnalysisTool/Common/LanguageController.cs
+++ b/src/StatisticsAnalysisTool/Common/LanguageController.cs
@@ -93,6 +93,33 @@ public static bool InitializeLanguage()
}
}
+ public static string Translation(string key, List placeholders, List replacements)
+ {
+ try
+ {
+ if (Translations.TryGetValue(key, out var value))
+ {
+ if (string.IsNullOrEmpty(value) || placeholders.Count != replacements.Count)
+ {
+ return key;
+ }
+
+ for (int i = 0; i < placeholders.Count; i++)
+ {
+ value = value.Replace("{" + placeholders[i] + "}", replacements[i]);
+ }
+
+ return value;
+ }
+ }
+ catch (ArgumentNullException)
+ {
+ return "TRANSLATION-ERROR";
+ }
+
+ return key;
+ }
+
public static string Translation(string key)
{
try
diff --git a/src/StatisticsAnalysisTool/Common/UserSettings/SettingsObject.cs b/src/StatisticsAnalysisTool/Common/UserSettings/SettingsObject.cs
index 7a9c1b4a5..e450254cd 100644
--- a/src/StatisticsAnalysisTool/Common/UserSettings/SettingsObject.cs
+++ b/src/StatisticsAnalysisTool/Common/UserSettings/SettingsObject.cs
@@ -97,4 +97,5 @@ public class SettingsObject
public double PartyBuilderMaximumItemPower { get; set; } = 900;
public double PartyBuilderMinimalBasicItemPower { get; set; } = 600;
public double PartyBuilderMaximumBasicItemPower { get; set; } = 900;
+ public string AnotherAppToStartPath { get; set; }
}
\ No newline at end of file
diff --git a/src/StatisticsAnalysisTool/Common/Utilities.cs b/src/StatisticsAnalysisTool/Common/Utilities.cs
index 09d16136a..d005e3c74 100644
--- a/src/StatisticsAnalysisTool/Common/Utilities.cs
+++ b/src/StatisticsAnalysisTool/Common/Utilities.cs
@@ -1,6 +1,12 @@
-using System;
+using log4net;
+using StatisticsAnalysisTool.Notification;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
using System.Globalization;
+using System.IO;
using System.Linq;
+using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows;
using System.Windows.Interop;
@@ -9,6 +15,8 @@ namespace StatisticsAnalysisTool.Common;
public static class Utilities
{
+ private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod()?.DeclaringType);
+
public static long GetHighestLength(params Array[] arrays)
{
long highestLength = 0;
@@ -33,7 +41,7 @@ public static void CenterWindowOnScreen(Window window)
window.Left = (screenWidth / 2) - (windowWidth / 2);
window.Top = (screenHeight / 2) - (windowHeight / 2);
}
-
+
public static bool IsWindowOpen(string name = "") where T : Window
{
return string.IsNullOrEmpty(name)
@@ -83,6 +91,39 @@ public static bool IsBlockingTimeExpired(DateTime dateTime, int waitingSeconds)
return difference.Seconds >= waitingSeconds;
}
+ public static void AnotherAppToStart(string path)
+ {
+ var notifyManager = ServiceLocator.Resolve();
+
+ if (string.IsNullOrEmpty(path))
+ {
+ return;
+ }
+
+ try
+ {
+ if (!File.Exists(path))
+ {
+ notifyManager?.ShowErrorAsync(LanguageController.Translation("CANNOT_START_OTHER_APP"),
+ LanguageController.Translation("CAN_NOT_START_APP_WITH_PATH",
+ new List { "path" },
+ new List { path }));
+ return;
+ }
+
+ Process.Start(path);
+ }
+ catch (Exception e)
+ {
+ ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod()?.DeclaringType, e);
+ Log.Error(MethodBase.GetCurrentMethod()?.DeclaringType, e);
+ notifyManager?.ShowErrorAsync(LanguageController.Translation("CANNOT_START_OTHER_APP"),
+ LanguageController.Translation("CAN_NOT_START_APP_WITH_PATH",
+ new List { "path" },
+ new List { path }));
+ }
+ }
+
#region Window Flash
private const uint FlashwStop = 0; //Stop flashing. The system restores the window to its original state.
diff --git a/src/StatisticsAnalysisTool/Languages/de-DE.xml b/src/StatisticsAnalysisTool/Languages/de-DE.xml
index ba4e8af85..33cbc76db 100644
--- a/src/StatisticsAnalysisTool/Languages/de-DE.xml
+++ b/src/StatisticsAnalysisTool/Languages/de-DE.xml
@@ -777,4 +777,7 @@
Item FensterLoot ProtokollierungWerkzeuge
+ Die App mit dem Pfad {path} kann nicht gestartet werden.
+ Eine weitere App zum Starten Pfad
+ Kann andere App nicht starten
\ No newline at end of file
diff --git a/src/StatisticsAnalysisTool/Languages/en-US.xml b/src/StatisticsAnalysisTool/Languages/en-US.xml
index 8057b025e..bf62020b9 100644
--- a/src/StatisticsAnalysisTool/Languages/en-US.xml
+++ b/src/StatisticsAnalysisTool/Languages/en-US.xml
@@ -777,4 +777,7 @@
Item windowLoot loggerTools
+ Can not start App with path: {path}
+ Another app to start path
+ Cannot start other app
\ No newline at end of file
diff --git a/src/StatisticsAnalysisTool/Models/TranslationModel/SettingsWindowTranslation.cs b/src/StatisticsAnalysisTool/Models/TranslationModel/SettingsWindowTranslation.cs
index 3c526b623..bfe409dc4 100644
--- a/src/StatisticsAnalysisTool/Models/TranslationModel/SettingsWindowTranslation.cs
+++ b/src/StatisticsAnalysisTool/Models/TranslationModel/SettingsWindowTranslation.cs
@@ -64,4 +64,5 @@ public class SettingsWindowTranslation
public static string ItemSearch => LanguageController.Translation("ITEM_SEARCH");
public static string LootLogger => LanguageController.Translation("LOOT_LOGGER");
public static string DamageMeter => LanguageController.Translation("DAMAGE_METER");
+ public static string AnotherAppToStartPath => LanguageController.Translation("ANOTHER_APP_TO_START_PATH");
}
\ No newline at end of file
diff --git a/src/StatisticsAnalysisTool/Notification/SatNotificationManager.cs b/src/StatisticsAnalysisTool/Notification/SatNotificationManager.cs
index fd8bb69d2..e8206711e 100644
--- a/src/StatisticsAnalysisTool/Notification/SatNotificationManager.cs
+++ b/src/StatisticsAnalysisTool/Notification/SatNotificationManager.cs
@@ -16,7 +16,7 @@ public SatNotificationManager(NotificationManager notificationManager)
_notificationManager = notificationManager;
#if DEBUG
- for (int i = 0; i < 5; i++)
+ for (int i = 0; i < 1; i++)
{
_ = ShowTestNotificationsAsync();
}
@@ -57,6 +57,40 @@ await Application.Current.Dispatcher.InvokeAsync(() =>
}
}
+ public async Task ShowErrorAsync(string title, string message)
+ {
+ if (!SettingsController.CurrentSettings.IsNotificationTrackingStatusActive
+ || ForegroundText1 == null
+ || BackgroundBlue == null)
+ {
+ return;
+ }
+
+ try
+ {
+ await Application.Current.Dispatcher.InvokeAsync(() =>
+ {
+ var content = new NotificationContent
+ {
+ Title = title,
+ Message = message,
+ Type = NotificationType.Error,
+ TrimType = NotificationTextTrimType.AttachIfMoreRows,
+ RowsCount = 3,
+ CloseOnClick = true,
+ Foreground = ForegroundText1,
+ Background = BackgroundRed
+ };
+
+ _notificationManager.Show(content);
+ });
+ }
+ catch (TaskCanceledException)
+ {
+ // ignore
+ }
+ }
+
public async Task ShowTrackingStatusAsync(string title, string message)
{
if (!SettingsController.CurrentSettings.IsNotificationTrackingStatusActive
diff --git a/src/StatisticsAnalysisTool/UserControls/SettingsControl.xaml b/src/StatisticsAnalysisTool/UserControls/SettingsControl.xaml
index 72c6a767e..1429421c6 100644
--- a/src/StatisticsAnalysisTool/UserControls/SettingsControl.xaml
+++ b/src/StatisticsAnalysisTool/UserControls/SettingsControl.xaml
@@ -132,6 +132,13 @@
+
+
+
+
+
+
+
diff --git a/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs b/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs
index d8b2a067a..43dcc3624 100644
--- a/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs
+++ b/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs
@@ -15,6 +15,8 @@
using StatisticsAnalysisTool.Models.NetworkModel;
using StatisticsAnalysisTool.Models.TranslationModel;
using StatisticsAnalysisTool.Network.Manager;
+using StatisticsAnalysisTool.Notification;
+using StatisticsAnalysisTool.PartyBuilder;
using StatisticsAnalysisTool.Properties;
using StatisticsAnalysisTool.Trade;
using StatisticsAnalysisTool.Views;
@@ -22,6 +24,7 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
+using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
@@ -30,7 +33,6 @@
using System.Windows;
using System.Windows.Data;
using System.Windows.Media;
-using StatisticsAnalysisTool.PartyBuilder;
// ReSharper disable UnusedMember.Global
@@ -510,7 +512,7 @@ public void ExportLootToFile()
}
#endregion
-
+
#region Item View Filters
private void ItemsViewFilter()
diff --git a/src/StatisticsAnalysisTool/ViewModels/SettingsWindowViewModel.cs b/src/StatisticsAnalysisTool/ViewModels/SettingsWindowViewModel.cs
index a8ad99a84..e47c8474e 100644
--- a/src/StatisticsAnalysisTool/ViewModels/SettingsWindowViewModel.cs
+++ b/src/StatisticsAnalysisTool/ViewModels/SettingsWindowViewModel.cs
@@ -12,11 +12,14 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
+using System.Drawing;
using System.Globalization;
+using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Windows;
+using System.Windows.Media.Imaging;
namespace StatisticsAnalysisTool.ViewModels;
@@ -68,6 +71,8 @@ public class SettingsWindowViewModel : INotifyPropertyChanged
private SettingDataInformation _updateSpellsJsonByDaysSelection;
private SettingDataInformation _backupIntervalByDaysSelection;
private SettingDataInformation _maximumNumberOfBackupsSelection;
+ private string _anotherAppToStartPath;
+ private BitmapImage _anotherAppToStartExeIcon;
public SettingsWindowViewModel()
{
@@ -118,6 +123,9 @@ private void InitializeSettings()
InitMaxAmountOfBackups(MaximumNumberOfBackups);
MaximumNumberOfBackupsSelection = MaximumNumberOfBackups.FirstOrDefault(x => x.Value == SettingsController.CurrentSettings.MaximumNumberOfBackups);
+ // Another app to start path
+ AnotherAppToStartPath = SettingsController.CurrentSettings.AnotherAppToStartPath;
+
// Alert sounds
InitAlertSounds();
@@ -145,6 +153,9 @@ private void InitializeSettings()
// Player Selection with same name in db
PlayerSelectionWithSameNameInDb = SettingsController.CurrentSettings.ExactMatchPlayerNamesLineNumber;
+
+ // Another app to start
+ SetIconSourceToAnotherAppToStart();
}
public void SaveSettings()
@@ -156,6 +167,7 @@ public void SaveSettings()
SettingsController.CurrentSettings.SpellsJsonSourceUrl = SpellsJsonSourceUrl;
SettingsController.CurrentSettings.RefreshRate = RefreshRatesSelection.Value;
SettingsController.CurrentSettings.Server = ServerSelection.Value;
+ SettingsController.CurrentSettings.AnotherAppToStartPath = AnotherAppToStartPath;
NetworkManager.SetCurrentServer(ServerSelection.Value >= 2 ? AlbionServer.East : AlbionServer.West, true);
SetPacketFilter();
SettingsController.CurrentSettings.MainTrackingCharacterName = MainTrackingCharacterName;
@@ -184,6 +196,7 @@ public void SaveSettings()
SetAppSettingsAndTranslations();
SetNaviTabVisibilities();
SetNotificationFilter();
+ SetIconSourceToAnotherAppToStart();
}
public void ReloadSettings()
@@ -280,6 +293,57 @@ public void ResetPlayerSelectionWithSameNameInDb()
PlayerSelectionWithSameNameInDb = defaultValue;
}
+ private void SetIconSourceToAnotherAppToStart()
+ {
+ AnotherAppToStartExeIcon = GetExeIcon(SettingsController.CurrentSettings.AnotherAppToStartPath);
+ }
+
+ private static BitmapImage GetExeIcon(string path)
+ {
+ try
+ {
+ if (!File.Exists(path))
+ {
+ return null;
+ }
+
+ Icon appIcon = Icon.ExtractAssociatedIcon(path);
+ Icon highDpiIcon = appIcon;
+ BitmapImage imageResult;
+
+ if (appIcon != null && appIcon.Handle != IntPtr.Zero)
+ {
+ highDpiIcon = Icon.FromHandle(new Icon(appIcon, new System.Drawing.Size(64, 64)).Handle);
+ }
+
+ using (MemoryStream stream = new MemoryStream())
+ {
+ highDpiIcon?.Save(stream);
+
+ stream.Seek(0, SeekOrigin.Begin);
+
+ BitmapImage bitmapImage = new BitmapImage();
+ bitmapImage.BeginInit();
+ bitmapImage.StreamSource = stream;
+ bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
+ bitmapImage.EndInit();
+
+ imageResult = bitmapImage;
+ }
+
+ highDpiIcon?.Dispose();
+ appIcon?.Dispose();
+
+ return imageResult;
+ }
+ catch
+ {
+ // ignore
+ }
+
+ return null;
+ }
+
public struct SettingDataInformation
{
public string Name { get; set; }
@@ -799,6 +863,16 @@ public string SpellsJsonSourceUrl
}
}
+ public string AnotherAppToStartPath
+ {
+ get => _anotherAppToStartPath;
+ set
+ {
+ _anotherAppToStartPath = value;
+ OnPropertyChanged();
+ }
+ }
+
public string WorldJsonSourceUrl
{
get => _worldJsonSourceUrl;
@@ -939,6 +1013,16 @@ public bool IsUpdateMobsJsonNowButtonEnabled
}
}
+ public BitmapImage AnotherAppToStartExeIcon
+ {
+ get => _anotherAppToStartExeIcon;
+ set
+ {
+ _anotherAppToStartExeIcon = value;
+ OnPropertyChanged();
+ }
+ }
+
public string ToolDirectory => AppDomain.CurrentDomain.BaseDirectory;
public event PropertyChangedEventHandler PropertyChanged;
From 0315a12e62b588f428f872521cd50b0c23d4c9f0 Mon Sep 17 00:00:00 2001
From: Aaron
Date: Tue, 1 Aug 2023 18:30:35 +0200
Subject: [PATCH 14/23] Remove duplicated translation
---
src/StatisticsAnalysisTool/Languages/fr-FR.xml | 2 --
src/StatisticsAnalysisTool/Languages/pl-PL.xml | 1 -
2 files changed, 3 deletions(-)
diff --git a/src/StatisticsAnalysisTool/Languages/fr-FR.xml b/src/StatisticsAnalysisTool/Languages/fr-FR.xml
index a6906f5b4..e775a025c 100644
--- a/src/StatisticsAnalysisTool/Languages/fr-FR.xml
+++ b/src/StatisticsAnalysisTool/Languages/fr-FR.xml
@@ -777,6 +777,4 @@
Fenêtre de l'objetEnregistreur de butinOutils
- Pêche
-
\ No newline at end of file
diff --git a/src/StatisticsAnalysisTool/Languages/pl-PL.xml b/src/StatisticsAnalysisTool/Languages/pl-PL.xml
index 12580db16..47dc14a6f 100644
--- a/src/StatisticsAnalysisTool/Languages/pl-PL.xml
+++ b/src/StatisticsAnalysisTool/Languages/pl-PL.xml
@@ -777,5 +777,4 @@
Okno przedmiotówDziennik łupówNarzędzia
- Wędkarstwo
From 123629f90ad4a77874d1624aa58afba2c6055220 Mon Sep 17 00:00:00 2001
From: Marcin Wieczorek <115917138+arabinos@users.noreply.github.com>
Date: Tue, 1 Aug 2023 18:56:09 +0200
Subject: [PATCH 15/23] Update pl-PL.xml
---
src/StatisticsAnalysisTool/Languages/pl-PL.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/StatisticsAnalysisTool/Languages/pl-PL.xml b/src/StatisticsAnalysisTool/Languages/pl-PL.xml
index 47dc14a6f..4cdbd590b 100644
--- a/src/StatisticsAnalysisTool/Languages/pl-PL.xml
+++ b/src/StatisticsAnalysisTool/Languages/pl-PL.xml
@@ -777,4 +777,7 @@
Okno przedmiotówDziennik łupówNarzędzia
+ Nie można uruchomić aplikacji z podaną ścieżką: {path}
+ Inna aplikacja do uruchomienia ze ścieżką
+ Nie można uruchomić innej aplikacji
From d841cfbef5644b8dccd56b189c0cc364f4d4a855 Mon Sep 17 00:00:00 2001
From: Ewerson
Date: Tue, 1 Aug 2023 16:53:05 -0300
Subject: [PATCH 16/23] Update pt-BR.xml
---
src/StatisticsAnalysisTool/Languages/pt-BR.xml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/StatisticsAnalysisTool/Languages/pt-BR.xml b/src/StatisticsAnalysisTool/Languages/pt-BR.xml
index f1791fb84..745ab52a4 100644
--- a/src/StatisticsAnalysisTool/Languages/pt-BR.xml
+++ b/src/StatisticsAnalysisTool/Languages/pt-BR.xml
@@ -778,5 +778,7 @@
Pesquisa de itensLoot loggerFerramentas
- Pesca
+ <Não é possível iniciar o aplicativo com o caminho: {path}
+ Outro aplicativo para iniciar o caminho
+ Não é possível iniciar outro aplicativo
From ca100c28d4efe713661c6f56f343039401c6d299 Mon Sep 17 00:00:00 2001
From: Ewerson
Date: Wed, 2 Aug 2023 11:16:50 -0300
Subject: [PATCH 17/23] Update pt-BR.xml
---
src/StatisticsAnalysisTool/Languages/pt-BR.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/StatisticsAnalysisTool/Languages/pt-BR.xml b/src/StatisticsAnalysisTool/Languages/pt-BR.xml
index 745ab52a4..3986be916 100644
--- a/src/StatisticsAnalysisTool/Languages/pt-BR.xml
+++ b/src/StatisticsAnalysisTool/Languages/pt-BR.xml
@@ -778,7 +778,7 @@
Pesquisa de itensLoot loggerFerramentas
- <Não é possível iniciar o aplicativo com o caminho: {path}
+ Não é possível iniciar o aplicativo com o caminho: {path}Outro aplicativo para iniciar o caminhoNão é possível iniciar outro aplicativo
From 8a0b4c99ce4c693ea41442147f92147f006583c8 Mon Sep 17 00:00:00 2001
From: SeoheeKhang
Date: Thu, 3 Aug 2023 11:42:34 +0900
Subject: [PATCH 18/23] Update ko-KR.xml
Add translate text
---
src/StatisticsAnalysisTool/Languages/ko-KR.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/StatisticsAnalysisTool/Languages/ko-KR.xml b/src/StatisticsAnalysisTool/Languages/ko-KR.xml
index e3a2ce9e7..1d222ea54 100644
--- a/src/StatisticsAnalysisTool/Languages/ko-KR.xml
+++ b/src/StatisticsAnalysisTool/Languages/ko-KR.xml
@@ -778,4 +778,7 @@
Item window전리품 로그도구
+ 해당 경로에 있는 앱을 시작할 수 없습니다 : {path}
+ 프로그램을 시작할 수 있는 다른 경로
+ 다른 경로에 있는 프로그램을 시작할 수 없습니다
From 4dcb52a1e954bfccd2503e9bdd30c252ddf76de7 Mon Sep 17 00:00:00 2001
From: Aaron Schultz
Date: Thu, 3 Aug 2023 09:25:06 +0200
Subject: [PATCH 19/23] Added fishing rod translation
---
src/StatisticsAnalysisTool/Common/CategoryController.cs | 2 +-
src/StatisticsAnalysisTool/Languages/de-DE.xml | 1 +
src/StatisticsAnalysisTool/Languages/en-US.xml | 1 +
src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs | 2 --
4 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/StatisticsAnalysisTool/Common/CategoryController.cs b/src/StatisticsAnalysisTool/Common/CategoryController.cs
index 787256ae9..568ec613e 100644
--- a/src/StatisticsAnalysisTool/Common/CategoryController.cs
+++ b/src/StatisticsAnalysisTool/Common/CategoryController.cs
@@ -395,7 +395,7 @@ public static class CategoryController
#region Tool
{ShopSubCategory.DemolitionHammer, LanguageController.Translation("DEMOLITION_HAMMER")},
- {ShopSubCategory.Fishing, LanguageController.Translation("FISHING")},
+ {ShopSubCategory.Fishing, LanguageController.Translation("FISHING_ROD")},
{ShopSubCategory.Pickaxe, LanguageController.Translation("PICKAXE")},
{ShopSubCategory.Sickle, LanguageController.Translation("SICKLE")},
{ShopSubCategory.SkinningKnife, LanguageController.Translation("SKINNING_KNIFE")},
diff --git a/src/StatisticsAnalysisTool/Languages/de-DE.xml b/src/StatisticsAnalysisTool/Languages/de-DE.xml
index 33cbc76db..9232fe763 100644
--- a/src/StatisticsAnalysisTool/Languages/de-DE.xml
+++ b/src/StatisticsAnalysisTool/Languages/de-DE.xml
@@ -780,4 +780,5 @@
Die App mit dem Pfad {path} kann nicht gestartet werden.Eine weitere App zum Starten PfadKann andere App nicht starten
+ Angel
\ No newline at end of file
diff --git a/src/StatisticsAnalysisTool/Languages/en-US.xml b/src/StatisticsAnalysisTool/Languages/en-US.xml
index bf62020b9..88c971aed 100644
--- a/src/StatisticsAnalysisTool/Languages/en-US.xml
+++ b/src/StatisticsAnalysisTool/Languages/en-US.xml
@@ -780,4 +780,5 @@
Can not start App with path: {path}Another app to start pathCannot start other app
+ Fishing rod
\ No newline at end of file
diff --git a/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs b/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs
index 43dcc3624..3b1105ae5 100644
--- a/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs
+++ b/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs
@@ -15,7 +15,6 @@
using StatisticsAnalysisTool.Models.NetworkModel;
using StatisticsAnalysisTool.Models.TranslationModel;
using StatisticsAnalysisTool.Network.Manager;
-using StatisticsAnalysisTool.Notification;
using StatisticsAnalysisTool.PartyBuilder;
using StatisticsAnalysisTool.Properties;
using StatisticsAnalysisTool.Trade;
@@ -24,7 +23,6 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
-using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
From f561a0cda12d1bcdb7c67667b9457eab100801d4 Mon Sep 17 00:00:00 2001
From: Marcin Wieczorek <115917138+arabinos@users.noreply.github.com>
Date: Thu, 3 Aug 2023 19:46:04 +0200
Subject: [PATCH 20/23] Update pl-PL.xml
---
src/StatisticsAnalysisTool/Languages/pl-PL.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/StatisticsAnalysisTool/Languages/pl-PL.xml b/src/StatisticsAnalysisTool/Languages/pl-PL.xml
index 4cdbd590b..bc82d2c84 100644
--- a/src/StatisticsAnalysisTool/Languages/pl-PL.xml
+++ b/src/StatisticsAnalysisTool/Languages/pl-PL.xml
@@ -780,4 +780,5 @@
Nie można uruchomić aplikacji z podaną ścieżką: {path}Inna aplikacja do uruchomienia ze ścieżkąNie można uruchomić innej aplikacji
+ Wędka
From a0daa8d89f77e307395ae1a801c605335c2d5940 Mon Sep 17 00:00:00 2001
From: Aaron
Date: Thu, 3 Aug 2023 23:36:40 +0200
Subject: [PATCH 21/23] Try to fixed doubled looted items
---
.../Network/Manager/LootController.cs | 23 ++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/StatisticsAnalysisTool/Network/Manager/LootController.cs b/src/StatisticsAnalysisTool/Network/Manager/LootController.cs
index 0ebd0a5b1..77eb59587 100644
--- a/src/StatisticsAnalysisTool/Network/Manager/LootController.cs
+++ b/src/StatisticsAnalysisTool/Network/Manager/LootController.cs
@@ -23,6 +23,7 @@ public class LootController : ILootController
private readonly List _lootLoggerObjects = new();
private ItemContainerObject _currentItemContainer;
private readonly List _discoveredLoot = new();
+ private Loot _lastLootedItem;
private const int MaxLoot = 5000;
@@ -67,6 +68,13 @@ public async Task AddLootAsync(Loot loot)
return;
}
+ if (IsLastLootedItem(loot))
+ {
+ return;
+ }
+
+ _lastLootedItem = loot;
+
var item = ItemController.GetItemByIndex(loot.ItemIndex);
var lootedByUser = _trackingController.EntityController.GetEntity(loot.LootedByName);
var lootedFromUser = _trackingController.EntityController.GetEntity(loot.LootedFromName);
@@ -99,7 +107,7 @@ private async Task RemoveLootIfMoreThanLimitAsync(int limit)
{
return;
}
-
+
var itemsToBeRemoved = (from loot in _lootLoggerObjects orderby loot?.UtcPickupTime select loot).Take(numberOfItemsToBeDeleted);
await foreach (var item in itemsToBeRemoved.ToAsyncEnumerable())
{
@@ -113,6 +121,15 @@ private async Task RemoveLootIfMoreThanLimitAsync(int limit)
}
}
+ private bool IsLastLootedItem(Loot loot)
+ {
+ var lastItem = _lastLootedItem;
+ return lastItem?.ItemIndex == loot?.ItemIndex
+ && lastItem?.Quantity == loot?.Quantity
+ && lastItem?.LootedByName == loot?.LootedByName
+ && lastItem?.LootedFromName == loot?.LootedFromName;
+ }
+
public void ClearLootLogger()
{
_lootLoggerObjects.Clear();
@@ -142,7 +159,7 @@ private static TrackingNotification SetNotificationAsync(string lootedByName, st
return new TrackingNotification(DateTime.Now,
new OtherGrabbedLootNotificationFragment(lootedByName, lootedFromName, lootedByGuild, lootedFromGuild, item, quantity), item.Index);
}
-
+
#region Loot tracking
private readonly ObservableCollection _identifiedBodies = new();
@@ -244,7 +261,7 @@ public Item GetItemFromDiscoveredLoot(long objectId)
var item = _discoveredLoot?.FirstOrDefault(x => x.ObjectId == objectId);
return item?.ItemIndex > -1 ? ItemController.GetItemByIndex(item.ItemIndex) : null;
}
-
+
#endregion
#region Top looters
From b17a1c114f5127b5ae329973864bee5a859c64b1 Mon Sep 17 00:00:00 2001
From: SeoheeKhang
Date: Fri, 4 Aug 2023 09:49:08 +0900
Subject: [PATCH 22/23] Update ko-KR.xml
Add Korean Translation
---
src/StatisticsAnalysisTool/Languages/ko-KR.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/StatisticsAnalysisTool/Languages/ko-KR.xml b/src/StatisticsAnalysisTool/Languages/ko-KR.xml
index 1d222ea54..335f1c381 100644
--- a/src/StatisticsAnalysisTool/Languages/ko-KR.xml
+++ b/src/StatisticsAnalysisTool/Languages/ko-KR.xml
@@ -261,7 +261,7 @@
왕실 인장철거 망치
- 낚시대
+ 낚시대곡갱이낫무두질용 나이프
@@ -781,4 +781,5 @@
해당 경로에 있는 앱을 시작할 수 없습니다 : {path}프로그램을 시작할 수 있는 다른 경로다른 경로에 있는 프로그램을 시작할 수 없습니다
+ 낚시
From 67c37d500d4082ffd8ae9322b13544df423a1854 Mon Sep 17 00:00:00 2001
From: Aaron
Date: Fri, 4 Aug 2023 14:21:03 +0200
Subject: [PATCH 23/23] Added stats drop down menu
---
.../Network/Manager/EntityController.cs | 2 +-
.../ViewModels/MainWindowViewModel.cs | 25 +++++++++
.../Views/MainWindow.xaml | 51 +++++++++++++++++++
.../Views/MainWindow.xaml.cs | 5 ++
4 files changed, 82 insertions(+), 1 deletion(-)
diff --git a/src/StatisticsAnalysisTool/Network/Manager/EntityController.cs b/src/StatisticsAnalysisTool/Network/Manager/EntityController.cs
index 154532588..01fc615f9 100644
--- a/src/StatisticsAnalysisTool/Network/Manager/EntityController.cs
+++ b/src/StatisticsAnalysisTool/Network/Manager/EntityController.cs
@@ -287,7 +287,7 @@ public bool IsEntityInParty(Guid guid)
{
return _knownEntities?.FirstOrDefault(x => x.Key == guid).Value?.IsInParty ?? false;
}
-
+
public void CopyPartyToClipboard()
{
var output = string.Empty;
diff --git a/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs b/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs
index 3b1105ae5..80c658232 100644
--- a/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs
+++ b/src/StatisticsAnalysisTool/ViewModels/MainWindowViewModel.cs
@@ -116,6 +116,7 @@ public class MainWindowViewModel : INotifyPropertyChanged
private Visibility _mapHistoryTabVisibility = Visibility.Visible;
private Visibility _playerInformationTabVisibility = Visibility.Visible;
private Visibility _toolTaskFrontViewVisibility = Visibility.Collapsed;
+ private Visibility _statsDropDownVisibility = Visibility.Collapsed;
private double _toolTaskProgressBarValue;
private string _toolTaskCurrentTaskName;
private ToolTaskBindings _toolTaskBindings = new();
@@ -426,6 +427,20 @@ public void SwitchToolTasksState()
#endregion
+ #region Stats drop down
+
+ public void SwitchStatsDropDownState()
+ {
+ StatsDropDownVisibility = StatsDropDownVisibility switch
+ {
+ Visibility.Collapsed => Visibility.Visible,
+ Visibility.Visible => Visibility.Collapsed,
+ _ => StatsDropDownVisibility
+ };
+ }
+
+ #endregion
+
#region Save loot logger
public void SaveLootLogger()
@@ -1236,6 +1251,16 @@ public Visibility ToolTasksVisibility
}
}
+ public Visibility StatsDropDownVisibility
+ {
+ get => _statsDropDownVisibility;
+ set
+ {
+ _statsDropDownVisibility = value;
+ OnPropertyChanged();
+ }
+ }
+
public Visibility UnsupportedOsVisibility
{
get => _unsupportedOsVisibility;
diff --git a/src/StatisticsAnalysisTool/Views/MainWindow.xaml b/src/StatisticsAnalysisTool/Views/MainWindow.xaml
index 912660148..ae6af1bec 100644
--- a/src/StatisticsAnalysisTool/Views/MainWindow.xaml
+++ b/src/StatisticsAnalysisTool/Views/MainWindow.xaml
@@ -7,6 +7,7 @@
xmlns:userControls="clr-namespace:StatisticsAnalysisTool.UserControls"
xmlns:viewModels="clr-namespace:StatisticsAnalysisTool.ViewModels"
xmlns:vwp="clr-namespace:WpfToolkit.Controls;assembly=VirtualizingWrapPanel"
+ xmlns:glob="clr-namespace:System.Globalization;assembly=System.Runtime"
mc:Ignorable="d"
d:DesignHeight="650" d:DesignWidth="1000"
Title="AlbionOnline - StatisticsAnalysisTool"
@@ -114,6 +115,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+