📅 Utilitários Pessoais#

O Codis embute três utilitários de produtividade pessoal que não dependem de projeto ou workspace aberto: Calendário, Calculadora e Relógio. Os três abrem como janelas independentes (Toplevel) e podem ficar abertos em paralelo ao editor.

Acesso: menu Ferramentas → Calendário & Pessoal.


📅 Calendário (src/ui/calendar_panel.py)#

Atalho de menu: Ferramentas → Calendário & Pessoal → 📅 Calendário.

Funcionalidades#

  • Grade mensal navegável com visual polido e indicador do dia atual
  • Mini-mapa de eventos: dias com eventos marcados ficam destacados no grid
  • Anotações e lembretes associados a uma data específica
  • Lista lateral de eventos com horário, cor e descrição
  • Pesquisa de eventos por texto
  • Lembretes com notificação popup quando a hora chega

Fluxo de uso#

  1. Abra o calendário pelo menu (janela de 900×640, redimensionável)
  2. Navegue entre meses pelos controles de seta no topo do grid
  3. Clique em um dia para ver/criar eventos daquela data
  4. Cada evento pode ter horário, cor de destaque e descrição livre
  5. Use a busca para localizar eventos por palavra-chave em qualquer mês
  6. Eventos com lembrete disparam um popup de notificação no horário configurado

A persistência dos eventos é local (não há sincronização em nuvem).


🔢 Calculadora (src/ui/calculator_panel.py)#

Atalho: Ferramentas → Calendário & Pessoal → 🔢 Calculadora · Ctrl+Alt+C.

Modos disponíveis#

Modo O que oferece
Básico Operações aritméticas comuns com display grande
Científico Funções trigonométricas, logarítmicas, potências, constantes (π, e)
Conversão de unidades Comprimento, peso e temperatura

Funcionalidades#

  • Display elegante com histórico de expressão e resultado lado a lado
  • Histórico persistente de cálculos (salvo em calc_history.json na pasta de configuração do usuário), navegável com ↑/↓ no campo de expressão
  • Anotações livres associadas a cada entrada do histórico
  • Campo de entrada aceita expressões Python completas (não apenas a sintaxe da calculadora), avaliadas em um sandbox restrito de builtins seguros (abs, round, funções de math, etc.) - nenhuma chamada arbitrária do Python é permitida
  • Clique duplo em uma entrada do histórico para reutilizá-la

Sandbox de avaliação#

A calculadora não usa eval() aberto. Apenas um conjunto fixo de builtins matemáticos seguros é exposto ao avaliador, então não é possível executar código arbitrário do sistema através do campo de expressão.


🕐 Relógio, Alarmes e Cronômetro (src/ui/clock_panel.py)#

Atalho: Ferramentas → Calendário & Pessoal → 🕐 Relógio · Ctrl+Alt+K.

A janela do relógio tem três abas:

Aba Conteúdo
Relógio Relógio analógico desenhado em Canvas com ponteiros suaves + relógio digital com fuso horário configurável
Alarmes Múltiplos alarmes com rótulo próprio e som opcional, criados/editados em diálogo dedicado
Cronômetro Start/stop/reset com registro de voltas (laps) e exportação dos tempos

Alarmes#

  • Cada alarme tem horário, rótulo de texto e um som opcional associado
  • Vários alarmes podem coexistir e são listados na própria aba
  • O diálogo de criação/edição de alarme é uma janela própria (_AlarmDialog)

Cronômetro#

  • Registra voltas individuais durante a contagem
  • Os tempos de volta podem ser exportados para análise externa
  • Independente do relógio principal - pode rodar em paralelo com o relógio analógico/digital visível

Relação com o menu#

Os três utilitários ficam agrupados na categoria Calendário & Pessoal dentro do menu Ferramentas, separados deliberadamente dos utilitários de desenvolvimento (Diff, Formatador, Regex etc.) e das ferramentas de sistema (Pip, Processos), já que não têm relação com o código do projeto aberto - ver Atalhos para a lista completa de combinações de teclado.