Seite 1 von 1

Kate mitloggen

Verfasst: 4. November 2008 05:56
von lichtschicht
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"?

Verfasst: 4. November 2008 09:12
von upsala
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.