Josef
Weidendorfer

    Josef.Weidendorfer@gmx.de

José
Pires

    jncp@netcabo.pt

Tradução
2003-10-22
3.2

O 'plugin' do &fsview; para o &konqueror; é outro modo de visualização para os objectos do tipo MIME `inode/directory` locais. Pode ser visto como uma alternativa para as várias vistas de ícones e de listas para navegar no conteúdo do seu sistema de ficheiros local.

KDE
kdeaddons
konqueror
'plugins'

## &fsview; - A Vista do Sistema de Ficheiros

### Introdução

O 'plugin' do &fsview; para o &konqueror; é outro modo de visualização para os objectos do tipo MIME `inode/directory` locais. Pode ser visto como uma alternativa para as várias vistas de ícones e de listas para navegar no conteúdo do seu sistema de ficheiros local.

A propriedade única do &fsview; é a sua capacidade de mostrar as hierarquias aninhadas de pastas por completo usando uma visualização em árvore para a representação gráfica. As árvores permitem mostrar as métricas dos objectos em estruturas aninhadas: cada objecto é representado por um rectângulo cuja área é proporcional à sua métrica. A métrica deverá ter a propriedade de que a soma das métricas dos filhos de qualquer objecto seja igual ou inferior à métrica do objecto.

Para o &fsview;, os tamanhos dos ficheiros e das pastas são escolhidos como métrica, onde o tamanho de uma pasta é definido como sendo a soma dos tamanhos dos seus sub-itens. Desta forma, os ficheiros grandes, mesmo que estejam no fundo da hierarquia de pastas serão localizados facilmente se procurar pelos rectângulos grandes. Assim, o &fsview; poderá ser visto como uma versão gráfica e interactiva do comando do &UNIX; `du`.

A integração do &fsview; como parte do Konqueror permite-lhe usar as funcionalidades normais como os menus de contexto dos ficheiros ou as acções dependentes do tipo MIME. Mas optou-se por não implementar a actualização automática das modificações do sistema de ficheiros através da vigia: se você apagar um ficheiro mostrado no &fsview; fora do &konqueror;, você terá de actualizar manualmente ao carregar &eg; em F5. A razão para esta decisão é a quantidade potencialmente enorme de ficheiros que teriam de ser vigiados o que, por isso, colocar uma pressão pouco razoável dos recursos do sistema numa funcionalidade pequena.

### Funcionalidades de Visualização

Esta secção explica em detalhe a visualização gráfica do &fsview;.

#### Opções de Desenho do Item

No &fsview;, um item da árvore é um rectângulo que representa uma pasta ou ficheiro do seu sistema de ficheiros. Para uma navegação mais simples, os rectângulos têm uma coloração e uma legendagem compreensíveis.

A cor de um rectângulo, alterável através do item do menu Ver Modo da Cor pode tanto ser a Profundidade para uma detecção simples do aninhamento, ou um mapeamento em cores dos diferentes atributos dos ficheiros, como o nome, o dono, o grupo ou o tipo MIME.

Um rectângulo poderá ser legendado com os vários atributos do ficheiro ou pasta correspondente. Para um dado atributo, você pode escolher se este é mostrado de todo, só se tiver espaço ou se o mesmo espaço deverá ser retirado dos filhos (introduzindo deste modo erros nas representações de árvores puras). Para além disso, você pode escolher a localização relativa do texto no rectângulo.

#### Algoritmos de Desenho da Árvore

Para os algoritmos de desenho de árvores, a regra é que a área é proporcional à métrica de um item e esta regra deve ser mantida como verdadeira. Com a árvore do &fsview;, este objectivo nem sempre é conseguido: são desenhados contornos para mostrar o aninhamento dos itens, e este contorno ocupa espaço para um item, espaço esse que é possivelmente perdido para as áreas dos itens-filhos. Lembre-se que é perdido menos espaço para o contorno se o rectângulo for um quadrado.

De forma semelhante, é bom para um melhor visão geral deixar que todos os rectângulos tenham o seu nome como legenda, a ocupar espaço também. É uma opção forçar sempre o espaço para as legendas ou apenas desenhar as legendas quando existir espaço vazio disponível. No último caso, as dicas que aparecem quando o rato é passado por cima de um item poderão ajudar bastante. Estas mostram informações sobre o item onde o rato se encontra, em conjunto com as suas relações com os seus pais até ao item de topo da árvore.

Como é dividido o espaço de um item em sub-áreas para os filhos é deixado a cargo da implementação. É sempre melhor tentar dividir as áreas de forma a que os rectângulos sejam tão quadrados quanto possível, tanto para legendar como para poupar em espaço perdido nos contornos. Os melhores métodos neste aspectos são as Linhas, Colunas ou Bissecção Recursiva.

Você poderá escolher a área mínima dos itens a desenhar com o item de menu Ver Parar na Área. Nesse caso, será desenhado um padrão de dispersão sobre a área dos pais para assinalar que este espaço é, de facto, ocupado por um filho.

### Interface do Utilizador

O &fsview; suporta a selecção múltipla dos itens, de forma semelhante à vista em ícones ou em lista. Isto permite às acções serem feitas simultaneamente sobre um conjunto de ficheiros. Pode carregar no rato em conjunto com a tecla &Shift; para seleccionar intervalos ou a tecla &Ctrl; para comutar a selecção. Repare que, ao seleccionar um um item, os sub-itens já não poderão ser mais seleccionados. Assim, se seleccionar um item irá limpar a selecção de todos os seus itens-pai anteriores.

Está disponível a navegação pelo teclado nas árvores: use as teclas de cursores Esquerda e Direita para mover o item actual entre os itens no mesmo nível, bem como as teclas Cima e Baixo para subir e descer na hierarquia de aninhamento. O Espaço selecciona o item; em conjunto com a tecla &Shift;, faz a selecção de intervalos, e com a tecla &Ctrl; comuta a selecção do item actual. Carregue em Return para correr a acção de abertura no item actual.

### Créditos e Licença

Originalmente, o &fsview; era suposto ser uma pequena aplicação de teste e um tutorial de utilização para o elemento gráfico TreeMap desenvolvido para o KCachegrind.

Copyright de Josef Weidendorfer, licenciado segundo a GPL V2.

&underGPL; &underFDL;