(Importing a new version from external source) |
(Importing a new version from external source) |
||
| Line 67: | Line 67: | ||
A axuda contextual é inseparábel dos diálogos e trebellos, dado que eles son o obxectivo deste tipo de axuda. De feito, para escribir axuda contextual, fai falla programar ou ferramentas de programación. A axuda contextual é evidentemente unha propiedade dos trebellos. Na programación orientada a obxectos, as propiedades poden ter distintos valores, e comportarse de maneira diferente segundo estes valores. Na programación de Qt e KDE, o nome desta propiedade é “whatsthis” (Que é isto?), e o seu valor é o texto que amosará a axuda contextual. | A axuda contextual é inseparábel dos diálogos e trebellos, dado que eles son o obxectivo deste tipo de axuda. De feito, para escribir axuda contextual, fai falla programar ou ferramentas de programación. A axuda contextual é evidentemente unha propiedade dos trebellos. Na programación orientada a obxectos, as propiedades poden ter distintos valores, e comportarse de maneira diferente segundo estes valores. Na programación de Qt e KDE, o nome desta propiedade é “whatsthis” (Que é isto?), e o seu valor é o texto que amosará a axuda contextual. | ||
| − | + | Por sorte, escribir esta documentación adoita ser doado, pois existen ferramentas moi fáciles de usar para traballar no deseño das interfaces de usuario. Ademais, os coñecementos adquiridos para modificar e definir este tipo de documentación valeranlle máis adiante para traballar noutras cuestións relativas ás interfaces de usuario. A infraestrutura Qt —a base das tecnoloxías de KDE— permite separar o código da interface. Por tanto poden darse dous casos: (1) que a interface de usuario estea definida como parte do código xeral do ''aplicativo'' (ficheiros .cpp, xeralmente), ou (2) que estea definida en ficheiros de Qt Designer (ficheiros XML con extensión .ui). O segundo caso é o máis doado. Se non ten instalado o ''aplicativo'' Qt Designer, instale o paquete de desenvolvemento de Qt da súa distribución, ou o propio paquete de Qt Designer en caso de haber un. | |
Here you can find a detailed guide for writing whatsthis using Qt Designer and working directly with the source code: [http://bddf.ca/~aseigo/whatsthis_tutorial/ WhatsThis Tutorial], by Aaron J. Seigo. | Here you can find a detailed guide for writing whatsthis using Qt Designer and working directly with the source code: [http://bddf.ca/~aseigo/whatsthis_tutorial/ WhatsThis Tutorial], by Aaron J. Seigo. | ||
Esta páxina ten por obxectivo servir de introdución para os diferentes aspectos do desenvolvemento de KDE, especialmente no que se refire á parte de programación. O proxecto KDE dálle a benvida a calquera disposto a axudar.
| Note |
|---|
Existen moitos xeitos de contribuír ao desenvolvemento de KDE, e poden resumirse en varias categorías:
|
Contents |
A dirección xeral do proxecto KDE determínana os que fan o traballo. Non existe “un gran plan” sobre o aspecto que KDE terá no futuro.
Se quere informarse do que está a suceder, existen unha serie de fontes que debera considerar:
O xeito máis doado de contribuír a KDE é informar de erros atopados no software. Para iso, empregue o sistema de seguimento de erros de KDE (tamén coñecido coma Bugzilla).
Se o aplicativo que está a usar quebra, a ferramenta Dr Konqi aparecerá e guiarao a través do proceso para informar da quebra. Para máis información, consulte a páxina sobre como crear informes de quebra útiles.
Para comezar a programar para KDE, abonda con atopar algo que arranxar, e arranxalo. Pode que lle interese consultar a introdución aos módulos, para que lle resulte logo máis doado atopar o que busca. Despois de arranxar algo, o seguinte paso natural será o de enviar un parche cos cambios. Despois de pasar por iso un par de veces, pode que lle interese solicitar unha conta de contribuidor de KDE, para así poder mellorar as cousas directamente.
KDE está escrito principalmente en C++. Se non está familiarizado con esta linguaxe, xa está tardando. Existen moitos libros sobre C++ de gran calidade; un bo exemplo é Thinking in C++ («Pensando con C++»), un libro de Bruce Eckel que está dispoñíbel mediante descarga gratuíta e como libro impreso. Non é imprescindíbel comprendelo todo para comezar en KDE, pero si que necesitará comprender a sintaxe básica e as operacións.
Para coller soltura na programación para KDE, cómpre coñecer e comprender as bibliotecas Qt. Se non está familiarizado con elas, siga as aprendizaxes paso a paso que inclúe a documentación.
Se precisa dunha introdución máis suave a Qt, ou simplemente unha forma distinta de aprendelo, bótelle unha ollada a The Independent Qt Tutorial («A aprendizaxe de Qt independente»), que por desgraza non está dispoñíbel na Internet por cuestións legais.
Se prefire aprender Qt lendo un libro de corte máis tradicional, bótelle unha ollada á páxina de libros sobre Qt. Existen suxestións adicionais de recursos para familiarizarse con Qt na páxina sobre como aprender Qt.
Na sección de aprendizaxes atopará información variada sobre as técnicas de KDE: Teña en conta que algunhas das aprendizaxes non se actualizaron desde a rama 3 de KDE, se ben aínda deberían ser válidas, polo menos en parte.
Tamén atopará información útil sobre como escribir código para KDE na sección de preguntas e respostas. Dita información pode non estar tampouco actualizada para a rama 4 de KDE, pero igual que coas aprendizaxes, a maior parte debería seguir sendo válida, mesmo fóra de KDE.
Tamén pode botarlle unha ollada os libros sobre programación para KDE.
Por último, pero non por iso menos importante, KDE inclúe unha extensa documentación das súas clases (API). Esta está dispoñíbel na sección de manuais de referencia da API de KDE, que contén asemade unha serie de ligazóns útiles a recursos sobre como escribir ou actualizar a documentación das clases. Tamén pode xerar vostede mesmo a documentación localmente, ou acceder a unha versión na Internet que estea máis actualizada no sitio web de referencia da API.
Na guía de programación atopará unha descrición máis detallada dos pasos mencionados.
A axuda contextual é inseparábel dos diálogos e trebellos, dado que eles son o obxectivo deste tipo de axuda. De feito, para escribir axuda contextual, fai falla programar ou ferramentas de programación. A axuda contextual é evidentemente unha propiedade dos trebellos. Na programación orientada a obxectos, as propiedades poden ter distintos valores, e comportarse de maneira diferente segundo estes valores. Na programación de Qt e KDE, o nome desta propiedade é “whatsthis” (Que é isto?), e o seu valor é o texto que amosará a axuda contextual.
Por sorte, escribir esta documentación adoita ser doado, pois existen ferramentas moi fáciles de usar para traballar no deseño das interfaces de usuario. Ademais, os coñecementos adquiridos para modificar e definir este tipo de documentación valeranlle máis adiante para traballar noutras cuestións relativas ás interfaces de usuario. A infraestrutura Qt —a base das tecnoloxías de KDE— permite separar o código da interface. Por tanto poden darse dous casos: (1) que a interface de usuario estea definida como parte do código xeral do aplicativo (ficheiros .cpp, xeralmente), ou (2) que estea definida en ficheiros de Qt Designer (ficheiros XML con extensión .ui). O segundo caso é o máis doado. Se non ten instalado o aplicativo Qt Designer, instale o paquete de desenvolvemento de Qt da súa distribución, ou o propio paquete de Qt Designer en caso de haber un.
Here you can find a detailed guide for writing whatsthis using Qt Designer and working directly with the source code: WhatsThis Tutorial, by Aaron J. Seigo.
There is a large number of applications within KDE, and not all of them have a maintainer dedicated to managing bugs and generally helping out with all the issues associated with turning some working code into a polished application.
If you are interested in helping out with KDE, but don't know where to start, becoming a member of the KDE Quality Team might appeal to you - see the Quality Team website for more information. Note that you do not need any programming skills to become involved. In particular developers regularly publish so-called Junior Jobs to encourage new contributions.
Of course, you can become involved in bug hunting without being part of the KDE Quality Team - just create yourself an account on the KDE bug tracking system, and start searching / sorting through the bugs. Again, you don't have to have programming skills - it helps the programmers enormously just to have a procedure that allows a bug to be consistently reproduced.
The Bugsquad tries to keep track of bugs in KDE software and make sure that valid bugs are noticed by developers. You do not need any programming knowledge to be in the Bugsquad; in fact it is a great way to return something to the KDE community if you cannot program.
User interface is a very wide subject, and very subjective too, as something obvious to someone is absurd to others and vice versa. Therefore, don't assume, argue clearly, stating your logical steps. Your main tool discussing it are objective reasoning and good sense.
It is easy to perform a quick user interface analysis, but it is hard to convince people to change the interface. A good, convincing analysis can gain much if it incorporates information from the KDE guidelines, competing program and operational system analysis, general design principles found in many books, user testing or individual (anecdotal) feedback. It is a volunteer project, and even if everybody agree with you, someone has to implement it.
The KDE Usability Mailing List is very active and a good place for discussing your ideas, and their homepage is at http://techbase.kde.org/Projects/Usability. If you are already an usability expert, please check OpenUsability.org, a project that brings open source developers and usability experts together, and is collaborating closely with KDE.
Some documents guiding documents include the KDE User Interface Guidelines (design standards) and KDE User Interface Guidelines (design principles).
Some projects for analysis of user interfaces may include: checking that shortcut keys are coherent across KDE applications, making sure that dialogs are directly relevant to the interaction that the user would expect, and finding users of KDE software to see how they perform common workflows.
If your question concerns KDE development, your options are pretty much the same general user ones, with some modifications:
- Read the Developer FAQ. Many common developer questions have been answered in the KDE Developer FAQ
- Search/browse KDE websites. A lot of questions can also be answered from the KDE websites, and the documentation included on it. You can search all the KDE websites on the homepage. In addition, you can browse the KDE TechBase website. And if possible, help edit it for clarity, and use the talk page if something is unclear.
- Search mailing lists. A lot of questions have already been answered on the KDE mailing lists, particular the lists kde-devel, kde2-porting, kde-core-devel, kde-games-devel, kfm-devel and koffice-devel. You can search these lists either at lists.kde.org. You should always search for your answer before asking questions on the mailing lists. When you ask a question on a mailing list you are emailing thousands of people -- please do this only if the answer is not available through a simple search.
- Search engines. Do not forget about your favorite search engine. One of the best search engines is Google. With Google you can also search the great bulk of Usenet news sites, which is also particularly helpful, especially for general programming and gcc-related questions.
- Read the source code. http://websvn.kde.org and https://projects.kde.org/ are available to help browse code. Read some commit logs and diffs for the code you might want to work with, It adds perspective.
- Ask on KDE mailing lists. If you still do not have an answer, try asking your question on one of the KDE mailing lists listed above.
- For questions relating to core development or third-party KDE development, unless you are particularly interested in Konqueror, KOffice, games or Java development, your main choice is kde-devel (subscribe).
- For questions relating to Konqueror development, your main choice is kfm-devel (subscribe)
- For questions relating to KOffice development, your main choice is koffice-devel (subscribe)
- For questions relating to games development, your main choice is kde-games-devel (subscribe)
- For questions relating to Qt development, please use the fine Qt mailing list.
A full list of KDE mailing lists is available here and here.