2011-03-14 7 views
5

¿Cómo uso QLPreviewPanel? Sé que antes no era una API pública, pero está en 10.6. ¿Cómo puedo usarlo para mostrar una vista previa de un archivo en un panel QuickLook estándar?¿Cómo usar QLPreviewPanel?

Respuesta

8

Consulte el código QuickLookDownloader. Le guiará por un par de cosas que debe hacer para incorporar QLPreviewPanel en su código. Algunos de estos incluyen:

  1. La fabricación de sus objetos se ajustan al protocolo QLPreviewItem - esto le dice a Quick Look dónde encontrar el archivo que desea ver (y obtiene una vista previa de archivos - que no puede pasar en los datos personalizados).
  2. Definir una fuente de datos y delegar para el QLPreviewPanel (si ya trabajó con NSTableView antes, esto debería ser bastante familiar).
  3. Configurando el panel de vista previa a través del protocolo QLPreviewPanelController (donde asigna la fuente de datos y delega).
  4. Visualización de un panel de vista previa compartido.

Los elementos 1-3 se manejan en la clase MyDocument del código de muestra. Alternar la pantalla se maneja principalmente en la clase AppDelegate. También hay soporte en la clase DownloadsTableView que conmuta el QLPreviewPanel a través de la tecla de espacio, a la la Finder.

+0

Hola Jablair, ¿Puedo preguntarte qué quieres decir con (y estás previsualizando archivos, no puedes pasar datos personalizados)? – markhunte

+0

QLPreviewPanel lee datos de archivos: el método 'previewItemURL' requiere que devuelva una URL de archivo. Intentaba decir que no podías dar a QLPreviewPanel una cadena HTML o una porción de datos PDF y esperar que mostrara una vista previa. Si eso es lo que tienes, necesitarías escribir los datos en un archivo temporal y una vista previa. Tenga en cuenta que estoy hablando de mostrar el panel de vista previa en su propia aplicación, no escribir un importador de QuickLook para un tipo de datos personalizado. – Jablair

+0

Veo, gracias por explicar eso. Me pregunto si debería eliminar mi respuesta. ¿Ahora realmente no parece responder la pregunta? – markhunte

0

Solo estoy viendo esto yo mismo. Y he encontrado que Apple proporciona una buena guía con ejemplos en el Docs, También hay un buen código de ejemplo y archivos aquí ->animgifqlgen

Estoy utilizando el método Enriquecido HTML, que parece estar funcionando para lo que necesito.

La idea es utilizar el código que normalmente usaría para analizar la información en el archivo. Y use html para el diseño e incrustación de la información analizada, el html se muestra en el Panel de QL. Una gran parte del código html normal funciona como la longitud del ancho de tamaño, bgcolor, src ...

El ejemplo mostrará cómo escribir el código incluyendo las partes html. Que usa un NSMutableString y su appendString y appendFormat: para construir el html.

No he probado los otros métodos todavía.

Para la prueba Acabo de configurar las UTI del tipo de contenido del documento en la lista y poner una copia del producto creado (el complemento) en mi carpeta/Users/username/Library/QuickLook /.

Es posible que deba crear la Carpeta.

Tenga en cuenta que cuando desee reemplazar el complemento en la carpeta QuickLook arrastrando y soltando una nueva copia en la carpeta, puede estar en uso. Solo pon el viejo en la basura. También encontré que ayudó a salir del proceso Quick Look Helper con la aplicación Monitor de actividad. Al hacerlo, me aseguré de ver los resultados del plugin Nueva versión en lugar de los antiguos en la memoria. (Estoy seguro de que alguien me dirá que lo estoy haciendo mal ;-))

+0

Bummer, el enlace animgifqlgen está muerto. ¿Alguna idea de dónde fue el proyecto? –

+0

Vaya, creo que el enlace que originalmente publiqué se perdió por lo que los personajes del final. Fijo. – markhunte