Some more intensions. >From my point of view, and to get as much out of Qt as possible, a first step >to a new Skin Engine should be a re-implement of all the WWidget Classes in >the Widget folder so they support QSS like native Qt Widgets. After that, they >can be styled by qss, which is quite similar to css, so usable for designers. To dynamically reload a qss in a qt application is very easy... so i guess its easy to make some tools for the designers.
Some infos on the topic: //Stylesheet http://thesmithfam.org/blog/2009/09/10/qt-stylesheets-tutorial/ http://thesmithfam.org/blog/2009/09/17/qt-stylesheets-button-bar-tutorial/ http://doc.trolltech.com/4.6/stylesheet-customizing.html //Animations http://doc.trolltech.com/4.6/animation-overview.html#the-animation-architecture As a next step, I think there has to be some modifications to the interface itself. I would group controls like knobs an so on to Exuipment-classes. These are groups of control widgets which belong together and which don't skale while resizing the screen, but align on the screen. Their resolution depends on the skin and their alignment on the screen size. Therefore we will have to rewrite the mixxxview.cpp as well, because i'd like to store widget objects such as a Deck or a Mixer dynamically. ( QList<QWidget *> ) Now there is two players and thats it. But i think this can be done dynamically, so if a user wants 4 decks, he can have it. That doesn't work yet, because all the "engine" code is done for 2 Decks as well. Don't know if this is possible to change that in the "engine" code. But for the UI its not a big deal to show 2, 3 or maybe 4 decks, So i'd like to make it dynamic, that the "new" interface is capable of showing as many decks as one would like for future releases. But as i said. The as-many-decks-as-you-want-feature will take a lot of time to realize, because of all the changes to the "engine" and "controller" code which have to be done. If possible, anyway. But there is no disadvantage to make the new interface capable of it already... even if we'll never have the as-many-decks-as-you-want-feature... So i think there are two major issues: 1. Change the interface and make Widget-groups -> this will give us the scalable interface and allow to align the player, the mixer, ... on the screen. And it will certainly fix the full-screen-issue. 2. Make all of the used Widgets capable of the qss thing -> this will give us the possibility to skin single units as players and mixers. There are a lot of possibilities to give these units a new look and feel using qss and animations Am 20.01.2010 um 13:28 schrieb Sjors Gielen: > > Op 20 jan 2010, om 13:19 heeft Garth Dahlstrom het volgende geschreven: >> Hmm, you seem to have missed the point... Also, I'm not sure you realize >> how analogous the existing XML-based layout engine is a HTML-based rendering >> engine. >> >> If you have a look at skin.xml, you'll see that there is XML defining where >> elements are positioned along with a colour scheme information block >> pertaining to certain paletteable elements that is analogous to a CSS style >> sheet. >> >> Currently, if you wanted to implement some control panel that is >> infrequently used as part of the UI, you'd have to stick it somewhere on the >> UI and be stuck with it eating up screen space all the time. That means >> for something like an EQ, you have to go into the preferences panel to >> reconfigure it, something like that could be implemented in Javascript with >> a div tag that slides out or pops on to the main UI when you push a hotspot >> on the main UI... > > Or, somewhat obviously, call .hidden() on the UI element in Qt. If, that is, > Mixxx uses a Qt-based UI, as should be obvious *too* when using the Qt > toolkit. > >> Who are you referring to? I think Jus is our only designer atm, he is >> excellent no doubt, but I think even he would agree getting a Mixxx skin to >> look good is probably harder than it should be because the tooling sucks. >> Dave Jarvis was kind enough to create a skin.xml -> skin.html previewer tool >> a few years back, but that is about the only tool one has for previewing a >> skin aside from firing up Mixxx and loading it. > > In that case, the skinning system sucks and instead of thinking about > switching to WebKit, the Mixxx developers should think about switching back > to QtDesigner, an *excellent* tool for this. It includes previews and > drag-and-drop and whatever you want, and exports to a .ui file probably > similar to the .xml file you have now. You're using Qt, for gods sake, why > implement your own stuff when Qt does almost *everything* UI-related almost > perfectly by itself... > >> Agree with you there, Qt supports CSS declarative based UIs (the Qt >> Wolfenstein 3D demo is crazy cool).... Get some addtional flexibility with >> WebKit, could get some additional easy of use for editing wrt visual tools >> (Nvu? Dreamweaver?), but the trade off is bloat. > > There is no additional flexibility with WebKit, IMO. > > Sjors ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev _______________________________________________ Mixxx-devel mailing list Mixxx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mixxx-devel