Dateien Droppen von Konqueror etc. GTK1 GTK2

Zur Vorstellung von Komponenten und Units für Lazarus
Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Dateien Droppen von Konqueror etc. GTK1 GTK2

Beitrag von theo »

Habe heute nach einer Lösung gesucht, um unter GTK von Konqueror und anderen Anwendungen Dateien in eine Laz-Anwendung zu droppen.

Das klappt wirklich! Ist aber im Web schwer zu finden und ich musste noch ein bisschen rumschrauben.
Im Anhang die Demo, falls es jemanden interessiert.
Dateianhänge
dropdemowingtk.zip
Testversion Win und GTK.
Läuft momentan nicht unter Win.
(3.01 KiB) 103-mal heruntergeladen
dropdemo.zip
(2.81 KiB) 102-mal heruntergeladen
Zuletzt geändert von theo am Sa 26. Mai 2007, 12:47, insgesamt 2-mal geändert.

_Bernd
Beiträge: 145
Registriert: Di 13. Feb 2007, 11:16

Re: Dateien Droppen von Konqueror etc. GTK1 GTK2

Beitrag von _Bernd »

theo hat geschrieben:Im Anhang die Demo, falls es jemanden interessiert.


hmm, ich kann die Datei nicht entpacken. Total Commander meldet für TnMpva.tar ein Größe von 2486780820 Byte.
Oder versuchst Du Dich jetzt in Dekompressionsbomben? ;-)

Gruß, Bernd.

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Seltsam.
Probier mal das Zip oben. Aber auf Windows wird's dir eh nicht viel nützen ;-)

_Bernd
Beiträge: 145
Registriert: Di 13. Feb 2007, 11:16

Beitrag von _Bernd »

Ja, geht jetzt. Ich habe Linux noch nicht aufgegeben.

BTW. Wenn man unter Win32 die LCL mit -dEnableWMDropFiles neu kompiliert, dann werden die WM_DROPFILES messages verarbeitet. Zumindest droppen vom Explorer/Total Commander war dann möglich. Wäre eine Frage an die LCL-Experten hier, warum das über bedingte Compilierung standardmäßig abgeschaltet ist.

Gruß, Bernd.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Die Frage solltest du lieber auf der Mailingliste stellen, Sinn macht das zumindest fr mich auch nicht.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Also wie läuft das nun unter Windows?
Wie kann ich die Funktionalität der kleinen Demo oben auf Windows nachvollziehen?
Ich nehme mal an, dass das mit dem bedingten Kompilieren nur die "automatische Verarbeitung" von WM_DROPFILES in der LCL auslöst, und dass es programmatisch schon ankommt, wenn man's haben will.
Stimmt das und hat einer ein Beispiel, wie man unter Win die Files gedroppt bekommt?

Könnte mir vorstellen, dass eine saubere Lösung dieser Sache von allgemeinem Interesse wäre, zumal z.B. Synedit immer noch solche Kommentare enthält:

{$IFNDEF SYN_LAZARUS}
// ToDo DropFiles

_Bernd
Beiträge: 145
Registriert: Di 13. Feb 2007, 11:16

Beitrag von _Bernd »

theo hat geschrieben:...Stimmt das...

Ich muß jetzt los. Ich zeige Dir später, wie es unter Win32 geht.

Gruß, Bernd.

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

@Bernd:
Ich habe oben noch eine Version angehängt, welche theoretisch auch unter Win laufen sollte. LM_DROPFILES kommt aber tatsächlich nicht an.
DragCursor wird aber angezeigt.
Bin gespannt, ob wir das hinkriegen!

EDIT: Ja, mit -dEnableWMDropFiles in der LCL scheint's zu funzen.
Ich hatte aber gehofft, dass man das pro Anwendung regeln kann, evtl. mit überschreiben der WndProc.
Irgendeinen Grund wird's nämlich schon geben für diesen Compiler Switch, bzw dass es by default disabled ist....

_Bernd
Beiträge: 145
Registriert: Di 13. Feb 2007, 11:16

Beitrag von _Bernd »

Also ich hatte es so versucht (nur Windows). WMDropFiles ist synedit.pp entnommen.

Gruß, Bernd.
Dateianhänge
draganddrop.zip
(2.61 KiB) 91-mal heruntergeladen

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Siehst du einen prinzipiellen Unterschied zu meiner Version ? (Ausser das meine auch auf GTK läuft)?
Aber deine läuft auch nicht, ohne -dEnableWMDropFiles, oder?
Hast du meine Version mal auf Win getestet? Gibt's Probleme? (Ich kann selber nicht gut auf Windows testen, weil ich davon Ausschlag bekomme ;-)

_Bernd
Beiträge: 145
Registriert: Di 13. Feb 2007, 11:16

Beitrag von _Bernd »

ja, meine Version läuft auch nur mit dEnableWMDropFiles, war eigentlich auch nur ein Versuch. Deine ist natürlich die viel bessere Variante (Linux und Windows). Sie läuft.

Es wäre meiner Meinung nach einfacher, wenn Du die lpi-Datei mitliefern würdest. Das Projekt so zu öffnen ist ziemlich umständlich, oder ich übersehe da etwas.

Gruß, Bernd.

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

_Bernd hat geschrieben:ja, meine Version läuft auch nur mit dEnableWMDropFiles, war eigentlich auch nur ein Versuch. Deine ist natürlich die viel bessere Variante (Linux und Windows). Sie läuft.

Dann is ja gut ;-) Du hast auch keinen Schimmer, wieso WM_DROPFILES by default nicht ankommen soll, oder? Aber irgend einen Haken muss das ja haben... Grübel....

_Bernd hat geschrieben:Es wäre meiner Meinung nach einfacher, wenn Du die lpi-Datei mitliefern würdest. Das Projekt so zu öffnen ist ziemlich umständlich, oder ich übersehe da etwas.


Diese Diskussion hatten wir auch schon. Du kannst einfach die *.lpr via "Datei öffnen" laden und dann alles bestätigen.
Das Problem ist, dass die lpi voll ist von meinen Pfaden und Dateien die ich zuletzt geöffnet habe iund eigentlich nur Verwirrung stiftet. Sie bringt im Prinzip gar nichts für Projekte die mit den Standard-Einstellungen laufen.

Für mich ist das Ding so ein konzeptioneller Bug.
Ich liefere die nur mit für "richtige" Projekte wie OpBitmap, dann putze ich den überflüssigen Käse da von Hand raus.
Aber für Testläufe ist mir das zu blöd. ;-)
Ausserdem ist das da oben bloss eine Demo. Es geht ja mehr darum, den Sourcecode anzuschauen als ein Programm zu erstellen.

_Bernd
Beiträge: 145
Registriert: Di 13. Feb 2007, 11:16

Beitrag von _Bernd »

theo hat geschrieben:Du hast auch keinen Schimmer, wieso WM_DROPFILES by default nicht ankommen soll, oder? Aber irgend einen Haken muss das ja haben... Grübel....
ich habe auch keine Ahnung. Wie Christian schon sagt, Antwort könnte man wohl über die Mailingliste bekommen. Wenn das nichts bringt, dann spätestens über Mantis ;-)
Im Englischen Forum hattest Du ja schon nachgefragt. Ich interessiere mich momentan mehr für den Compiler selber. Ich würde vorschlagen, daß Du weiter nachhakst, wenn die Anfrage im Forum nichts bringt.

Gruß, Bernd.

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Werde ich notfalls tun, wollte nur nicht gleich Multi-Posten.
Darf man eigentlich auch an die Mailingliste schreiben, ohne "Subscriber" zu sein? Ich möchte nämlich nicht alle Beiträge in meine Mailbox kriegen.

_Bernd
Beiträge: 145
Registriert: Di 13. Feb 2007, 11:16

Beitrag von _Bernd »

theo hat geschrieben:Darf man eigentlich auch an die Mailingliste schreiben, ohne "Subscriber" zu sein? Ich möchte nämlich nicht alle Beiträge in meine Mailbox kriegen.

kann ich nicht sagen. Der Traffic auf der Mailingliste ist nicht so extrem hoch. Mit Thunderbird läßt sich doch soetwas schön filtern. Sogar Thread-Darstellung geht.

Gruß, Bernd.

Antworten