Forums Neueste Beiträge
 

Weil es im Moment nichts ganz wichtiges gibt - OnGroupEntered

28/02/2010 - 21:26 von Wolfgang Bauer | Report spam
Servus.

Ich habe der Übersicht wegen themenorientiert vier Kategorien angelegt.
Wenn ich von einer Kategorie in eine andere wechsel soll die Ansicht 2,
nur ungelesene anzeigen eingestellt sein und zuvor ausgeklappte Threads
eingeklappt werden. Um das zu realisieren benutze ich das Script
OnGroupEntered.

8<->8
program OnGroupEntered;
procedure OnGroupEntered(Groupname: string);
begin
lockdisplay;
try
ADo('CollapseAllThreads');
ADo('View2');
ADo('RefreshView');
finally
unlockdisplay;
end;
end;
begin
end.
8<->8

Es werden dann auch nur ungelesene Postings angezeigt, offene Threads
werden aber nicht eingeklappt. Ist an dem Script etwas falsch?

Mit freundlichen Grüßen
Wolfgang Bauer
Die 40tude-Dialog FAQ http://www.grosse-40td-faq.de/
Raady's 40tude Dialog - Archiv! http://kh-rademacher.de/4d/
http://www.wolfgang-bauer.at
 

Lesen sie die antworten

#1 Hermann Hippen
28/02/2010 - 23:37 | Warnen spam
Wolfgang Bauer schrieb in d.c.s.4-d:

Ich habe der Übersicht wegen themenorientiert vier Kategorien angelegt.
Wenn ich von einer Kategorie in eine andere wechsel soll die Ansicht 2,
nur ungelesene anzeigen eingestellt sein und zuvor ausgeklappte Threads
eingeklappt werden. Um das zu realisieren benutze ich das Script
OnGroupEntered.

8<->8
program OnGroupEntered;
procedure OnGroupEntered(Groupname: string);
begin
lockdisplay;
try
ADo('CollapseAllThreads');
ADo('View2');
ADo('RefreshView');
finally
unlockdisplay;
end;
end;
begin
end.
8<->8

Es werden dann auch nur ungelesene Postings angezeigt, offene Threads
werden aber nicht eingeklappt. Ist an dem Script etwas falsch?



Es heißt OnGroupEntered.
Das Script wird ausgeführt, wenn die Gruppe gewechselt wird. Also zum
Beispiel von de.test nach alalbama.test.
Es wird nicht ausgeführt wenn du die Kategorie wechselst.

Hast du also in de.test einen geöffneten Thread und wechselst die
Kategorie, ist er Thread dort immer noch geöffnet.

Aber abgesehen davon, das das Script so wohl funktioniert, also bei
jedem Gruppenwechsel die Threads der Gruppe in die gewechselt wird,
zunàchst alle einklappt ist der Rest des Scripts nicht sehr sinnvoll.

Das ADo('View2') wird bei jedem Gruppenwechsel 'angeklickt' - das kann
ich einmal via Tastatur machen und gut.

Auch ADo('Refreshview') ist hier überflüssig.

Es reicht eigentlich:

program OnGroupEntered;
procedure OnGroupEntered(Groupname: string);
begin
ADo('CollapseAllThreads');
end;
begin
end.

völlig aus, um vor dem Betreten einer anderen Gruppe, die Threads
einzuklappen. Da das Einklappen vor der Anzeige der Gruppen erledigt
wird, ist auch das Unlockdisplay überflüssig genau so wie das
Try..finally (welcher Fehler soll beim Einklappen auftreten?)

Diese eine Zeile reicht aus. Artikelansichten kann man einmalig, via
Tastatur CTRL+F1..CTRL+F10, àndern.

Diese eine Zeile hab ich mal so eingebaut, zusàtzlich in den Allgemeine
Einstellungen->Navigation die Haken 1,2,5 & 6 angehakt.

Jetzt sind alle Threads, bei Betreten einer Gruppe eingeklappt, mit
'Space' springe ich gruppenübergreifend zum nàchsten ungelesenen
Artikel, der Thread in dem er steht wird automatisch aufgeklappt -
hübsch :)
Hàtte ich mir auch schon eher mal so einrichten können. ;)

Cu, Deutsche 40tude Dialog FAQ:
Hermann Hippen <http://www.grosse-40td-faq.de>
:) Deutsche Hilfe für 40tDlg:
<http://www.grosse-40td-faq.de/downl...hm.zip>

Ähnliche fragen