Kate mitloggen

Alles zur Entwicklung von KDE - Anwendungen
Antworten
lichtschicht
Beiträge: 2
Registriert: 2. November 2008 14:03

Kate mitloggen

Beitrag von lichtschicht » 4. November 2008 06:56

Vorweg:
Ich bin – was das Programmieren im Allgemeinen angeht – noch relativ grün hinter den Ohren. Ich bitte um etwas Nachsicht, was z.B. die Terminologie angeht.

Problemstellung:
Das Ziel besteht darin, Aktionen in Kate (KDE) in einem Fenster(z.B. Terminal) synchron mit zu protokollieren.
(„Aktionen“ sind z.B. „Kopieren“, „Einfügen“, „Ausschneiden“, „Speichern“, usw., also alles, was in der Menüleiste zu finden ist oder durch Shortcuts angesteuert wird.)
Das Protokoll soll die Aktionen und die zugehörigen Uhrzeiten auflisten.

Ansatz:
Nach Betrachten des Source Codes war meine grundsätzliche Idee, die zu den Aktionen zugehörigen Funktionen als SIGNALs zu benutzen, um eine/mehrere Protokollierfunktionen als SLOTs anzusteuern (Qt).

Stand der Dinge:
Mittlerweile habe ich eine neue Klasse "actionLogger" erstellt, die gewisse Aktionen mit Hilfe von kdebug im Terminal loggt.
Dabei habe ich mir zu Nutze gemacht, dass gewisse Aktionen geadded werden, wie z.B. hier:

Code: Alles auswählen

  a = actionCollection()->addAction( "file_reload_all" );
  a->setText( i18n("&Reload All") );
  connect( a, SIGNAL( triggered() ), KateDocManager::self(), SLOT( reloadAll() ) );
  
  connect( a, SIGNAL( triggered() ), al, SLOT( reloadAll())); //editiert von mir
Mein Problem wäre jetzt, wie ich das mit nicht geaddeten Aktionen mache - also denjenigen, die bereits von vornherein vorhanden sind. Wie kann man diese ansprechen/aufrufen und "connecten"?

upsala
Beiträge: 3946
Registriert: 5. Februar 2006 21:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala » 4. November 2008 10:12

Soweit ich weis gibt es für die Standardaktionen ein .rc-File, daß diese aufsetzt (wenn ich mich nicht täusche mit der Klasse KActionCollection). Dafür muß es aber seine init oder setup-Funktion geben, versuch mal von dort aus weiterzusuchen ob man da irgendwo ansetzen kann.

Antworten