Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Informationen des ausgewählten Users.
#14
Das ist komplizierter. Da gibt es nichts vorgefertigtes. Die einzige Idee, die ich habe ist die, die ich schonmal im Birthday Reminder für die Geburtstage umgesetzt habe. Aber die ist zum einen nicht schön und zum anderen bin ich selbst gespannt, ob das mit Pidgin 3 noch so funktioniert.

Die gesuchten Informationen kommen direkt vom Protokoll-Plugin. Die libpurple und Pidgin haben eigentlich gar keine Ahnung, was die Informationen eigentlich bedeuten. Wenn du also Rechtsklick -> Info machst, sagt das Plugin der libpurple "Hier hast du eine Liste von Zeichenketten, bitte mal anzeigen". Und die libpurple gibt das dann genau so an Pidgin weiter. Nun muss man noch wissen, wie die libpurple und Pidgin miteinander verbunden sind. Beim Start übergibt Pidgin der libpurple ein Datenfeld (struct) mit Zeigern auf Funktionen, die libpurple dann unter gewissen Umständen aufruft. Das sind die sogenannten ui_ops ("user interface operations" oder so ähnlich). Diese Zeiger lassen sich von einem Plugin aus verändern. Die Funktion, die dich interessiert heißt notify_userinfo.

Der Plan ist also folgender:
- Wenn jemand auf deinen Menüpunkt klickt, musst du dem Protokoll vorgaukeln, er hätte auf "Info" geklickt. Das passiert bei mir in [1], Zeile 73.
- Danach wird das Protokoll sein Ding machen und Infos irgendwo abholen. Wenn die Infos da sind, gibt es der libpurple die Infos, die wiederum die Funktion notify_userinfo aus den ui_ops aufruft, um Pidgin Bescheid zu geben. Die ui_ops musst du vorher manipuliert haben, sodass eine Funktion von dir aufgerufen und die Informationen dann bei dir ankommen. Das passiert bei mir in den Zeilen 175 bis 177.

[1] http://bazaar.launchpad.net/~konradgraef...src/scan.c
Welche Pidgin-Version setzt du ein?
Welches Betriebssystem?
Was sagt das Debug-Fenster?

[Bild: pidginbanner.png]
Zitieren


Nachrichten in diesem Thema
RE: Informationen des ausgewählten Users. - von Freakazoid - 19.09.2013, 14:42

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste