Sábado, 10 Outubro 2015
Hoje, o KDE anuncia o lançamento do KDE Frameworks 5.15.0.
KDE Frameworks are 60 addon libraries to Qt which provide a wide variety of commonly needed functionality in mature, peer reviewed and well tested libraries with friendly licensing terms. For an introduction see the KDE Frameworks release announcement.
Este lançamento é parte de uma série de lançamentos mensais planejados, disponibilizando melhorias aos desenvolvedores de maneira rápida e previsível.
Novo nesta versão
Baloo
- Correção do tratamento do limite/início no SearchStore::exec
- Recriação do índice do Baloo
- Configuração do balooctl: adição de opções para definir/visualizar o onlyBasicIndexing
- Migração de verificação do balooctl para funcionar com novas arquiteturas (erro 353011)
- FileContentIndexer: Correção da emissão duplicada do filePath
- UnindexedFileIterator: O mtime é um 'quint32' e não 'quint64'
- Transaction: Correção de outro erro de digitação do Dbi
- Transaction: Correção do documentMTime() e do documentCTime(), que usavam o Dbis errado
- Transaction::checkPostingDbInTermsDb: Otimização do código
- Correção dos avisos do D-Bus
- Balooctl: Adição do comando checkDb
- Configuração do balooctl: Adição do "filtro de exclusão"
- KF5Baloo: Garantia de que as interfaces de D-Bus são geradas antes do uso. (erro 353308)
- Evitar o uso do QByteArray::fromRawData
- Remoção do baloo-monitor do Baloo
- TagListJob: Emissão de erro quando não for possível abrir o banco de dados
- Não ignorar os sub-termos, caso não seja encontrado
- Limpeza de código para a falha do Baloo::File::load(), caso não consiga abrir a BD
- O balooctl passa a usar o IndexerConfig, em vez de manipular o baloofilerc diretamente
- Melhoria na internacionalização do balooshow
- O balooshow agora falha normalmente se não for possível abrir o banco de dados.
- Falha do Baloo::File::load() se não abrir o banco de dados. (erro 353049)
- IndexerConfig: Adição do método refresh()
- inotify: Não simular um evento 'closedWrite' após a movimentação sem 'cookie'
- ExtractorProcess: Remoção da linha extra no fim do 'filePath'
- baloo_file_extractor: Chamada do QProcess::close antes de destruir o QProcess
- baloomonitorplugin/balooctl: Internacionalização do estado da indexação.
- BalooCtl: Adição da opção 'config'
- Tornar o baloosearch mais apresentável
- Remoção dos arquivos vazios do EventMonitor
- BalooShow: Mostrar mais informações quando os IDs não corresponderem
- BalooShow: Quando chamado sem uma verificação de ID, caso o ID esteja correto
- Adição de uma classe FileInfo
- Adição de verificações de erros em diversos pontos, para que o Baloo não falhe se estiver desativado. (erro 352454)
- Correção do Baloo que não respeitava a opção de configuração "apenas a indexação básica"
- Monitor: Obtenção do tempo restante na inicialização
- Uso de chamadas a métodos reais no MainAdaptor, em vez do QMetaObject::invokeMethod
- Adição da interface org.kde.baloo ao objeto raiz, por motivo de compatibilidade
- Correção da string de data apresentada na barra de endereços, devido à migração para o QDate
- Adição de um atraso ao fim de cada arquivo em vez de cada lote
- Remoção da dependência do Qt::Widgets no baloo_file
- Remoção de código não utilizado do baloo_file_extractor
- Adição do monitor do Baloo ou do plugin QML experimental
- Tornar a "pesquisa do tempo restante" segura em multitarefa
- kioslaves: Adição da substituição ausente para funções virtuais
- Extractor: Definição do applicationData após a construção do aplicativo
- Query: Implementação do suporte do 'offset'
- Balooctl: Adição da opções --version e --help (erro 351645)
- Remoção do suporte do KAuth para aumentar o monitoramento máximo do inotify quando a quantidade é muito baixa (erro 351602)
BluezQt
- Correção da falha do fakebluez no obexmanagertest com o ASAN
- Declaração prévia de todas as classes exportadas no types.h
- ObexTransfer: Apresentação de erro quando a sessão de transferência é removida
- Utils: Armazenamento de ponteiros para as instâncias dos gerenciadores
- ObexTransfer: Apresentação de erro quando o org.bluez.obex falha
Módulos extra do CMake
- Atualização do cache de ícones do GTK ao instalar os ícones.
- Remoção da solução alternativa para atrasar a execução no Android
- ECMEnableSanitizers: O item de sanidade indefinido é suportado pelo gcc 4.9
- Desativação da detecção do X11, XCB, etc., no OS X
- Pesquisa pelos arquivos no prefixo instalado em vez do caminho do prefixo
- Uso do Qt5 para indicar qual o prefixo de instalação do Qt5
- Adição da definição ANDROID no qsystemdetection.h, conforme necessidade.
Integração do Framework
- Correção de problemas aleatórios na caixa de diálogo de arquivos que impediam o seu aparecimento. (erro 350758)
KActivities
- Uso de uma função de correspondência personalizada em vez do glob do SQLite. (erro 352574)
- Correção de problemas na adição de um novo recurso ao modelo
KCodecs
- Correção de falha no UnicodeGroupProber::HandleData com textos strings curtas
KConfig
- Marcação do kconfig-compiler como ferramenta não-gráfica
KCoreAddons
- KShell::splitArgs: Apenas o espaço em ASCII é um separador, não o espaço em Unicode U+3000 (erro 345140)
- KDirWatch: Correção da falha quando um destrutor estático e global usa o KDirWatch::self() (erro 353080)
- Correção de falha quando o KDirWatch é usado no Q_GLOBAL_STATIC
- KDirWatch: Correção da segurança em threads
- Esclarecimento de como definir os argumentos do construtor do KAboutData
KCrash
- KCrash: Passagem do cwd ao kdeinit quando o aplicativo é reiniciado automaticamente com o kdeinit (erro 337760)
- Adição do KCrash::initialize(), para que os aplicativos e o plugin da plataforma possam ativar o KCrash de forma explícita
- Desativação do ASAN, se estiver ativo
KDeclarative
- Pequenas melhorias no ColumnProxyModel
- Possibilidade de os aplicativos conhecerem a localização da homeDir
- Retirada do EventForge do contêiner desktop
- Incluída a propriedade enabled (ativo) no QIconItem
KDED
- kded: Simplificação da lógica em torno do sycoca; basta chamar o ensureCacheValid
KDELibs 4 Support
- Chamada do newInstance a partir do filho na primeira invocação
- Uso das definições do kdewin
- Não tentar encontrar o X11 no WIN32
- cmake: Correção da verificação da versão da Taglib no FindTaglib.cmake
KDesignerPlugin
- O moc do Qt não consegue lidar com as macros (QT_VERSION_CHECK)
KDESU
- kWarning -> qWarning
KFileMetaData
- Implementação dos metadados do usuário no Windows
Complementos da interface KDE
- Não pesquisar pelo X11/XCB também faz sentido no WIN32
KHTML
- Substituição do std::auto_ptr por std::unique_ptr
- khtml-filter: Eliminação das regras que contêm funcionalidades especiais do AdBlock que ainda não são suportadas
- khtml-filter: Reordenação do código, sem alterações funcionais
- khtml-filter: Ignorar expressões regulares com opções, por não haver suporte para elas
- khtml-filter: Correção da detecção do separador das opções do adblock
- khtml-filter: Limpeza dos espaços em branco finais
- khtml-filter: Não descartar linhas que comecem com '&', por não serem caracteres especiais do adblock
KI18n
- Remoção dos iteradores restritos para o MSVC, para permitir a compilação do ki18n
KIO
- KFileWidget: O argumento parent (pai) deverá ser 0 por padrão, como em todos os widgets
- Certeza de que o tamanho da lista de bytes que foi descarregada na estrutura é grande o suficiente, antes de calcular o targetInfo, caso contrário, será acessada a memória que não nos pertence
- Correção do uso do Qurl ao chamar o QFileDialog::getExistingDirectory()
- Atualização da lista de dispositivos do Solid, antes de efetuar uma pesquisa no kio_trash
- Permissão do uso de trash:, além do trash:/ como URL do listDir (que chama o listRoot) (erro 353181)
- KProtocolManager: Correção de um bloqueio ao usar o EnvVarProxy (erro 350890)
- Não tentar encontrar o X11 no WIN32
- KBuildSycocaProgressDialog: Uso do indicador de ocupado incorporado no Qt (erro 158672)
- KBuildSycocaProgressDialog: Execução do kbuildsycoca5 com o QProcess
- KPropertiesDialog: Correção do caso em que o ~/.local é um link simbólico, comparação de caminhos canônicos
- Adição do suporte para compartilhamento de rede no kio_trash (erro 177023)
- Conexão aos sinais do QDialogButtonBox, não do QDialog (erro 352770)
- KCM de Cookies: Atualização dos nomes de D-Bus para o kded5
- Uso de arquivos JSON diretamente, em vez do kcoreaddons_desktop_to_json()
KNotification
- Não enviar um sinal de atualização de notificação duplicado
- Reprocessamento da configuração da notificação apenas se tiver sido alterada
- Não tentar encontrar o X11 no WIN32
KNotifyConfig
- Modificação do método de carregamento de padrões
- Envio do nome do aplicativo, cuja configuração foi atualizada em conjunto com o sinal de D-Bus
- Adição de método para reverter o kconfigwidget aos valores padrão
- Não sincronizar a configuração n vezes na gravação
KService
- Uso da data mais recente na subpasta como data da pasta de recursos
- KSycoca: Armazenamento do mtime para cada pasta de origem, de forma a detectar alterações (erro 353036)
- KServiceTypeProfile: Remoção da criação de factory desnecessária (erro 353360)
- Simplificação e otimização do KServiceTest::initTestCase
- Tornar o nome de instalação do arquivo applications.menu uma variável em cache do CMake
- KSycoca: O ensureCacheValid() só deverá criar o BD se ele não existir
- KSycoca: Fazer com que o banco de dados funcione após o recente código de verificação de datas
- KSycoca: Alteração do nome do arquivo do BD para incluir a linguagem e o SHA1 das pastas de onde foi criado
- KSycoca: Inclusão do ensureCacheValid() na API pública
- KSycoca: Adição de um ponteiro q para remover mais utilizações de singletons
- KSycoca: Remoção de todos os métodos self() para as factories, guardando-os no KSycoca
- KBuildSycoca: Remoção da gravação do arquivo ksycoca5stamp
- KBuildSycoca: Uso do qCWarning em vez do fprintf(stderr, ...) ou qWarning
- KSycoca: Reconstrução do ksycoca num processo em vez de executar o kbuildsycoca5
- KSycoca: Transferência de todo o código do kbuildsycoca para a biblioteca, exceto o main()
- Otimização do KSycoca: Apenas monitorar o arquivo se o aplicativo se conectar ao databaseChanged()
- Correção dos vazamentos de memória na classe KBuildSycoca
- KSycoca: Substituição da notificação de D-Bus com o monitoramento de arquivos usando o KDirWatch
- kbuildsycoca: A opção --nosignal tornou-se obsoleta
- KBuildSycoca: Substituição do bloqueio baseado no D-Bus por um arquivo de bloqueio
- Não falhar se encontrar informações inválidas do plugin
- Renomeação dos cabeçalhos para _p.h como preparação para a transferência do código para a biblioteca kservice
- Transferência do checkGlobalHeader() para dentro do KBuildSycoca::recreate()
- Remoção do código do --checkstamps e do --nocheckfiles
KTextEditor
- Validação de mais expressões regulares
- Correção de expressões regulares nos arquivos HL (erro 352662)
- Sincronização do realce de OCaml com o estado do https://code.google.com/p/vincent-hugot-projects/, antes de o Google Code ter fechado, e algumas pequenas correções de erros
- Adição de quebra de linha (erro 352258)
- Validação da linha antes de chamar o código de dobragem (erro 339894)
- Correção de problemas na contagem de palavras do Kate, integrando com o DocumentPrivate em vez do Document (erro 353258)
- Atualização do realce de sintaxe do Kconfig: adição dos novos operadores do Linux 4.2
- Sincronização com a ramificação KDE/4.14 do Kate
- Minimapa: Correção do manipulador da barra de rolagem que não era desenhada com as marcações desligadas (erro 352641)
- Sintaxe: Adição da opção git-user para o kdesrc-buildrc
KWallet Framework
- Não é mais fechado automaticamente na última utilização
KWidgetsAddons
- Correção do aviso C4138 (MSVC): '*/' encontrado fora do comentário
KWindowSystem
- Execução de uma cópia completa do QByteArray get_stringlist_reply
- Permitir a interação com vários servidores X nas classes NETWM.
- [xcb] Considerar os modificadores no KKeyServer como inicializados em plataformas != x11
- Mudança do KKeyserver (X11) para registro de eventos por categorias
KXMLGUI
- Possibilidade de importar/exportar esquemas de atalhos de forma simétrica
NetworkManagerQt
- Correção das introspecções, sendo que o LastSeen deverá estar no AccessPoint e não na ActiveConnection
Plasma Framework
- Ocultar a janela de dicas quando o cursor entrar em uma ToolTipArea inativa
- Se o arquivo desktop tiver Icon=/foo.svgz, usar esse arquivo do pacote
- Adição de um tipo de arquivo "screenshot" (imagem) nos pacotes
- Considerar o devicepixelration na barra de rolagem independente
- Nenhum efeito ao passar em telas sensíveis ao toque/móveis
- Uso das margens SVG do campo de edição no cálculo do sizeHint
- Não escurecer o ícone de animação nas dicas do Plasma
- Correção do texto em reticências do botão
- Os menus de contexto dos miniaplicativos dentro de um painel já não se sobrepõem mais ao miniaplicativo
- Simplificação da obtenção da lista de aplicativos associados no AssociatedApplicationManager
Sonnet
- Correção do ID do plugin do Hunspell para um carregamento adequado
- Suporte da compilação estática no Windows, adição do caminho dos dicionários do Hunspell e do LibreOffice no Windows
- Não assumir dicionários do Hunspell codificados em UTF-8. (erro 353133)
- Correção do Highlighter::setCurrentLanguage() para o caso em que o idioma anterior era inválido (erro 349151)
- Suporte do /usr/share/hunspell como caminho dos dicionários
- Plugin baseado no NSSpellChecker
Você pode discutir e compartilhar ideias sobre esta versão na seção de comentários do artigo do Dot.
Instalando pacotes binários
No Linux, usar os pacotes da sua distribuição favorita é o meio recomendado de ter acesso ao KDE Frameworks. Veja como instalar aplicativos da KDE na sua distribuição
Compilação do código fonte
O código-fonte completo do KDE Frameworks 5.15.0 pode ser livremente baixado. As instruções para compilação e instalação estão disponíveis na página de informações do KDE Frameworks 5.15.0.
Compilar usando o código fonte é possível usando os comandos básicos cmake .; make; make install. Para um único framework de primeiro nível, isso costuma ser a solução mais fácil. Pessoas interessadas em contribuir aos frameworks ou ficar sabendo do progresso de desenvolvimento do conjunto todo podem achar mais simples utilizar o kdesrc-build. O Frameworks 5.15.0 requer o Qt
A detailed listing of all Frameworks with API documentation is on api.kde.org.
Participe
Os interessados em acompanhar e contribuir para o desenvolvimento do Frameworks podem dar uma olhada nos repositórios git e acompanhar as discussões na lista de e-mails do desenvolvimento do KDE Frameworks. Políticas e o estado dos atuais projetos e planos está disponível na wiki do Frameworks. Discussões em tempo real ocorrem no canal de IRC #kde-devel no Libera Chat.
Apoiando a KDE
KDE is a Free Software community that exists and grows only because of the help of many volunteers that donate their time and effort. KDE is always looking for new volunteers and contributions, whether it is help with coding, bug fixing or reporting, writing documentation, translations, promotion, money, etc. All contributions are gratefully appreciated and eagerly accepted. Please read through the Supporting KDE page for further information or become a KDE e.V. supporting member through our Join the Game initiative.