| Anonymous | Login | Signup for a new account | 2012-01-28 13:14 CET | ![]() |
| Main | My View | View Issues | Change Log | Roadmap | Wiki |
| View Issue Details [ Jump to Notes ] [ Wiki ] | [ Issue History ] [ Print ] | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update | |
| 0000933 | The Mana World Client | Client core | public | 2009-10-06 09:54 | 2011-12-09 11:40 | |
| Reporter | bertram | |||||
| Assigned To | ||||||
| Priority | high | Severity | major | Reproducibility | N/A | |
| Status | closed | Resolution | duplicate | |||
| Platform | OS | OS Version | ||||
| Product Version | master | |||||
| Target Version | Fixed in Version | |||||
| Summary | 0000933: Add a theme manager | |||||
| Description | Currently, (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 Information | See 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...) | |||||
| Tags | gui, settings | |||||
| Attached Files | ||||||
Relationships |
|||||||||||
|
|||||||||||
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 |