thunder-storm
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo zusammen, mein Wunsch und Hobby ist es, programmieren zu lernen. Meine ersten Gehversuche erfolgten bereits in den 90er-Jahren mit QBASIC unter DOS und VisualBasic unter Windows; ich hatte viel Spaß daran, die ersten eigenen kleinen Programme zu schreiben. Über die Jahre habe ich in diverse Programmiersprachen und deren Dialekte hinein geschnuppert, neben C/C++ sagt mir (Free-) Pascal am meisten zu, insbesondere in Verbindung mit der IDE Lazarus, dessen Plattformunabhängigkeit mir sehr gefällt und die ich zu schätzen gelernt habe. Als erstes "größeres Projekt" ist daraus mein "WoW-Addon-Updater" entstanden, welchen ich an dieser Stelle gerne vorstellen möchte. Das Projekt ist auf GitHub zu finden, dort existiert auch eine Seite mit Screenshots und Binarys zum Download: http://arndtb.github.io/WoW-Addon-Updater
WoW-Addon-Updater 1.0 (Vivienna) Copyright (C) <2016> <Arndt Braier> <dev@braier.net> Der WoW-Addon-Updater dient zur Installation und Aktualisierung von Interface-Erweiterungen (= Addons) des MMORPGs World of Warcraft. Dieses Programm dient als Alternative zur Applikation "Curse Client", welche derzeit nur unter Microsoft Windows zur Verfügung steht. Die Idee entstand als Hobby aus dem Wunsch heraus, eine plattformunabhängige grafische Lösung zur Aktualisierung eines Addon-Bestandes zu entwickeln, welche unter Microsoft Windows, GNU/Linux und Mac OS X lauffähig ist. Das Resultat wurde unter den 64 Bit-Versionen von Windows 7, Ubuntu 14.04 (LTS) "Trusty Tahr", Kubuntu 15.10 "Wily Werewolf", Arch Linux und Mac OS X El Capitan 10.11 erfolgreich getestet. Das Programm unterstützt derzeit zwei Sprachen: Deutsch und Englisch. Der Addon-Bestand wird in einer tabellarischen Übersicht verwaltet und in einer XML-basierten Textdatei neben den individuellen Einstellungen des Programms gespeichert. Von der Addon-Datenbank werden automatisch Backups erzeugt, um im Fehlerfall eine spätere Wiederherstellung zu ermöglichen. Addon-Einträge können komfortabel hinzugefügt und entfernt werden. Bei der Überprüfung auf neue Versionen werden die neuen oder geänderten Versionen farblich hervorgehoben. Diese können im Anschluß installiert bzw. aktualisiert werden, einzelne Addons können zuvor per Selektion aus- oder abgewählt werden. Der Fortschritt einzelner Programmoperationen wird mittels einer Statuszeile angezeigt. Ich hoffe, das Ihnen das Programm gefällt und Sie dieses nützlich finden. Für Ihre Vorschläge, Lob und Kritik sowie jeglicher Art von Feedback bin ich stets offen, bitte schreiben Sie mir einfach eine Email unter <dev@braier.net> Dieses Programm wurde in FreePascal 2.6.4 (http://www.freepascal.org) mit Unterstützung der Entwicklungsumgebung Lazarus 1.4.4 (http://www.lazarus-ide.org/) geschrieben und verwendet das Package "Internet Tools" (http://www.benibela.de/sources_en.html#internettools) von Benito van der Zander. Das Programm WoW-Addon-Updater ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version. Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License. Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, siehe <http://www.gnu.org/licenses/>. Curse Client und curse.com sind Warenzeichen von Curse Inc. World of Warcraft, Warcraft und Blizzard Entertainment sind Marken oder eingetragene Marken von Blizzard Entertainment, Inc. in den USA und/oder in anderen Ländern.
Vielleicht habt Ihr Lust, Euch das Ganze mal anzuschauen - über Feedback würde ich mich freuen ☺ Viele Grüße Arndt
|
Juergen.K
Anmeldungsdatum: 29. Dezember 2009
Beiträge: 14
|
Hallo Arndt, zuerst einmal muss ich sagen, dass das Programm echt klasse aussieht. Natürlich habe ich das Programm schon etwas getestet und mir sind dabei zwei Dinge aufgefallen. Der erste ist rein kosmetischer Art, jedoch der zweite hat es etwas "in sich". Getestet jedoch nur unter Linux. 1) Es wäre toll, wenn du den acht SpeedButtons noch einen hint geben könntest, also einen kleinen Hilfetext (z. B. "speichern" usw). 2) Folgendes Szenario: /dev/sda1 als / und /dev/sdb1 als /home/juergen eingebunden. Aus verschiedene Gründen liegt alles was mit wine zu zun hat unter /opt/wine auf sda1. Der AppPath wird mit dem Updater auf: AppDataPath=/opt/wine/World of Warcraft/Interface/AddOns eingestellt. Ab dem Verzeichnis wine unter /opt ist juergen der Eigentümer hat hat selbstverständlich die entsprechenden Schreib.- und Leserechte. Wenn ich nun ein neues Addon in das Programm hinzufüge wird es heruntergeladen und das Zip-File wird unter ~/.config/WoW-Addon-Updater/archive gespeichert. Im Ordner ~/.config/WoW-Addon-Updater/download wird das Zip-File entpackt und bleibt dort liegen. Es wird also nicht in den AddOn Pfad des WoW-Ordners verschoben. Befindet sich der AddOn Ordner auf der selben Festplatte (also auf /dev/sdb1) scheint es zu funktionieren. Testweise habe ich dort einen Ordner angelegt (/home/juergen/Test/World of Warcraft/Interface/Addons) und AppDataPath dorthingehend angepasst. In diesem Falle funktioniert die Installation des Addons. Unter ~/.config/WoW-Addon-Updater/archive liegt das Zip-File und der Ordner download ist leer. Ich hoffe, dass ich Dich jetzt nicht zu viel "geschockt" habe... Gruß Jürgen
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo Jürgen, ich freue mich, das Dir das Programm gefällt 👍 und bedanke mich für Deine detaillierte Fehlerbeschreibung. Diese hat mir sehr geholfen, das Problem einzugrenzen - gerade Dein Hinweis mit den unterschiedlichen Festplatten/Partitionen war dabei ausschlaggebend. Nach dem Download und Entpacken des entsprechenden Addons verschiebe ich die entsprechenden Verzeichnisse mittels "RenameFile" in den Addon-Ordner. In der FreePascal-Dokumentation bin ich soeben fündig geworden:
Remark: The implementation of RenameFile relies on the undelying OS's support for renaming/moving a file. Whether or not a file can be renamed accros disks or partitions depends entirely on the OS. On unix-like OS-es, the rename function will fail when used accross partitions. On Windows, it will work.
Das erklärt die Problematik - ich werde die Routine entsprechend anpassen, um diesen Fehler zu beheben. Hierbei erhalten die Button-Bars auch den entsprechenden Hilfetext (den hab ich glatt vergessen) 😳 Viele Grüße & danke nochmal Arndt
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo nochmal, ich konnte das Problem in einer virtuellen Maschine eindeutig reproduzieren und habe die Routine angepasst - nun sollte (hoffentlich) alles einwandfrei laufen. ☺ Die Toolbar-Buttons zeigen nun auch einen Hilfetext als Hint an. Die neue Version 1.0.1 ist ab sofort als Source-Code sowie Binarys auf GitHub unter http://arndtb.github.io/WoW-Addon-Updater zu finden. WoW-Addon-Updater 1.0.1 (Vivienna)
Copyright (C) <2016> <Arndt Braier> <dev@braier.net>
1.0.1: Feb, 25th 2016
Install/Update routine fixed to work successfully across partitions on
unix-like operating systems. Add hints for buttonbar. Add Version Info
Section in Info dialog. @Jürgen: Vielen Dank nochmal für Dein Feedback. Ich würde mich freuen, wenn Du Dir auch die neue Version nochmal anschauen und mir ein kurzes Feedback geben könntest? Viele Grüße Arndt
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo zusammen, bei der Entwicklung meines „WoW-Addon-Updater“, des für mich ersten „größeren Projektes“ unter FreePascal und Lazarus, bin ich auf diesen Thread gestoßen und würde Euch gerne auch meine Entwicklung an dieser Stelle vorstellen. Ich habe im Forum „Projekte“ einen Thread hierzu erstellt, hier findet Ihr auch alle Details. https://forum.ubuntuusers.de/topic/vorstellung-wow-addon-updater/ Vielleicht habt Ihr Lust, Euch das Ganze auch mal anzuschauen - über Feedback würde ich mich freuen ☺ Viele Grüße Arndt Moderiert von jug: Beitrag von hier abgetrennt. Bitte eröffne nur ein Thema und hänge dich nicht an fremde Themen dran. Solche Cross-Postings sind sehr ungerne gesehen.
|
Juergen.K
Anmeldungsdatum: 29. Dezember 2009
Beiträge: 14
|
Hallo jug, ich fand die Idee mit dem Cross-Posting in diesem Falle ganz hilfreich. Der alte Thread stand bei mir auf der Watch-Liste, ohne den Beitrag von Arndt, hätte ich seine Neuentwicklung übersehen ! Gruß
Jürgen
|
Juergen.K
Anmeldungsdatum: 29. Dezember 2009
Beiträge: 14
|
Hallo Arndt, bei der neuen Version werden die Addons unter Linux und festplattenübergreifend richtig installiert. Da ich heute etwas Zeit hatte, habe ich das Programm noch etwas mehr getestet. Auf Anhieb sind mir noch drei Dinge aufgefallen. 1) Die Variable LangSelAddonDirDialog aus ulanguage.pas → Unter anderem dort verbindest Du die einzelnen Zeilen an bestimmten Stellen mit #13#10 (<cr><lf> - für nicht Programmierer). Der Dialog zum Browsen zum WoW-Addon Verzeichnis wird unter Windows richtig umgebrochen, unter Linux (Gnome Desktop) sieht es nicht so gut aus. Anscheinend beherrscht die lcl oder die darunter liegenden Libs keinen Zeilenumbruch im Titel des Dialoges. Störend ist mir die #13#10 Geschichte nur an dieser Stelle aufgefallen, auch wenn man bedenkt dass unter Linux ein LineFeed reichen würde. Du kannst Dir ja mal den Scrennshot ansehen, quick und dirty würde ich dies via {$ifndef linux} ... {$endif} lösen. Ein passendes diff, zum Anregen deiner grauen Zellen, ist beigefügt. 😛 2) Hauptmenü → Hilfe → Kurzanleitung. Du realisierst diese mit MessageDlg. Unter Windows wird der Hilfetext an den von dir vorgesehen Stellen umgebrochen, unter Linux nicht. Der Dialog scheint eine feste Breite von ca. 64 Zeichen zu haben (grob geschätzt, nicht gezählt) und dann bricht die lcl den Text um. Daraus resultiert eine MessageDlg die vom oberen Bildschirmrand bis zum unteren reicht und daher kaum zu gebrauchen ist. Löse es doch wie in uinfo.pas, eine Form mit einem T-Memo und klatsch den Text da rein. Darin kann man scrollen und die Umbrüche passt das Memo automatisch an. Screenshot auch anbei. 3) Bei der Eingabe einer neuen URL fragst Du bei der Funktion InputQuery in umain.pas den Rückgabewert nicht ab. Daraus resultiert, dass man den Dialog mit dem Cancel-Button nicht abbrechen kann. Eine nette Endlosschleife, zumindest bis man eine URL eingibt. Wieder einmal quick+dirty sieh Dir bitte das diff an, so kann man den Dialog noch abbrechen. Gruß
Jügen
- InputQuery_cancel.diff (2.6 KiB)
- Download InputQuery_cancel.diff
- LangSelAddonDirDialog.diff (966 Bytes)
- Download LangSelAddonDirDialog.diff
- Bilder
|
Juergen.K
Anmeldungsdatum: 29. Dezember 2009
Beiträge: 14
|
Hi Arndt, ich habe gestern noch etwas allgemeines vergessen. Wenn Du in deinem Programm mehrere Sprachen anbieten willst, solltest Du dich vielleicht einmal mit der i18n-Thematik auseinandersetzen. http://wiki.freepascal.org/Step-by-step_instructions_for_creating_multi-language_applications Auf diese Art bekommst Du die string Resourcen aus dem Quellcode und die Übersetzungen können einfacher gepflegt werden. Gruß
Jürgen
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo Jürgen, vielen Dank für Deine Mühe und die guten Anregungen 👍 Ich nehme diese gerne in das Programm auf; es kann nur ein wenig dauern, da ich noch nicht weiß, inwieweit ich in den nächsten Tagen dazu kommen werde. Danke auch für den Hinweis mit der i18n-Thematik, das war mir nicht bekannt. Die Idee mit der Lokalisierung kam mir im Laufe der Entwicklung, als ich entschied, das Ganze unter der GPL zu veröffentlichen - ein Großteil der Bezeichnungen war zu diesem Zeitpunkt bereits in deutscher Sprache in Form von String Variablen hinterlegt. ☺ Ich schaue mir das auf jeden Fall auch mal genauer an. Viele Grüße Arndt
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo zusammen, ich habe ein neues Update zu meinem WoW-Addon-Updater fertiggestellt: http://arndtb.github.io/WoW-Addon-Updater/ Hier sind auch Versionsinformationen sowie Screenshots zu finden. Aktuelle Version: 1.1.0 (Vivienna) 1.1.0: 18. Mai 2016
NEU: Grafische Überarbeitung des Programms mit moderner Buttonbar. Die
Anzeige des aktuellen Status der Überprüfung auf neue Versionen sowie
der Aktualisierung erfolgt nun besser ersichtlich in einem neuen,
gnomischen Status-Fenster. Hilfe-Dialog mit Kurzanleitung und Legende
überarbeitet.
Neuimplementierung und Optimierung der Funktionen "Addons auf neue
Versionen überprüfen" und "Ausgewählte Addons installieren/aktualisieren"
incl. der Nutzung von Threads.
Aufteilung des Programmcodes auf Include-Dateien zur Verbesserung der
Übersichtlichkeit.
KORREKTUREN: Funktion "Neues Addon der Liste hinzufügen" um Abbruch-
kritierium erweitert, um Abbrechen des URL-Eingabefensters zu
ermöglichen. Beschreibungen überarbeitet und unnötige Zeilenumbrüche
entfernt.
1.1.0: May, 18th 2016
NEW: Graphical rework with a modern buttonbar. Status and progress of
Check- and Update-Operations will now shown better in a new, gnome-like
Status-Window. Reworked Help-dialogue with short-description and
explanation. Functions "Check for new Addon-Versions" and "Install/
update selected Addons" new implemented and optimized, incl. use of
threads. Relocated source code to include-files to improve readability.
FIXED: Possibility to cancel URL-input-box in function "Create a new
Addon-Entry on List" implemented. Descriptions improved, unused word-
wraps removed. @Jürgen: Ich habe Deine Anregungen implementiert, vielen Dank nochmal an dieser Stelle. In die i18n-Thematik muss ich mich erst noch ein wenig einarbeiten - hier habe ich noch das eine oder andere Verständnisproblem. ☺ Über Euer Feedback würde ich mich weiterhin sehr freuen ☺ Viele Grüße Arndt
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Noch ein kleiner Nachtrag von meiner Seite für diejenigen, welche den Quellcode selbst kompilieren möchten. Bitte nutzt hierzu Lazarus in der Version 1.4.4 mit FPC 2.6.4. In der aktuellen Lazarus Version 1.6 mit FPC 3.0 existiert ein Bug, welcher die Funktion CopyDirTree betrifft. Diese wird im WoW-Addon-Updater in der Unit AddonUtils, Funktion UpdateAddon verwendet und führt dazu, das die zuvor entpackten Addon-Verzeichnisse nicht kopiert werden - das Zielverzeichnis bleibt schlichtweg leer. Siehe hierzu auch http://bugs.freepascal.org/view.php?id=0029695):
r51675 LazUtils: Revert r51038. Fixes bug in CopyDirTree. Issue #0029695
Ein Fix wurde für Lazarus 1.6.2 implementiert - wer die Version 1.4.4 nicht nutzen und/oder nicht warten möchte, kann auch eine gefixte Lazarus-Entwicklerversion aus dem SVN/trunk beziehen, ich verlinke mal auf die 1.6 Release Notes: http://forum.lazarus.freepascal.org/index.php/topic,31575.0.html?PHPSESSID=ecad682d0178087281b7a056c157af31.
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo zusammen, ich habe ein neues Update zu meinem WoW-Addon-Updater fertiggestellt: http://arndtb.github.io/WoW-Addon-Updater/ Hier sind auch Versionsinformationen sowie Screenshots zu finden. 1.2.0: 28. Oktober 2016
Funktion "Addons auf neue Versionen überprüfen" zeigt nun die
Restlaufzeit in der Statusanzeige. Animationen können nun über
einen neuen Menüeintrag an- und ausgeschaltet werden (#1/GitHub).
Umstellung der Lokalisierung auf i18n.
FIX: Menüeintrag und Button zur Addon-Aktualisierung sind nun
deaktiviert, bis eine Prüfung auf neue Versionen durchgeführt
wurde. FIX: Nach dem Hinzufügen eines neuen Addons kann dieses
ohne zusätzliche Update-Überprüfung installiert werden. FIX:
Anpassung und Erweiterung der Routinen zur Installation/
Aktualisierung von ElvUi aufgrund Änderung der
Verzeichniseinträge. Über Euer Feedback würde ich mich weiterhin sehr freuen ☺ Viele Grüße Arndt
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo zusammen, ich habe ein neues Update zu meinem WoW-Addon-Updater fertiggestellt: http://arndtb.github.io/WoW-Addon-Updater/ Hier sind auch Versionsinformationen sowie Screenshots zu finden. 1.3.0: 05. Dezember 2016
FIX: Problem mit URL-Kodierung (siehe RFC3986) in Funktion
DownloadFile behoben (#2/GitHub).
Neue Funktion: Ereignisprotokoll implementiert (zu finden
innerhalb des Info-Fensters, Tab Ereignisprotokoll). Über Euer Feedback würde ich mich weiterhin sehr freuen ☺ Viele Grüße Arndt
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo zusammen, ich habe ein neues Update (2.0) zu meinem WoW-Addon-Updater fertiggestellt: http://arndtb.github.io/WoW-Addon-Updater/ Hier sind auch Versionsinformationen sowie Screenshots zu finden. Neben vielen tollen Neuerungen gibt es diesmal auch ein Debian/Ubuntu-Paket zum Download 😉 Die Installation erfolgt einfach via | sudo dpkg -i wau_2.0.0-1_amd64.deb
|
Neuerungen: 2.0.0: 18. April 2017
NEU: Integration einer Filtermöglichkeit, um auch bei größeren Addon-
Listen eine bessere Übersicht zu behalten.
NEU: Integration eines Kontextmenüs (rechte Maustaste). Addons können
nun einzeln überprüft, aktualisiert und gelöscht werden. Zusätzlich
stehen weitere nützliche Funktionen zur Verfügung, wie die Anzeige
einer Änderungsübersicht, der Aufruf der Addon-Webseite oder die Web-
Suche in einem externen Browser.
NEU: Zur Verbesserung der Übersicht in der Addon-Liste wird nun jede
zweite Zeile mit einem hellen Grau hinterlegt.
NEU: Nicht ausgewählte (inaktive) Addons sind nun leichter zu erkennen,
diese werden grau und kursiv gekennzeichnet.
Umstellung auf Free Pascal 3.0.2 und Lazarus 1.6.4.
Implementierung von weiteren Korrekturen und Verbesserungen. Über Euer Feedback würde ich mich weiterhin sehr freuen ☺ Viele Grüße Arndt
|
thom_raindog
Anmeldungsdatum: 20. Mai 2005
Beiträge: Zähle...
|
Ich hab mir das Ding eben mal installiert, sieht gut aus (ja, auch optisch) und scheint zu funktionieren.
Eine kleine Stolperfalle für Anfänger: Nachdem ich meine 2 gewünschten Addons hinzugefügt hatte, standen sie erstmal auf "Gelb", was mir so nicht ins Auge fiel. Ich hatte erwartet, die wären jetzt installiert. Nachdem das erkennbar dann doch nicht der Fall war, hatte ich über die "Hilfe" begriffen, dass gelb heißt: Kann (hier: Muss) aktualisiert werden. Getan, und prompt waren die Addons da. Da würde ich mir wünschen, nach dem Hinzufügen würde auch gleich installiert. Ansonsten bisher top ☺
|