Erweiterung media.windows-media-foundation.enabled

  • Ich hatte auch erst "icon"gelassen und getestet. Erst nachdem dies auch nicht ging änderte ich es auch innerhalb von actionbutton.ActionButton. Was ist denn jetzt noch falsch?

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)


  • [attachment=0]qmc2.png[/attachment]

  • Das erste ist erst einmal das hier (2x im onClick-Handler):

    Code
    this.icon : {
      '18' : data.url('disabled-18.png'),
    }

    Das muss jeweils so heißen:

    Code
    this.icon = {
      '18' : data.url('disabled-18.png')
    }

    Es geht um das "=" statt ":". Das Komma am Ende tut nicht weh, aber ich hab's entfernt, weil es für den letzten Eintrag obsolet ist. Du wirst außerdem auch die anderen Icons austauschen wollen und nicht nur eines der vier Icons.

    Der nächste Fehler ist Folgendes:

    Code
    icon : {
      '18' : data.url(icon18),
      '32' : data.url(icon32),
      '36' : data.url(icon36),
      '64' : data.url(icon64)
    }

    Das hast du von mir genau so bekommen, war aber nicht ganz korrekt. Es müsste so heißen:

    Code
    icon : {
      '18' : data.url(this.icon18),
      '32' : data.url(this.icon32),
      '36' : data.url(this.icon36),
      '64' : data.url(this.icon64)
    }

    Probier diese Änderungen mal, das sollte bereits ausreichen, damit das Add-on funktioniert. Und wenn du schon dabei bist:

    Code
    if (appInfo.OS == 'Linux') {
      config1 = 'media.gstreamer.enabled';
      config2 = 'media.gstreamer.enabled';
    } else if (appInfo.OS == 'Darwin') {
      config1 = 'media.apple.mp3.enabled';
      config2 = 'media.apple.mp3.enabled';
    } else {
      config1 = 'media.windows-media-foundation.enabled';
      config2 = 'media.directshow.enabled';
    }

    config1 und config2 wurden nie deklariert, das generiert dir daher eine Warnung, auch wenn es trotzdem funktioniert. Füge also nach

    Code
    let appInfo = Cu.import('resource://gre/modules/Services.jsm').Services.appinfo;

    folgende Zeile ein:

    Code
    let config1, config2;

    Ebenfalls nicht zwingend erforderlich, aber besserer Stil:

    Code
    exports.onUnload = function (reason) {
      // Code…
    }

    Ergänze hier am Ende noch ein Semikolon:

    Code
    exports.onUnload = function (reason) {
      // Code…
    };
  • Danke. gesagt-getan. Funktioniert aber trotzdem nicht :|

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

    Einmal editiert, zuletzt von Zitronella (24. August 2015 um 14:06)

  • Klappt doch. Oder was geht nicht?

    Das Semikolon in der vorletzten Zeile ist übrigens falsch, das gehört in die letzte Zeile hinter die Klammer. Das ist aber kein Fehler der Art, der etwas an der Funktionsweise verändert.

    In meinem Screenshot gehört das grüne Symbol zu deinem Add-on.

  • hm. versteh ich nicht. Ich hab das nochmal gepackt und statt .xpi als .zip hier mal angehängt. Bei mir wird nix angezeigt wenn ich die Erweiterung installiere. :(

    Edit: Semikolon habe ich nun in die letzte Zeile geschrieben. Ich habe mit Firefox 40.0.2 getestet (frisches Profil)

  • Ich hab meinen Beitrag, der an dieser Stelle stand, nochmal gelöscht, hatte deinen Beitrag falsch verstanden. Mein Test war mit Firefox 38. Ich kann momentan nicht auf Firefox 40 aktualisieren, da ich die alte Version noch ein paar Tage für Tests benötige, und produktiv nutz ich ja eh die Nightly-Version. Ich kann das Problem mit deiner Version vom Add-on bestätigen, da ist nichts sichtbar, ich schau mal…

  • gemacht. Es ist lediglich die Datei harness-options.json eine andere. Jetzt funktioniert es. ABER... erstmals sieht man bei der Installation nicht gleich das Icon, sondern nur einen weißen Balken. Erst wenn ich drauf klicke wird das Icon angezeigt. Die Funktionalität ist nun vorhanden. Allerdings wenn ich auf "Anpassen" gehe, dann verschwindet wieder das Icon. Ich kann es zwar mit der Maus-Hand "greifen" und verschieben, aber es gibt eben kein Icon. Woran kann das nun wieder liegen?

    Edit ich hänge mal die funktionierende xpi als zip hier an.

  • So, ich hab jetzt heute die Schnauze voll gehabt und das ganze Ding komplett neu zusammen gebastelt. Dabei habe ich mir Code von anderen Addons abgeguckt, weil ich bei meinem nicht mehr durch geblickt habe. Ich glaube ich verzichte auf die Übersetzung beim Tooltip (da ich mal wieder nicht weiß wie das geht). Bis jetzt bin ich was Funktionalität und Übersichtlichkeit im Code angeht, zufrieden. Hier ist er.


    Bitte Bescheid geben wenn darin gravierende Fehler oder evtl. später nicht mehr funktionierender Code drin sein sollte, das würde ich dann natürlich versuchen (mit viel Hilfe :mrgreen: ) auszubügeln. Danke

    Danach muss ich mich "nur noch" um die Signierung kümmern, oder?:x Ich geh mich derweil mal diesbezüglich einlesen [Blockierte Grafik: http://i.imgur.com/ZiwIrme.gif] Edit: sehe gerade, wenn man ich auf AMO hoch lade, brauche ich wohl gar nicht extra signieren :o

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

  • jetzt ist es oben. Aber ich hab noch eine Frage dazu: Ich habe den Code nochmal etwas geändert von

    Code
    exports.onUnload = function (reason) {
                if ('disable' === reason || 'uninstall' === reason) {


    zu

    Code
    exports.onUnload = function (reason) {
                if ('disable' === reason || 'uninstall' === reason || 'upgrade' === reason) {

    Damit wollte ich erreichen dass die alten Einträge wie zb. "media.windows-media-foundation.enabled " wieder zurück gesetzt werden wenn die neue Version geladen wird. Leider scheint das nicht zu klappen. Was ist falsch daran?

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

  • Alte Version 0.2 von AMO installiert gehabt und da hatte ich media.windows-media-foundation.enabled auf false gestellt. Dann heute per Update in Add-Ons mit der heutigen neuen Version aktualisiert.
    Leider stellte sich der Wert nicht auf true um durch die Aktualisierung.

    Erst durch Deaktivierung und erneute Aktivierung der Erweiterung wurde dann der alte Wert zurück gesetzt.

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

  • Ja, die Überprüfung auf AMO hat keine 5min gedauert :o
    Hier steht was unten von einem Bug: https://developer.mozilla.org/en-US/Add-ons/…load_and_unload allerdings werden bei mir die alten Werte auf Default zurück gesetzt wenn ich mein Addon deaktiviere oder deinstalliere. Nur beim Update klappt es nicht.

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

  • Keine Ahnung, ob dies die Erklärung wäre..
    Endor hat einige Erweiterungen übersetzt und diese dann neu signieren lassen. Bei der Installation wird die alte Version aber nicht überschrieben. Es wären somit 2 Versionen installiert... man muss die alte also händisch entfernen, Firefox neustarten, dann die neue installieren, ggf Firefox wieder neustarten, erst dann kommt der neue deutsche Kontext zur Anwendung.
    Vielleicht ist das bei deiner Erweiterung ähnlich. Die alte Version entfernen, Fuchs neustarten, die neue Version installieren. Ggf. Fuchs erneut restarten, je nach dem, ob ein Neustart nötig ist...

  • Wenn Endor bestehende Add-ons zur Signierung einreicht, muss er hierfür die ID ändern, womit es hinterher de facto unterschiedliche Erweiterungen sind, darum ist dann jeweils eine Deinstallation der alten Version notwendig. In diesem Fall hat Zitronella aber ihr eigenes Add-on aktualisiert, dieses Problem existiert hier also nicht.