2009-08-09 12 views
6

Ich arbeite an einem kleinen Projekt zu Hause, das basierend auf seinem Status eine Plakette (auch als Icon-Overlay bezeichnet) zu einer bestimmten Datei hinzufügen würde. Wie auch immer, ich habe die ganze Zeit gegoogelt und die einzige Dokumentation, die ich finden konnte, war auf Apples Entwickler-Website (Obtaining and Using Icons With Icon Services).Hinzufügen von Badges zu Dateisymbolen im Finder

Die Dokumentation erwartet, dass der Entwickler mit Objective-C-Datei-APIs vertraut ist, was ich nicht bin. Also, ich frage mich, ob jemand mir bitte einige Codebeispiele zum Hinzufügen von Badges zu einer Datei und einem Verzeichnis geben kann. Danke im Voraus!!

Antwort

2

Der Link, den Sie gepostet haben, ist für die Carbon API (vor MacOSX). Während es im Carbon Finder von 10.5 funktionieren könnte, ist der Finder in 10.6 reiner Kakao und könnte daher das Konzept von Badges in dieser Hinsicht nicht unterstützen.

Sie können Abzeichen zu einer Anwendung im Dock mit NSDockTile hinzufügen, aber Sie werden nicht viel Glück in Dokumenten für Anwendungen insgesamt haben. Sie müssten entweder die Dokumente über einen anderen Mechanismus überwachen und dann beispielsweise ein QuickLook-Plugin verwenden, um eine miniaturisierte Ansicht mit Ihrem aktuellen Status zu erstellen.

Andernfalls könnten Sie Ihre eigene Ansicht für die Dokumente schreiben (in denen Sie solche Informationen hinzufügen könnten), anstatt Finder zu verwenden.

2

der Finder in 10,6 Hack mit einer SIMBL Plugin sein kann, man muss nur die Swizzling Methode verwenden, um die drawWithFrame Methode im Finder neu zu implementieren.

1

Diese Frage gibt es seit einiger Zeit, aber ich weiß, dass die Leute immer noch suchen, also ist hier eine komplette Lösung für Finder Icon Badges und Kontextmenüs in Lion und Mountain Lion mit Methode Swizzling.

Liferay Nativity bietet ein Scripting-Bundle, das die relevanten Finder-Methoden und einen Java-Client zum Einstellen der Symbole und Kontextmenüs swizzle. Es enthält auch gleichwertige Projekte für Windows und Linux.

Das Projekt ist Open Source unter LGPL, also zögern Sie nicht, irgendwelche Fehlerbehebungen oder Verbesserungen beizutragen!

+0

Hat Liferay Nativity irgendwelche Pläne Python zu unterstützen? – fatuhoku

+0

Wir entwickeln derzeit keinen Python-Client, aber die gesamte Kommunikation erfolgt über Sockets, daher sollte die Portierung des Java-Codes nicht besonders schwierig sein. Ich bin tatsächlich in der Diskussion mit einem anderen Entwickler, der einen Python-Client-Code schreibt. Wir könnten am Ende seinen Code zum Repo hinzufügen. – dejuknow

+0

Ehrfürchtig. Sehr gut zu wissen. Danke, dejuknow. – fatuhoku

Verwandte Themen