Vraag & Antwoord

OS Linux

[KDE] Rommelen in de code van kaddressbook

Anoniem
PeBo
5 antwoorden
  • In kdepim-3.1/kaddressbook/details/look_details.cpp staan (onder veel meer) deze regels broncode:[code:1:2c9efb4046] if((rc=epainter->hitsTelephones(point))!=-1)
    {
    /* emit(call(current.telephone.at(2*rc),
    current.telephone.at(2*rc+1))); */
    kdDebug() << "KABDetailedView::mousePressEvent: ni (calling)."
    << endl;
    break;
    }[/code:1:2c9efb4046]Nu wil ik eens proberen om door deze functie een "bash commando" te laten starten, in plaats van alleen het afdrukken van een of andere debugboodschap . (Dat bash commando zorgt er dan - hopelijk - voor dat mijn spraaktelefoon begint te bellen, maar daar gaat het hier nu niet om.) Van dat - uitgecommentariëerde - (call(current.telephone…()) vind je in de verdere broncode verder weinig terug.

    Ik heb geen flauw idee hoe je dat "binnen"KDE 3.x (en dus in C++) het beste doet.

    Heeft iemand anders wel eens vanuit KDE C++-code een bashcommando uitgevoerd?
  • kde doet alles via dcop, mogelijk dat je via dcop wel bij de prompt kunt komen?

    Max
  • system() ? :P
  • Dank voor de reacties.

    Over system(): ik las een tijdje terug ergens op één van vele officiële KDE sites, dat er een aantal voorkeurscommando's zijn: Kurl, Krun, Kcommando (meen ik mij althans te herinneren). Dat ik dus "geen flauw idee" heb is dus eigenlijk wat overdreven.

    Enfin, system() zou, geloof ik, niet de voorkeur genieten … maar ik kan dat overzichtje niet meer tevoorschijn toveren, dus ik kan er niet veel zinnigs over zeggen. Durven jullie te zeggen welk commando (van de genoemde commando's of een ander) het meest geschikt lijkt?
  • kcomand, The abstract base class for all Commands.
    http://developer.kde.org/documentation/library/3.0-api/classref/kdeui/KCommand.html

    kurl, Represents and parses a URL
    http://developer.kde.org/documentation/library/3.0-api/classref/kdecore/KURL.html

    krun, Opens files with their associated applications in KDE.
    http://developer.kde.org/documentation/library/3.0-api/classref/kio/KRun.html

    Ben zelf geen programmeur, maar ik denk dat je kcommand moet hebben. kurl opent een url-adres, en krun opent bestanden in de geassocieerde applicaties.

    Max

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.