*.cdc-datei aus QT mit Qt-Anwendung verknüpfen?
*.cdc-datei aus QT mit Qt-Anwendung verknüpfen?
Hallöchen,
wie gesagt erstelle ich mit einer QT-Anwendung eine Textdatei mit der Endung .cdc. Dateien mit dieser Endung würde ich (unter SuSE) gerne mit meiner Anwendung verknüpfen, so dass ein einfaches Anwählen keinen Texteditor sondern die Anwendung öffnet...
Meine Internetsuche hat mich zu keinem eindeutigen Ergebnis geführt. Manche sagen, es geht, manche sagen, es geht nicht - aber niemand sagt wie^^
Und es gibt ja Programme, die eben das machen, eine textdatei mit eigner Endung mit sich verknüpfen.
Wäre echt cool, wenn mir da jemand weiterhelfen könnte...
Grüßle Lukas
wie gesagt erstelle ich mit einer QT-Anwendung eine Textdatei mit der Endung .cdc. Dateien mit dieser Endung würde ich (unter SuSE) gerne mit meiner Anwendung verknüpfen, so dass ein einfaches Anwählen keinen Texteditor sondern die Anwendung öffnet...
Meine Internetsuche hat mich zu keinem eindeutigen Ergebnis geführt. Manche sagen, es geht, manche sagen, es geht nicht - aber niemand sagt wie^^
Und es gibt ja Programme, die eben das machen, eine textdatei mit eigner Endung mit sich verknüpfen.
Wäre echt cool, wenn mir da jemand weiterhelfen könnte...
Grüßle Lukas
Die einfachste Variante geht über systemsettings (kde4 sowie kde3) Einfach die Fileassociations öffnen neuen Eintrag hinzufügen, danach Pattern angeben, fertig.
Oder du machst alles per Hand. hier solltest du alles finden
Speziell dann "Modifying Mimetypes" und "Registering Applications for MIME Types".
Viel Erfolg
Franz
Oder du machst alles per Hand. hier solltest du alles finden
Speziell dann "Modifying Mimetypes" und "Registering Applications for MIME Types".
Viel Erfolg
Franz
-
-=Freaky=-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
das sollte doch mit hilfe des links von franzf moeglich sein (die xml-files schreibt dein programm dann eben selbst).listeman hat geschrieben:Das manuelle verändern ist mir bekannt... was ich aber meine, ist das automatische Ändern aus einer QT-Anwendung heraus... z.B. beim ersten Ausführen verknüpft der die .cdc-Dateien mit sich selbst...
mfg,
julian
Mach doch aus deinem Programm ein rpm, dann kannst du bei der Installation schon den mimetype registrieren.
Bedenke, dass ein User ein .cdc-File bekommt, des öffnen will aber nicht kann, da er dein Programm noch nie gestartet hat. Andereseits ist das eine Verzögerung, wenn jedesmal beim Starten geprüft wird, ob DIESES Programm immer noch Standard ist. Stell dir auch vor, es kommt ein Konkurrenzprodukt auf dein Markt, welches mit deinen FIles umgehen kann. Und dein Programm immer Standard sein will. Ich HASSE sowas von Windows
Ich hab mir das Programm jetzt nicht angesxchaut, aber evtl. erleichtert dir xdg-mime die Sache ein wenig. xdg-mime --manual scheint recht ausführlich zu sein.
Bedenke, dass ein User ein .cdc-File bekommt, des öffnen will aber nicht kann, da er dein Programm noch nie gestartet hat. Andereseits ist das eine Verzögerung, wenn jedesmal beim Starten geprüft wird, ob DIESES Programm immer noch Standard ist. Stell dir auch vor, es kommt ein Konkurrenzprodukt auf dein Markt, welches mit deinen FIles umgehen kann. Und dein Programm immer Standard sein will. Ich HASSE sowas von Windows
Ich hab mir das Programm jetzt nicht angesxchaut, aber evtl. erleichtert dir xdg-mime die Sache ein wenig. xdg-mime --manual scheint recht ausführlich zu sein.
Hm, mit rpms erstellen habe ich überhaupt keine Erfahrung und das scheint doch etwas komplizierter zu sein...
Habs mal mit xdg-mime probiert, aber ich komme da net weiter.
hat diese .xml-Datei "installiert":
Wenn ich jetzt in Konqueror eine *.cdc-datei anschaue, dann sagt er immerhin schon nicht mehr "Textdatei", sondern "CDC-Datei"... wenn ich die anklicke, dann frägt er mich, mit welchem Programm er diese datei öffnen soll... doch wie kann ich dem jetzt (nicht manuell) sagen, dass er automatisch das Programm CDC nehmen soll? Da weiß ich im Moment net weiter
Habs mal mit xdg-mime probiert, aber ich komme da net weiter.
Code: Alles auswählen
xdg-mime install CDCmime-CDC.xmlCode: Alles auswählen
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/x-cdc">
<comment>CDC-Datei</comment>
<glob pattern="*.cdc"/>
</mime-type>
</mime-info>
Wenn ich jetzt in Konqueror eine *.cdc-datei anschaue, dann sagt er immerhin schon nicht mehr "Textdatei", sondern "CDC-Datei"... wenn ich die anklicke, dann frägt er mich, mit welchem Programm er diese datei öffnen soll... doch wie kann ich dem jetzt (nicht manuell) sagen, dass er automatisch das Programm CDC nehmen soll? Da weiß ich im Moment net weiter
Hilft dir das nicht weiter?
http://library.gnome.org/admin/system-a ... ng.html.en
oder evtl kbuildsycoca/kbuildsycoca4 vergessen?
http://library.gnome.org/admin/system-a ... ng.html.en
oder evtl kbuildsycoca/kbuildsycoca4 vergessen?
Hallöchen,
ich bins nochmal:
Ich habe den obigen Prozess wunderbar automatisiert bekommen, aber hänge jetzt noch an dem copy-Befehl, der die ausgeführte datei an einen festen Ort verschieben soll, damit ein Klick auf eine .cdc-Datei diese datei auch ausführt.
Kurz: Ich möchte die ausgeführte datei CDC nach ~/.CDC/CDC verschieben. Jedoch funktioniert mein Code nicht...
Das Verzeichnis ~/.CDC/ wird erstellt, aber die Datei nicht kopiert...
Hat jemand ne Idee, was da nicht stimmen könnte?
ich bins nochmal:
Ich habe den obigen Prozess wunderbar automatisiert bekommen, aber hänge jetzt noch an dem copy-Befehl, der die ausgeführte datei an einen festen Ort verschieben soll, damit ein Klick auf eine .cdc-Datei diese datei auch ausführt.
Kurz: Ich möchte die ausgeführte datei CDC nach ~/.CDC/CDC verschieben. Jedoch funktioniert mein Code nicht...
Code: Alles auswählen
QDir dir;
if(dir.exists(QDir::homePath() + "/.CDC/") == false) {
dir.mkdir(QDir::homePath() + "/.CDC/");
}
QFile file(QCoreApplication::applicationDirPath());
if(file.exists(QDir::homePath() + "/.CDC/CDC")) {
file.remove(QDir::homePath() + "/.CDC/CDC");
}
file.copy(QDir::homePath() + "/.CDC/CDC");
Hat jemand ne Idee, was da nicht stimmen könnte?
Upps, stimmt, das ist wenig sinnvoll 
Und ein
hat ja wahrscheinlich denselben Effekt... aber wie kann ich die ausgeführte Datei dann kopieren?
Und ein
Code: Alles auswählen
file.setFileName(QCoreApplication::applicationDirPath());Warum denn unbedingt die ausgeführte Datei dahin kopieren? Seh den Sinn nicht :/ Kannst du den Sinn mal kurz erklären?listeman hat geschrieben:Upps, stimmt, das ist wenig sinnvoll
Und einhat ja wahrscheinlich denselben Effekt... aber wie kann ich die ausgeführte Datei dann kopieren?Code: Alles auswählen
file.setFileName(QCoreApplication::applicationDirPath());
Ansonsten schau in der Doku einen Absatz tiefer. Es gibt auch ein "applicationFilePath()"...