wiki:skinning-internationalization
Last modified 2 years ago Last modified on 04/26/10 15:33:39

Pages linking to skinning-internationalization:

Ticket Summary Owner Status Type Component Priority Effort Importance
#2411 skinning-internationalization tanya closed unplanned_task uncategorized normal

Reported by tanya, 2 years ago.

Description

skinning-internationalization

  • Provide a way skinning the titles and tooltips in the application
  • Provide a document that describes what the skins will look like
  • Provide a way to change skins in Sophie
  • Provide an example skin that contains all of the changeable titles in Sophie

See SkinningInternationalization?

Analysis_owners

tanya, deyan

Analysis_reviewers

todor

Analysis_score

4

Design_owners

tanya

Design_reviewers

meddle, pap

Design_score

3

Imp._owners

tanya

Imp._reviewers

pap

Imp._score

3

Test_score

0

Analysis

Overview

The goal of this task is to provide the ability of the users of Sophie 2.0 to easily skin their Sophie client.

Task requirements

  • At the moment the skin get initialized only when the module is started. It should be possible to re-skin the elements after they've been skinned.
  • It should be possible records of the skin to be added dynamically.
  • Obsolete classes from the Alternative skin module should be removed.
  • Developers skin should be removed.
  • The skin should be changed via menu and drop-down list that will provide the user the ability to choose between different skins.

Task result

  • The result of the task is source code.
  • The result should be a document that will explain the users how easily to write skins.

Implementation idea

  • For every skin, a text file will be available that will describe the skin. Besides the file, a directory will be available for every skin. The text file and the directory will be in the distrib directory of the project.
  • According to the three different ways that will skin the application - internationalization pack, theme pack, interaction pack, file will be named as follow:
    • .lang for language (i.e. en_us.lang)
    • .theme for theme (i.e. blue.theme)
    • .interact for interaction
  • The corresponding directory will be named as the following example shows
    • for en_us.lang file will be en_us_lang
    • for blue.theme file will be blue_theme
  • Every directory will contain text files which names will end with .part (i.e. manus.part, palettes.part)
  • Once skin is changed via the menu, new Skin will be created and skin parts will be loaded from the directory provided for this skin.
  • Skin will be created using the information from the text file that describes the skin.
  • When new recordId is added, it will be added to the records of a specific skin. According to the class of the value of the record, it will be defined whether the record is for the skin describing languages, themes or interaction.

(Add links to related tasks that could be useful or helpful.)

How to demo

  • Write test skin.
  • Change the skin to the test skin and check that the application is skinned correctly.

Design

(Describe your design here.)

Implementation

(Describe and link the implementation results here (from the wiki or the repository).)

Testing

(Place the testing results here.)

Comments

(Write comments for this or later revisions here.)