LmmsPalette - continuing... still not working yet

This commit is contained in:
Vesa
2014-04-11 07:14:37 +03:00
parent 43cb962ae1
commit ec69c48e5f
5 changed files with 170 additions and 69 deletions

View File

@@ -65,6 +65,7 @@
#include "ProjectRenderer.h"
#include "DataFile.h"
#include "song.h"
#include "LmmsPalette.h"
static inline QString baseName( const QString & _file )
{
@@ -390,6 +391,12 @@ int main( int argc, char * * argv )
{
// init style and palette
QApplication::setStyle( new LmmsStyle() );
LmmsPalette * lmmspal = new LmmsPalette( NULL );
QPalette lpal = lmmspal->palette();
QApplication::setPalette( lpal );
LmmsStyle::s_palette = &lpal;
// show splash screen
QSplashScreen splashScreen( embed::getIconPixmap( "splash" ) );

71
src/gui/LmmsPalette.cpp Normal file
View File

@@ -0,0 +1,71 @@
/*
* LmmsPalette.h - dummy class for fetching palette qproperties from CSS
*
*
* Copyright (c) 2007-2014 Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program (see COPYING); if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
*/
#include <QApplication>
#include <QStyle>
#include "LmmsPalette.h"
#include "LmmsStyle.h"
LmmsPalette::LmmsPalette( QWidget * parent ) : QWidget( parent ),
m_background( 0,0,0 ),
m_windowText( 0,0,0 ),
m_base( 0,0,0 ),
m_text( 0,0,0 ),
m_button( 0,0,0 ),
m_shadow( 0,0,0 ),
m_buttonText( 0,0,0 ),
m_brightText( 0,0,0 ),
m_highlight( 0,0,0 ),
m_highlightedText( 0,0,0 )
{
setStyle( QApplication::style() );
}
LmmsPalette::~LmmsPalette()
{
}
QPalette LmmsPalette::palette() const
{
QPalette pal = style()->standardPalette();
pal.setColor( QPalette::Background, background() );
pal.setColor( QPalette::WindowText, windowText() );
pal.setColor( QPalette::Base, base() );
pal.setColor( QPalette::ButtonText, buttonText() );
pal.setColor( QPalette::BrightText, brightText() );
pal.setColor( QPalette::Text, text() );
pal.setColor( QPalette::Button, button() );
pal.setColor( QPalette::Shadow, shadow() );
pal.setColor( QPalette::Highlight, highlight() );
pal.setColor( QPalette::HighlightedText, highlightedText() );
return pal;
}
#include "moc_LmmsPalette.cxx"

View File

@@ -33,7 +33,7 @@
#include <QWidget>
#include "LmmsStyle.h"
#include "LmmsPalette.h"
const int BUTTON_LENGTH = 24;
@@ -107,7 +107,7 @@ static const char * const s_scrollbarArrowLeftXpm[] = {
"..#$$%",
"...+@@"};
QPalette * LmmsStyle::s_palette = NULL;
QLinearGradient getGradient( const QColor & _col, const QRectF & _rect )
{
@@ -197,13 +197,6 @@ void drawPath( QPainter *p, const QPainterPath &path,
LmmsPalette::LmmsPalette( QWidget * _parent ) : QWidget( _parent )
{
setStyle( QApplication::style() );
}
LmmsStyle::LmmsStyle() :
QPlastiqueStyle()
{
@@ -219,9 +212,11 @@ LmmsStyle::LmmsStyle() :
QPalette LmmsStyle::standardPalette( void ) const
{
LmmsPalette * lmmspal = new LmmsPalette( NULL );
if( s_palette != NULL) return * s_palette;
QPalette pal = QPlastiqueStyle::standardPalette();
/* sane defaults in case fetching from stylesheet fails*/
/*
pal.setColor( QPalette::Background, QColor( 91, 101, 113 ) );
@@ -235,18 +230,6 @@ QPalette LmmsStyle::standardPalette( void ) const
pal.setColor( QPalette::Highlight, QColor( 100, 100, 100 ) );
pal.setColor( QPalette::HighlightedText, QColor( 255, 255, 255 ) );
*/
/* fetch from stylesheet using LmmsPalette */
pal.setColor( QPalette::Background, lmmspal->background() );
pal.setColor( QPalette::WindowText, lmmspal->windowText() );
pal.setColor( QPalette::Base, lmmspal->base() );
pal.setColor( QPalette::ButtonText, lmmspal->buttonText() );
pal.setColor( QPalette::BrightText, lmmspal->brightText() );
pal.setColor( QPalette::Text, lmmspal->text() );
pal.setColor( QPalette::Button, lmmspal->button() );
pal.setColor( QPalette::Shadow, lmmspal->shadow() );
pal.setColor( QPalette::Highlight, lmmspal->highlight() );
pal.setColor( QPalette::HighlightedText, lmmspal->highlightedText() );
return( pal );
}