# O Manual do &konsolekalendar;

## Introdução

O &konsolekalendar; é uma interface para a linha de comandos dos calendários do &kde;. Permite ver, inserir, remover ou modificar os eventos do calendário, através da linha de comandos ou de uma linguagem de programação. Para além disso, o &konsolekalendar; poderá criar um novo calendário do &kde;, exportar um calendário do &kde; para uma variedade de outros formatos e importar outro calendário do &kde;.

No seu modo básico, o &konsolekalendar; mostra a lista de eventos no seu calendário por omissão para o dia actual (das 7:00 às 17:00).

Principais características do &konsolekalendar;:

- Ver entradas no calendário desde a data/hora inicial à data/hora final

- Inserir (adicionar) entradas no calendário

- Remover (apagar) entradas do calendário

- Modificar (alterar) entradas no calendário

- Criar um novo calendário

- Exportar entradas de calendário para outros formatos de ficheiro

- Importar um calendário actual do &kde;

O &konsolekalendar; não é outra interface gráfica para os calendários do &kde; (como o &korganizer;). O &konsolekalendar; pretende destinar-se apenas a ser usado em situações em que uma interface gráfica não seja prática ou possível.

O &konsolekalendar; não oferece uma linguagem completa para efectuar pesquisas no calendário do utilizador: nem é essa a intenção dos autores criar sequer alguma funcionalidade dessas. São oferecidas as opções da linha de comandos primitivas para aceder aos eventos do calendário, dentro de um determinado intervalo consecutivo de datas/horas.

## Características

Neste capítulo você irá aprender um pouco mais sobre as funcionalidades principais do &konsolekalendar; e como as poderá controlar com os parâmetros da linha de comandos (lembre-se que o &konsolekalendar; não é nenhuma interface gráfica; é um programa apenas para a linha de comandos).

Você irá aprender a inserir, remover e modificar os eventos do calendário e a exportá-los para outros formatos de ficheiros. A criação e a importação dos calendários do &kde; também será tratada neste capítulo.

### Ver Eventos

No seu modo por omissão, ou usando a opção `--view`, o &konsolekalendar; irá listar todos os eventos que ocorrem num determinado intervalo de datas/horas.

Para ver todos os eventos de hoje (das 7:00 às 17:00), execute simplesmente:

    % konsolekalendar

No próximo exemplo, vê-se todos os eventos na semana de Agosto 18-22:

    % konsolekalendar --view --date 2003-08-18  --end-date 2003-08-22

Mostrar o(s) próximo(s) evento(s) no calendário da hora actual em frente:

    % konsolekalendar --next

Para ver todos os eventos nos próximos 5 dias execute:

    % konsolekalendar --show-next 5

### Inserir Eventos

O &konsolekalendar; poderá inserir eventos num calendário do &kde; ou recurso de calendário com o argumento da linha de comandos `--add`. Os eventos que forem inseridos com sucesso serão apresentados imediatamente nas aplicações de calendarização do &kde; (como o &korganizer;).

No exemplo seguinte será introduzido um evento que começa a 04/06/2003 (4 de Junho de 2003) às 10:00 e a terminar às 12:00 com o resumo "Ida ao Médico" no recurso de calendário por omissão do utilizador:

    % konsolekalendar --add --date 2003-06-04 --time 10:00 \
    --end-time 12:00 --summary "Ida ao Médico"

Neste exemplo, um evento de aniversário é adicionado ao calendário por omissão do utilizador:

    % konsolekalendar --add --date 2003-06-06 --summary "O Meu Aniversário" \
    --description "Grande Festa"

Aqui umas férias de uma semana são inseridas no calendário partilhado `férias`:

    % konsolekalendar --add --file férias.ics --date 2003-08-01 \
    --end-date 2003-08-07 --summary "Férias" --description "Ninguém me vai encontrar!"

### Remover Entradas

O &konsolekalendar; suporta a remoção de itens de um ficheiro ou recurso de calendário com o argumento da linha de comandos `--delete`. Os itens do calendário a ser removidos são identificados pelo seu identificador único em texto (UID) com a opção `--uid`. Os UIDs são obtidos através de uma primeira visualização do eventos com a opção `--view`.

Os eventos apagados com sucesso são removidas imediatamente das aplicações de calendário do &kde; (por exemplo o &korganizer;).

Quando você remover algo do calendário, não poderá anular este passo! Por outras palavras, quando remover um dado item, você não poderá anular a remoção. Foi-se de vez.

Aqui apagamos um item no calendário com o UID `&konsolekalendar;-1887551750.196`:

    % konsolekalendar --delete --uid &konsolekalendar;-1887551750.196

### Modificar Itens

O &konsolekalendar; suporta a modificação de itens existentes de um ficheiro ou recurso de calendário com o argumento da linha de comandos `--change`. Os itens do calendário a ser modificados são identificados pelo seu identificador único em texto (UID) com a opção `--uid`. Os UIDs são obtidos através de uma primeira visualização do eventos com a opção `--view`.

A alteração funciona da mesma forma que a inserção: você poderá alterar a data de início e de fim, o resumo, a localização e a descrição. Os eventos que forem alterados com sucesso serão mostrados imediatamente com essas modificações nas aplicações de calendarização do &kde; (como o &korganizer;).

Exemplo: Aqui mudamos o sumário e a descrição de uma entrada de calendário com o UID `&konsolekalendar;-1887551750.196`:

`%```konsolekalendar` `--change` `--uid `&konsolekalendar;-1887551750.196`` `--summary `"Examinar a minha cabeça"`` `--description `"não voltar aquele médico!"```

### Criar um Novo Ficheiro de Calendário

O &konsolekalendar; pode ser usado para criar um novo ficheiro de calendário do &kde;. Dado que você não poderá inserir um item num calendário que não exista, precisa de criar primeiro o ficheiro com os argumentos de linha de comandos `--create` e `--file`.

Criar um ficheiro de calendário chamado ``/data/share/calendars/férias.ics``:

    % konsolekalendar --create --file /data/share/calendars/férias.ics

### Exportar para Outros Formatos

O &konsolekalendar; poderá exportar um calendário do &kde; para outros formatos conhecidos. A exportação é uma forma especial de visualização. Por omissão, os eventos são visualizados no formato de texto do &konsolekalendar;. Para alterar o formato de visualização, use o argumento da linha de comandos `--export-type`.

Para ver uma lista de todos os formatos de exportação suportados, utilize a opção `--export-list`, desta forma:

    % konsolekalendar --export-list

### Formatos de Exportação

Alguns, mas não necessariamente todos, dos formato suportados são descritos nesta secção.

#### Formato de Texto do &konsolekalendar;

O Formato de Texto do &konsolekalendar; é o formato nativo do &konsolekalendar; e está desenhado para ser confortável de ler e ser analisado por outros programas.

O Formato de Texto do &konsolekalendar; é:

    Data:\t<Data da Ocorrência>(dddd aaaa-MM-dd)
    [\t<Hora de Início da Ocorrência>(hh:mm) - <Hora de Fim da Ocorrência>(hh:mm)]
    Sumário:
    \t<Sumário da Ocorrência | "(sem sumário disponível)">
    Localização:
    \t<Localização da Ocorrência | "(sem localização disponível)">
    Descrição:
    \t<Descrição da Ocorrência | "(sem descrição disponível)">
    UID:
    \t<UID da Ocorrência>
    --------------------------------------------------

Por exemplo:

    Data:   Terça-feira 2003-11-01
            08:00 - 09:00
    Sumário:
            Reunião do Pessoal
    Local:
            Sala de Conferências
    Descrição:
            Reunião com todo o pessoal para discutir o projecto.
    UID:
            &konsolekalendar;-1128954167.1013
    --------------------------------------------------

#### Formato Textual Abreviado do &konsolekalendar;

O Formato de Texto Abreviado oferece uma versão mais compacta e menos descritiva do formato nativo do &konsolekalendar;.

O Formato de Texto Abreviado do &konsolekalendar; é:

    [--------------------------------------------------]
    {<Data da Ocorrência>(dddd aaaa-MM-dd)]
    [<Hora de Início da Ocorrência>(hh:mm) - <Hora de Fim da Ocorrência>(hh:mm) | "\t"]
    \t<Sumário da Ocorrência | \t>[, <Localização da Ocorrência>]
    \t\t<Descrição da Ocorrência | "\t">

Por exemplo:

    --------------------------------------------------
    Terça-feira 2003-11-01
    08:00 - 09:00   Reunião com o Pessoal, Sala de conferência
                    Reunião com todo o pessoal para discutir o projecto.

#### Formato "Comma-Separated Values" (CSV)

O Formato de Valores Separados por Vírgulas ('Comma-Separated Value' ou CSV) mostra os valores dos eventos pela mesma ordem que o formato de Texto do &konsolekalendar;. A única diferença é que toda a informação fica na mesma linha, com cada campo separado por uma vírgula. Os ficheiros exportados poderão ser importados directamente nos programas das folhas de cálculo como o &kspread;, o Calc do OpenOffice.org e o &Microsoft; Excel. Do mesmo modo, o formato CSV é fácil de processar por outros programas.

O Formato de Valores Separados por Vírgulas (CSV) é:

    AAAA-MM-DD,HH:MM,AAAA-MM-DD,HH:MM,Sumário,Local,Descrição,UID

Por exemplo:

    2003-11-01,08:00,2003-11-01,09:00,Reunião de Pessoal,Sala de Conferências,Encontro na sala grande de conferências \
    com o pessoal todo.,&konsolekalendar;-1128954167.1013

#### Formato &HTML;

O formato de exportação em &HTML; irá produzir um ficheiro &HTML; válido que poderá ser publicado na WWW. Este formato de exportação não é adequado para o processamento por programas posteriores, mas é bastante bom para publicar calendários para uma visualização mais simples.

TODO: Inserir imagem aqui

#### Formato HTMLmonth

Este formato produz um ficheiro &HTML; que mostra todos os compromissos nos meses indicados pelo intervalo de datas. Este formato de exportação não é adequado para o processamento por programas posteriores, mas é bastante bom para publicar calendários para uma visualização mais simples.

TODO: Inserir imagem aqui

### Importar Calendários

O &konsolekalendar; poderá importar um ficheiro de calendário iCal ou vCal para um calendário do &kde;. Todos os eventos do calendário a serem importados serão introduzidos, incluindo os eventos idênticos. Na próxima versão do &konsolekalendar;, os eventos idênticos não serão introduzidos.

Para importar o ficheiro de calendário ``outro.ics`` para o calendário ``actual.ics`` execute:

    % konsolekalendar --import outro.ics --file actual.ics

## Argumentos da Linha de Comandos

&konsolekalendar; pode receber as seguintes opções:

Opção | Descrição
`--help, --help-all` | Mostra ajuda acerca das opções do programa.
`--author` | Mostra informações acerca do autor do programa.
`-v, --version` | Mostra informações da versão do programa.
`--license` | Mostra informações da licença do programa.
`--verbose` | Imprime mensagens úteis durante a execução.
`--dry-run` | Imprime o que teria sido feito, mas sem executar nada. Não altera nenhuns ficheiros, nem insere, remove, modifica o conteúdo de qualquer ficheiro, ou mesmo cria quaisquer ficheiros novos.
`--allow-gui` | Permitir os recursos que possam necessitar de uma interface interactiva. Na operação geral, só os recursos que nunca irão necessitar de uma interface de utilizador é que serão usados (como os calendários em ficheiros).
`--file` `ficheiro-do-calendário` | Indica um ficheiro de calendário a utilizar. Se não for indicado nada, então será usado o seu recurso do &korganizer; por omissão.
Modos Principais de Operação:
`--view` | Imprime eventos de calendário no formato de exportação indicado.
`--add` | Inserir um evento no calendário.
`--change` | Modificar um evento actual do calendário.
`--delete` | Remover um evento existente do calendário.
`--create` | Cria um novo ficheiro de calendário, se não existir nenhum.
`--import` `ficheiro-a-importar` | Importar este calendário para o calendário principal.
Modificadores de operação:
`--all` | Ver todas as entradas no calendário.
`--next` | Ver a próxima actividade no calendário.
`--show-next` `dias` | A começar na data indicada, irá mostrar as actividades dos próximos 'n' dias.
`--uid` `UID` | Vê, modifica ou altera o evento com este identificador de texto único.
`--date` `data` | Começa no dia indicado por [AAAA-MM-DD]. A data por omissão é a de hoje.
`--time` `hora` | Começa a esta hora [HH:MM]. A hora por omissão de visualização é as 07:00. Para adicionar ou alterar um evento 'flutuante', use as opções `--time float` ou `--end-time float`.
`--end-date` `data-final` | Termina neste dia, identificado por [AAAA-MM-DD]. O valor por omissão é definido pelo `--date`.
`--end-time` `hora-final` | Termina nesta hora [HH:MM]. O valor por omissão para a visualização é as 17:00. Para adicionar ou alterar um evento 'flutuante', use as opções `--time float` ou `--end-time float`.
`--epoch-start` `tempo-época` | Iniciar neste momento [segundos depois da época].
`--epoch-end` `tempo-época` | Acabar neste momento [segundos depois da época].
`--summary` `sumário` | Adiciona o sumário ao evento (funciona com adicionar e modificar).
`--description` `descrição` | Adiciona a descrição ao evento (funciona com adicionar e modificar).
`--location` `localização` | Adiciona a localização ao evento (funciona com adicionar e modificar).
Opções de exportação:
`--export-type` `tipo-de-exportação` | O tipo do ficheiro de exportação. O tipo de exportação por omissão é o Texto
`--export-file` `ficheiro-de-exportação` | Exporta para um ficheiro. Por omissão, o resultado é enviado para o 'standard output'.
`--export-list` | Imprime a lista de formatos de exportação suportados e sair.

## Perguntas e Respostas

&reporting.bugs; &updating.documentation;

Que ficheiros de configuração é que o &konsolekalendar; utiliza?

Nenhum.

Qual é o nome das aplicações do &konsolekalendar;?

O nome da aplicação do &konsolekalendar; é konsolekalendar.

Qual é o formato das datas?

O &konsolekalendar; irá rejeitar as datas indicadas na linha de comandos, a menos que sejam indicadas de acordo com a norma ISO 8601, nomeadamente o seguinte formato: AAAA-MM-DD, onde o AAAA representa um ano com quatro algarismos (como o 2003), o MM representa um mês com dois algarismos (01,02,..,12) e o DD representa um dia com dois algarismos (01,02,...,31).

O &konsolekalendar; exporta sempre datas de acordo com o formato ISO 8601.

Qual é o formato das horas?

O &konsolekalendar; irá rejeitar as datas indicadas na linha de comandos, a menos que sejam indicadas de acordo com a norma ISO 8601, nomeadamente o seguinte formato: HH:MM:SS, onde o HH representa uma hora com dois algarismos (01,02,...,24), o MM representa os minutos com dois algarismos (01,02,..,60) e o SS representa os segundos com dois algarismos (01,02,...,60).

O &konsolekalendar; exporta sempre horas de acordo com o formato ISO 8601.

Será que o &konsolekalendar; irá inserir um evento novo que seja idêntico a algum já exista no calendário?

Não. Veja a próxima pergunta.

Como é que o &konsolekalendar; determina se um evento a idêntico a outro que já exista no calendário?

O &konsolekalendar; verifica a data/hora de início e fim, bem como o sumário, comparando-os com todos os eventos do calendário. Se ocorrer uma correspondência de eventos com os três valores para um determinado par de eventos, estes são idênticos.

Será que um evento não-flutuante poderá passar para flutuante?

Sim. Utilize a opção `--time float` com `--change`.

Porque é que os UIDs dos eventos são impressos na maioria dos formatos de exportação?

Porque você precisa de indicar os UIDs para remover ou alterar eventos. Se você não quiser ver os UIDs dos eventos, então use o formato de exportação abreviado (`--export-type short`).

Como é que posso adicionar a minha dúvida a esta FAQ?

Envie as suas perguntas para winter@kde.org.

## Créditos e Licença

&konsolekalendar; Programa com 'copyright' 2002-2007:

- Tuukka Pasanen illuusio@mailcity.com

- Allen Winter winter@kde.org

Documentação copyright 2003:

- Allen Winter winter@kde.org

- Tuukka Pasanen illuusio@mailcity.com

Tradução de José Nuno Pires zepires@gmail.com

&underFDL; &underGPL;

## Instalação

### Como obter o &konsolekalendar;

&install.intro.documentation;

O &konsolekalendar; está incluído no &kde; 4 e não está disponível separadamente.

### Requisitos

O &konsolekalendar; necessita de ter instaladas as bibliotecas-padrão do &kde; (o pacote `kdelibs` e o `kdepimlibs`). Para compilar a partir do código, você precisa também dos pacotes de desenvolvimento do &Qt;, `kdelibs` e `kdepimlibs`.

Pode encontrar uma lista de modificações no ficheiro `ChangeLog`.

### Configuração

Não é necessária nenhuma configuração especial para preparar o &konsolekalendar; para ser executado no ambiente de trabalho do &kde;.

&documentation.index;