Mantis Bug Tracker

View Issue Details Jump to Notes ] Wiki ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000933The Mana World ClientClient corepublic2009-10-06 09:542011-12-09 11:40
Reporterbertram 
Assigned To 
PriorityhighSeveritymajorReproducibilityN/A
StatusclosedResolutionduplicate 
PlatformOSOS Version
Product Versionmaster 
Target VersionFixed in Version 
Summary0000933: Add a theme manager
DescriptionCurrently, (in 0.0.29.1), TMW hasn't any facility to choose the skin used to display windows and widgets to the player.

The skin and widgets inner management is also currently quite hard coded and faulty (some widgets don't respect the sub images bounds, and I suspect it's at the origin of the tab bug.)

That's why, to improve current implementation and get rid of the hardcoded parts.

A theme manager is to be added, permitting users to switch from a skin to another when they want to, and let them create new and custom skins easily.
Additional InformationSee original thread:
http://forums.themanaworld.org/viewtopic.php?f=16&t=8267&p=67713 [^]

A wiki reference page will be released soon...

Tasks order:
- Do NOT make a resources2.txt skin update when releasing, for backward compatibility.

[tmwdata]
- Create a skin or theme sub-folder and put the old skin in there.
giving: data/graphics/gui/default_theme/*.{png,xml}
and: data/graphics/gui/old_theme/*.{png,xml}

[tmw]
- Create a widgets.xml defining currently every harcoded values (see sliders for instance).
- Port every widgets to read these values from the above file.
- Create a skins.xml or themes.xml in the folder: data/graphics/gui (Now the only file here)
and make it list the available theme/skins.
- Finally, create a Tab in setup window, listing themes, and permitting the user to choose it.
(As a first step, I will say it should ask for a restart, we'll do dynamic reloading later on, or not...)
Tagsgui, settings
Attached Filesxml file icon theme.xml [^] (32,886 bytes) 2009-10-12 17:18
xml file icon gui.xml [^] (1,347 bytes) 2009-10-12 17:18
xml file icon themes.xml [^] (810 bytes) 2009-10-12 17:18
zip file icon gui.zip [^] (225,571 bytes) 2009-10-12 17:20

- Relationships
related to 0000802closed Make the whole GUI configurable via XML 
related to 0000881closedjaxad0127 I'm having serious usability problems with new UI theme. 

-  Notes
(0003045)
Kess (developer)
2009-10-06 11:11

Again, the mentioned thread is in a read-restricted forum.

So, while I do not know what it says, here are some of my thoughts (I hope I do not keep pushing the same buttons), most are a bit more long term but might help in planning:

  * Widgets should be able to be turned on/off, allowing skinners to potentially choose between similar widgets suiting the theme.
  * Additional official themes could be available through optional client updates, only one or two should be installed by default
  * Non-official and additional official themes could be saved in .tmw/themes/ (or in the update directory), both as archive and unpacked files should be supported

The first point might need some elaboration of what the client, IMHO, should be able to support. That is all widgets could have an optional hidden option, allowing the skin/theme to choose between alternate widgets for instance, or not to use them at all. With widget I here mean all things from whole windows to the player level label.
(0003047)
bertram (manager)
2009-10-06 12:16

Hi Kess,

As always, thanks for the precise feedback.

I will elaborate a wiki page on it shortly, taking care of your points.
As you said, the theme manager cannot handle every nice feature for 0.0.30 release, and some of these could let for later release.

I'd handle the 'hide' feature as an automatic fall-back property for now (when the widgets.xml doesn't define one). Let's let the user be able to choose what to hide in later releases, if we do it.

For consistency and undertaking viability, the new themes will be available in the updates directory and handled as any other updates files.
(0003090)
bertram (manager)
2009-10-12 17:12
edited on: 2009-10-12 17:21

Hi,

Before going in the hard task of wiki-ing, I've post here three example files:

- themes.xml: will be placed in data/graphics/gui folder.
> List the available themes.

- theme.xml: will be placed in data/graphics/gui/<any_theme> folder.
>List the configuration of every available base widgets.

- gui.xml: will be placed in data/graphics/gui/<any_theme> folder.
>List the configuration of every available windows, including their widgets.

Could someone have a look at it, and tell me if I go in the right direction?
(Please note, that the given values are not the real ones. It's just an example.)

Thanks.

(0003876)
bertram (manager)
2011-12-09 11:40

Moved to:
http://bugs.manasource.org/view.php?id=3 [^]

- Issue History
Date Modified Username Field Change
2009-10-06 09:54 bertram New Issue
2009-10-06 09:54 bertram Status new => confirmed
2009-10-06 09:54 bertram Tag Attached: gui
2009-10-06 09:54 bertram Tag Attached: settings
2009-10-06 09:56 bertram Additional Information Updated
2009-10-06 11:11 Kess Note Added: 0003045
2009-10-06 12:16 bertram Note Added: 0003047
2009-10-06 12:28 bertram Relationship added related to 0000802
2009-10-06 13:46 bertram Relationship added related to 0000881
2009-10-12 17:12 bertram Note Added: 0003090
2009-10-12 17:17 bertram File Added: theme.xml
2009-10-12 17:18 bertram File Deleted: theme.xml
2009-10-12 17:18 bertram File Added: theme.xml
2009-10-12 17:18 bertram File Added: gui.xml
2009-10-12 17:18 bertram File Added: themes.xml
2009-10-12 17:19 bertram Note Edited: 0003090
2009-10-12 17:20 bertram File Added: gui.zip
2009-10-12 17:21 bertram Note Edited: 0003090
2011-12-09 11:40 bertram Note Added: 0003876
2011-12-09 11:40 bertram Status confirmed => closed
2011-12-09 11:40 bertram Resolution open => duplicate


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker