traverso-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Traverso-commit] traverso resources/traverso.qrc resources/theme...


From: Nicola Doebelin
Subject: [Traverso-commit] traverso resources/traverso.qrc resources/theme...
Date: Mon, 13 Apr 2009 15:27:51 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Nicola Doebelin <n_doebelin>    09/04/13 15:27:51

Modified files:
        resources      : traverso.qrc 
        resources/themes/default: traversotheme.xml 
        resources/themes/medium-contrast: traversotheme.xml 
        resources/themes/ubuntu: traversotheme.xml 
        src/core       : Themer.cpp Themer.h 
        src/sheetcanvas: AudioClipView.cpp SheetView.cpp 
Added files:
        resources/themes/gradients: .DS_Store 

Log message:
        Better support for gradients added to the theme engine. See the new 
theme "gradients" for an example. Should be backwards compatible, but the 
":top" and ":bottom" theme entries are no longer supported. Replace them with a 
single line without the ":top" or ":bottom" suffix in custom theme files.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/traverso.qrc?cvsroot=traverso&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/themes/default/traversotheme.xml?cvsroot=traverso&r1=1.49&r2=1.50
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/themes/gradients/.DS_Store?cvsroot=traverso&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/themes/medium-contrast/traversotheme.xml?cvsroot=traverso&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/themes/ubuntu/traversotheme.xml?cvsroot=traverso&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Themer.cpp?cvsroot=traverso&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Themer.h?cvsroot=traverso&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/traverso/src/sheetcanvas/AudioClipView.cpp?cvsroot=traverso&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/traverso/src/sheetcanvas/SheetView.cpp?cvsroot=traverso&r1=1.14&r2=1.15

Patches:
Index: resources/traverso.qrc
===================================================================
RCS file: /sources/traverso/traverso/resources/traverso.qrc,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- resources/traverso.qrc      9 Feb 2009 18:53:43 -0000       1.2
+++ resources/traverso.qrc      13 Apr 2009 15:27:50 -0000      1.3
@@ -23,6 +23,7 @@
                <file 
alias="themes/ubuntu/traversotheme.xml">themes/ubuntu/traversotheme.xml</file> 
                <file 
alias="themes/medium-contrast/traversotheme.xml">themes/medium-contrast/traversotheme.xml</file>
 
                <file 
alias="themes/system-palette/traversotheme.xml">themes/system-palette/traversotheme.xml</file>
 
+               <file 
alias="themes/gradients/traversotheme.xml">themes/gradients/traversotheme.xml</file>
 
                <file alias="bus_in">images/bus-in.xpm</file>
                <file alias="bus_out">images/bus-out.xpm</file>
                <file alias="audiocard">images/soundcard.png</file>

Index: resources/themes/default/traversotheme.xml
===================================================================
RCS file: 
/sources/traverso/traverso/resources/themes/default/traversotheme.xml,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -b -r1.49 -r1.50
--- resources/themes/default/traversotheme.xml  30 Sep 2008 19:43:04 -0000      
1.49
+++ resources/themes/default/traversotheme.xml  13 Apr 2009 15:27:50 -0000      
1.50
@@ -57,32 +57,20 @@
                <color name="AudioClip:wavemacroview:outline" red="80" 
green="80" blue="120" alpha="255" />
                <color name="AudioClip:wavemacroview:outline:curvemode" 
red="135" green="130" blue="255" alpha="255" />
                <color name="AudioClip:wavemacroview:outline:muted" red="90" 
green="90" blue="90" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:top" red="145" 
green="145" blue="195" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:bottom" red="145" 
green="145" blue="195" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:hover:top" red="160" 
green="160" blue="215" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:hover:bottom" 
red="160" green="160" blue="215" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:muted:top" red="200" 
green="200" blue="200" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:muted:bottom" 
red="200" green="200" blue="200" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:curvemode:top" 
red="232" green="230" blue="255" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:curvemode:bottom" 
red="232" green="230" blue="255" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:curvemode:hover:top" 
red="232" green="230" blue="240" alpha="255" />
-               <color 
name="AudioClip:wavemacroview:brush:curvemode:hover:bottom" red="232" 
green="230" blue="240" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush" red="145" 
green="145" blue="195" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:hover" red="160" 
green="160" blue="215" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:muted" red="200" 
green="200" blue="200" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:curvemode" red="232" 
green="230" blue="255" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:curvemode:hover" 
red="232" green="230" blue="240" alpha="255" />
                <color name="AudioClip:wavemicroview"  red="150" green="150" 
blue="205"  alpha="255" />
                <color name="AudioClip:wavemicroview:curvemode"  red="210" 
green="210" blue="255"  alpha="255" />
-               <color name="AudioClip:background:muted:top"  red="245" 
green="245" blue="245"  alpha="170" />
-               <color name="AudioClip:background:muted:bottom"  red="245" 
green="245" blue="245"  alpha="170" />
-               <color name="AudioClip:background:recording:top"  red="255" 
green="255" blue="255"  alpha="170" />
-               <color name="AudioClip:background:recording:bottom"  red="255" 
green="255" blue="255"  alpha="170" />
-               <color name="AudioClip:background:muted:mousehover:top"  
red="255" green="255" blue="255"  alpha="170" />
-               <color name="AudioClip:background:muted:mousehover:bottom"  
red="255" green="255" blue="255"  alpha="170" />
-               <color name="AudioClip:background:selected:top"  red="101" 
green="111" blue="171"  alpha="170" />
-               <color name="AudioClip:background:selected:bottom"  red="101" 
green="111" blue="171"  alpha="170" />
-               <color name="AudioClip:background:selected:mousehover:top"  
red="111" green="121" blue="182"  alpha="170" />
-               <color name="AudioClip:background:selected:mousehover:bottom"  
red="111" green="121" blue="182"  alpha="170" />
-               <color name="AudioClip:background:top"  red="251" green="255" 
blue="251"  alpha="150" />
-               <color name="AudioClip:background:bottom"  red="251" 
green="255" blue="251"  alpha="150" />
-               <color name="AudioClip:background:mousehover:top"  red="255" 
green="253" blue="255"  alpha="200" />
-               <color name="AudioClip:background:mousehover:bottom"  red="255" 
green="253" blue="255"  alpha="200" />
+               <color name="AudioClip:background:muted"  red="245" green="245" 
blue="245"  alpha="170" />
+               <color name="AudioClip:background:recording"  red="255" 
green="255" blue="255"  alpha="170" />
+               <color name="AudioClip:background:muted:mousehover"  red="255" 
green="255" blue="255"  alpha="170" />
+               <color name="AudioClip:background:selected"  red="101" 
green="111" blue="171"  alpha="170" />
+               <color name="AudioClip:background:selected:mousehover"  
red="111" green="121" blue="182"  alpha="170" />
+               <color name="AudioClip:background"  red="251" green="255" 
blue="251"  alpha="150" />
+               <color name="AudioClip:background:mousehover"  red="255" 
green="253" blue="255"  alpha="200" />
                <color name="AudioClip:channelseperator"  red="178" green="191" 
blue="182"  alpha="255" />
                <color name="AudioClip:channelseperator:selected"  red="24" 
green="137" blue="210"  alpha="255" />
                <color name="AudioClip:contour"  red="80" green="80" blue="80"  
alpha="255" />

Index: resources/themes/medium-contrast/traversotheme.xml
===================================================================
RCS file: 
/sources/traverso/traverso/resources/themes/medium-contrast/traversotheme.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- resources/themes/medium-contrast/traversotheme.xml  30 Sep 2008 19:43:05 
-0000      1.7
+++ resources/themes/medium-contrast/traversotheme.xml  13 Apr 2009 15:27:50 
-0000      1.8
@@ -57,32 +57,20 @@
                <color name="AudioClip:wavemacroview:outline" red="0" green="0" 
blue="0" alpha="255" />
                <color name="AudioClip:wavemacroview:outline:curvemode" red="0" 
green="0" blue="0" alpha="255" />
                <color name="AudioClip:wavemacroview:outline:muted" red="0" 
green="0" blue="0" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:top" red="80" 
green="80" blue="180" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:bottom" red="80" 
green="80" blue="180" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:hover:top" red="80" 
green="80" blue="220" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:hover:bottom" 
red="80" green="80" blue="220" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:muted:top" red="200" 
green="200" blue="200" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:muted:bottom" 
red="200" green="200" blue="200" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:curvemode:top" 
red="80" green="80" blue="180" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:curvemode:bottom" 
red="80" green="80" blue="180" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:curvemode:hover:top" 
red="80" green="80" blue="220" alpha="255" />
-               <color 
name="AudioClip:wavemacroview:brush:curvemode:hover:bottom" red="80" green="80" 
blue="220" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush" red="80" green="80" 
blue="180" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:hover" red="80" 
green="80" blue="220" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:muted" red="200" 
green="200" blue="200" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:curvemode" red="80" 
green="80" blue="180" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:curvemode:hover" 
red="80" green="80" blue="220" alpha="255" />
                <color name="AudioClip:wavemicroview"  red="50" green="50" 
blue="200" alpha="255" />
                <color name="AudioClip:wavemicroview:curvemode"  red="50" 
green="50" blue="200" alpha="255" />
-               <color name="AudioClip:background:muted:top"  red="150" 
green="150" blue="150"  alpha="150" />
-               <color name="AudioClip:background:muted:bottom"  red="150" 
green="150" blue="150"  alpha="150" />
-               <color name="AudioClip:background:recording:top"  red="180" 
green="150" blue="150"  alpha="150" />
-               <color name="AudioClip:background:recording:bottom"  red="180" 
green="150" blue="150"  alpha="150" />
-               <color name="AudioClip:background:muted:mousehover:top"  
red="180" green="180" blue="180"  alpha="150" />
-               <color name="AudioClip:background:muted:mousehover:bottom"  
red="180" green="180" blue="180"  alpha="150" />
-               <color name="AudioClip:background:selected:top"  red="210" 
green="150" blue="150"  alpha="150" />
-               <color name="AudioClip:background:selected:bottom"  red="210" 
green="150" blue="150"  alpha="150" />
-               <color name="AudioClip:background:selected:mousehover:top"  
red="250" green="180" blue="180"  alpha="150" />
-               <color name="AudioClip:background:selected:mousehover:bottom"  
red="250" green="180" blue="180"  alpha="150" />
-               <color name="AudioClip:background:top"  red="180" green="180" 
blue="180"  alpha="150" />
-               <color name="AudioClip:background:bottom"  red="180" 
green="180" blue="180"  alpha="150" />
-               <color name="AudioClip:background:mousehover:top" red="200" 
green="200" blue="200"  alpha="150" />
-               <color name="AudioClip:background:mousehover:bottom" red="200" 
green="200" blue="200"  alpha="150" />
+               <color name="AudioClip:background:muted"  red="150" green="150" 
blue="150"  alpha="150" />
+               <color name="AudioClip:background:recording"  red="180" 
green="150" blue="150"  alpha="150" />
+               <color name="AudioClip:background:muted:mousehover"  red="180" 
green="180" blue="180"  alpha="150" />
+               <color name="AudioClip:background:selected"  red="210" 
green="150" blue="150"  alpha="150" />
+               <color name="AudioClip:background:selected:mousehover"  
red="250" green="180" blue="180"  alpha="150" />
+               <color name="AudioClip:background"  red="180" green="180" 
blue="180"  alpha="150" />
+               <color name="AudioClip:background:mousehover" red="200" 
green="200" blue="200"  alpha="150" />
                <color name="AudioClip:channelseperator"  red="200" green="100" 
blue="000"  alpha="255" />
                <color name="AudioClip:channelseperator:selected"  red="24" 
green="137" blue="210"  alpha="255" />
                <color name="AudioClip:contour"  red="0" green="0" blue="0"  
alpha="255" />

Index: resources/themes/ubuntu/traversotheme.xml
===================================================================
RCS file: /sources/traverso/traverso/resources/themes/ubuntu/traversotheme.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- resources/themes/ubuntu/traversotheme.xml   6 Mar 2009 10:56:47 -0000       
1.7
+++ resources/themes/ubuntu/traversotheme.xml   13 Apr 2009 15:27:51 -0000      
1.8
@@ -57,32 +57,20 @@
                <color name="AudioClip:wavemacroview:outline" red="0" green="0" 
blue="0" alpha="255" />
                <color name="AudioClip:wavemacroview:outline:curvemode" red="0" 
green="0" blue="0" alpha="255" />
                <color name="AudioClip:wavemacroview:outline:muted" red="0" 
green="0" blue="0" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:top" red="169" 
green="116" blue="72" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:bottom" red="169" 
green="116" blue="72" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:hover:top" red="200" 
green="145" blue="91" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:hover:bottom" 
red="200" green="145" blue="91" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:muted:top" red="239" 
green="236" blue="231"  alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:muted:bottom" 
red="239" green="236" blue="231"  alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:curvemode:top" 
red="169" green="116" blue="72" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:curvemode:bottom" 
red="169" green="116" blue="72" alpha="255" />
-               <color name="AudioClip:wavemacroview:brush:curvemode:hover:top" 
red="200" green="145" blue="91" alpha="255" />
-               <color 
name="AudioClip:wavemacroview:brush:curvemode:hover:bottom" red="200" 
green="145" blue="91" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush" red="169" 
green="116" blue="72" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:hover" red="200" 
green="145" blue="91" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:muted" red="239" 
green="236" blue="231"  alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:curvemode" red="169" 
green="116" blue="72" alpha="255" />
+               <color name="AudioClip:wavemacroview:brush:curvemode:hover" 
red="200" green="145" blue="91" alpha="255" />
                <color name="AudioClip:wavemicroview"  red="169" green="116" 
blue="72" alpha="255" />
                <color name="AudioClip:wavemicroview:curvemode"  red="169" 
green="116" blue="72" alpha="255" />
-               <color name="AudioClip:background:muted:top"  red="239" 
green="236" blue="231"  alpha="150" />
-               <color name="AudioClip:background:muted:bottom"  red="239" 
green="236" blue="231"  alpha="150" />
-               <color name="AudioClip:background:recording:top"  red="239" 
green="236" blue="231"  alpha="150" />
-               <color name="AudioClip:background:recording:bottom"  red="239" 
green="236" blue="231"  alpha="150" />
-               <color name="AudioClip:background:muted:mousehover:top"  
red="239" green="236" blue="231"  alpha="180" />
-               <color name="AudioClip:background:muted:mousehover:bottom"  
red="239" green="236" blue="231"  alpha="180" />
-               <color name="AudioClip:background:selected:top"  red="251" 
green="206" blue="138"  alpha="180" />
-               <color name="AudioClip:background:selected:bottom"  red="251" 
green="206" blue="138"  alpha="180" />
-               <color name="AudioClip:background:selected:mousehover:top"  
red="251" green="206" blue="138"  alpha="210" />
-               <color name="AudioClip:background:selected:mousehover:bottom"  
red="251" green="206" blue="138"  alpha="210" />
-               <color name="AudioClip:background:top"  red="239" green="236" 
blue="231"  alpha="150" />
-               <color name="AudioClip:background:bottom"  red="239" 
green="236" blue="231"  alpha="150" />
-               <color name="AudioClip:background:mousehover:top" red="239" 
green="236" blue="231"  alpha="180" />
-               <color name="AudioClip:background:mousehover:bottom" red="239" 
green="236" blue="231"  alpha="180" />
+               <color name="AudioClip:background:muted"  red="239" green="236" 
blue="231"  alpha="150" />
+               <color name="AudioClip:background:recording"  red="239" 
green="236" blue="231"  alpha="150" />
+               <color name="AudioClip:background:muted:mousehover"  red="239" 
green="236" blue="231"  alpha="180" />
+               <color name="AudioClip:background:selected"  red="251" 
green="206" blue="138"  alpha="180" />
+               <color name="AudioClip:background:selected:mousehover"  
red="251" green="206" blue="138"  alpha="210" />
+               <color name="AudioClip:background"  red="239" green="236" 
blue="231"  alpha="150" />
+               <color name="AudioClip:background:mousehover" red="239" 
green="236" blue="231"  alpha="180" />
                <color name="AudioClip:channelseperator"  red="200" green="100" 
blue="000"  alpha="255" />
                <color name="AudioClip:channelseperator:selected"  red="24" 
green="137" blue="210"  alpha="255" />
                <color name="AudioClip:contour"  red="0" green="0" blue="0"  
alpha="255" />

Index: src/core/Themer.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Themer.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- src/core/Themer.cpp 6 Feb 2009 14:39:21 -0000       1.11
+++ src/core/Themer.cpp 13 Apr 2009 15:27:51 -0000      1.12
@@ -17,7 +17,7 @@
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
 
-$Id: Themer.cpp,v 1.11 2009/02/06 14:39:21 r_sijrier Exp $
+$Id: Themer.cpp,v 1.12 2009/04/13 15:27:51 n_doebelin Exp $
 */
 
 #include "Themer.h"
@@ -30,6 +30,7 @@
 #include <QApplication>
 #include <QStyle>
 #include <QFileSystemWatcher>
+#include <QDebug>
 
 
 // Always put me below _all_ includes, this is needed
@@ -209,6 +210,44 @@
                colorNode = colorNode.nextSibling();
        }
                
+       QDomNode gradientsNode = docElem.firstChildElement("gradients");
+       QDomNode gradientNode = gradientsNode.firstChild();
+       
+       while(!gradientNode.isNull()) {
+               QLinearGradient gradient;
+       
+               QDomElement e = gradientNode.toElement();       
+               QString name = e.attribute("name", "");
+
+               QDomNode gradientStopNode = gradientNode.firstChild();
+
+               while(!gradientStopNode.isNull()) {
+                       QDomElement ee = gradientStopNode.toElement();  
+                       QColor color(
+                               ee.attribute("red").toUInt(),
+                               ee.attribute("green").toUInt(), 
+                               ee.attribute("blue").toUInt(), 
+                               ee.attribute("alpha").toInt()                   
        
+                       );
+                       
+                       if (coloradjust != 100) {
+                               int adjust = coloradjust - 100; 
+                               if (adjust < 0) {
+                                       color = color.dark(-1 * adjust + 100);
+                               } else {
+                                       color = color.light(adjust + 100);
+                               }
+                       }
+
+                       float value = ee.attribute("value", "0.0").toFloat();
+                       
+                       gradient.setColorAt(value, color);
+                       gradientStopNode = gradientStopNode.nextSibling();
+               }
+               
+               m_gradients.insert(name, gradient);
+               gradientNode = gradientNode.nextSibling();
+       }
                
        QDomNode fontsNode = docElem.firstChildElement("fonts");
        QDomNode fontNode = fontsNode.firstChild();
@@ -268,6 +307,41 @@
        }
 }
 
+// Returns the brush with the name "name". QPoints "start" and "end" are the
+// start and finalStop positions of linear gradients. If a solid colour is 
+// returned, both points are ignored.
+// If a gradient and a colour with the same name exists, colour brush will be
+// returned.
+QBrush Themer::get_brush(const QString& name, QPoint start, QPoint stop) const
+{
+       // check if there is a solid colour with the requested name.
+       if (m_colors.contains(name))
+       {
+               return QBrush(m_colors.value(name));
+       }
+
+       // no solid colour? Maybe it's a gradient.
+       if (m_gradients.contains(name))
+       {
+               QLinearGradient gradient = m_gradients.value(name);
+
+               // use a solid colour if the gradient only contains one stop 
point.
+               // saves a huge amount of resources in the painting routines.
+               if (gradient.stops().size() == 1) {
+                       return QBrush(gradient.stops().at(0).second);
+               }
+
+               gradient.setStart(start);
+               gradient.setFinalStop(stop);
+               gradient.setSpread(QGradient::ReflectSpread);
+       
+               return QBrush(gradient);
+       }
+       
+       // not a gradient either? return a fallback colour.
+       return QBrush(themer()->get_default_color(name));
+}
+
 QFont Themer::get_font(const QString& fontname) const
 {
        return m_fonts.value(fontname);
@@ -310,7 +384,7 @@
 QStringList Themer::get_builtin_themes()
 {
        QStringList list;
-       list << "system-palette" << "medium-contrast" << "ubuntu" << 
"TraversoLight";
+       list << "system-palette" << "medium-contrast" << "gradients" << 
"ubuntu" << "TraversoLight";
        return list;
 }
 
@@ -336,32 +410,20 @@
                if (name == "AudioClip:wavemacroview:outline") c = 
p.color(QPalette::WindowText);
                if (name == "AudioClip:wavemacroview:outline:curvemode") c = 
p.color(QPalette::WindowText);
                if (name == "AudioClip:wavemacroview:outline:muted") c = 
p.color(QPalette::WindowText);
-               if (name == "AudioClip:wavemacroview:brush:top") c = 
p.color(QPalette::Highlight);
-               if (name == "AudioClip:wavemacroview:brush:bottom") c = 
p.color(QPalette::Highlight);
-               if (name == "AudioClip:wavemacroview:brush:hover:top") c = 
p.color(QPalette::Highlight);
-               if (name == "AudioClip:wavemacroview:brush:hover:bottom") c = 
p.color(QPalette::Highlight);
-               if (name == "AudioClip:wavemacroview:brush:muted:top") c = 
p.color(QPalette::Base);
-               if (name == "AudioClip:wavemacroview:brush:muted:bottom") c = 
p.color(QPalette::Base);
-               if (name == "AudioClip:wavemacroview:brush:curvemode:top") c = 
p.color(QPalette::Highlight);
-               if (name == "AudioClip:wavemacroview:brush:curvemode:bottom") c 
= p.color(QPalette::Highlight);
-               if (name == 
"AudioClip:wavemacroview:brush:curvemode:hover:top") c = 
p.color(QPalette::Highlight);
-               if (name == 
"AudioClip:wavemacroview:brush:curvemode:hover:bottom") c = 
p.color(QPalette::Highlight);
+               if (name == "AudioClip:wavemacroview:brush") c = 
p.color(QPalette::Highlight);
+               if (name == "AudioClip:wavemacroview:brush:hover") c = 
p.color(QPalette::Highlight);
+               if (name == "AudioClip:wavemacroview:brush:muted") c = 
p.color(QPalette::Base);
+               if (name == "AudioClip:wavemacroview:brush:curvemode") c = 
p.color(QPalette::Highlight);
+               if (name == "AudioClip:wavemacroview:brush:curvemode:hover") c 
= p.color(QPalette::Highlight);
                if (name == "AudioClip:wavemicroview") c = 
p.color(QPalette::Highlight);
                if (name == "AudioClip:wavemicroview:curvemode") c = 
p.color(QPalette::Highlight);
-               if (name == "AudioClip:background:muted:top") c = 
p.color(QPalette::Base);
-               if (name == "AudioClip:background:muted:bottom") c = 
p.color(QPalette::Base);
-               if (name == "AudioClip:background:recording:top") c = 
p.color(QPalette::Base);
-               if (name == "AudioClip:background:recording:bottom") c = 
p.color(QPalette::Base);
-               if (name == "AudioClip:background:muted:mousehover:top") c = 
p.color(QPalette::Base);
-               if (name == "AudioClip:background:muted:mousehover:bottom") c = 
p.color(QPalette::Base);
-               if (name == "AudioClip:background:selected:top") c = 
p.color(QPalette::Highlight);
-               if (name == "AudioClip:background:selected:bottom") c = 
p.color(QPalette::Highlight);
-               if (name == "AudioClip:background:selected:mousehover:top") c = 
p.color(QPalette::Highlight);
-               if (name == "AudioClip:background:selected:mousehover:bottom") 
c = p.color(QPalette::Highlight);
-               if (name == "AudioClip:background:top") c = 
p.color(QPalette::Base);
-               if (name == "AudioClip:background:bottom") c = 
p.color(QPalette::Base);
-               if (name == "AudioClip:background:mousehover:top") c = 
p.color(QPalette::Base);
-               if (name == "AudioClip:background:mousehover:bottom") c = 
p.color(QPalette::Base);
+               if (name == "AudioClip:background:muted") c = 
p.color(QPalette::Base);
+               if (name == "AudioClip:background:recording") c = 
p.color(QPalette::Base);
+               if (name == "AudioClip:background:muted:mousehover") c = 
p.color(QPalette::Base);
+               if (name == "AudioClip:background:selected") c = 
p.color(QPalette::Highlight);
+               if (name == "AudioClip:background:selected:mousehover") c = 
p.color(QPalette::Highlight);
+               if (name == "AudioClip:background") c = p.color(QPalette::Base);
+               if (name == "AudioClip:background:mousehover") c = 
p.color(QPalette::Base);
                if (name == "AudioClip:channelseperator") c = 
p.color(QPalette::WindowText);
                if (name == "AudioClip:channelseperator:selected") c = 
p.color(QPalette::WindowText);
                if (name == "AudioClip:contour") c = 
p.color(QPalette::WindowText);

Index: src/core/Themer.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/Themer.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- src/core/Themer.h   15 Aug 2007 16:08:07 -0000      1.3
+++ src/core/Themer.h   13 Apr 2009 15:27:51 -0000      1.4
@@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
  
-    $Id: Themer.h,v 1.3 2007/08/15 16:08:07 n_doebelin Exp $
+    $Id: Themer.h,v 1.4 2009/04/13 15:27:51 n_doebelin Exp $
 */
 
 #ifndef COLORMANAGER_H
@@ -25,6 +25,7 @@
 
 #include <QObject>
 #include <QColor>
+#include <QLinearGradient>
 #include <QFont>
 #include <QHash>
 #include <QCursor>
@@ -51,6 +52,7 @@
        QPalette system_palette() const {return m_systempallete;}
        QStringList get_builtin_themes();
        QCursor get_cursor(const QString& name) const;
+       QBrush get_brush(const QString& name, QPoint start = QPoint(0,0), 
QPoint stop = QPoint(0,0)) const;
 
        static Themer* instance();
        
@@ -58,6 +60,7 @@
         Themer();
 
         QHash<QString, QColor>  m_colors;
+       QHash<QString, QLinearGradient> m_gradients;
        QHash<QString, QVariant> m_properties;
        QHash<QString, QFont>   m_fonts;
        QHash<QString, QCursor> m_cursors;

Index: src/sheetcanvas/AudioClipView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/sheetcanvas/AudioClipView.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- src/sheetcanvas/AudioClipView.cpp   4 Apr 2009 23:19:33 -0000       1.27
+++ src/sheetcanvas/AudioClipView.cpp   13 Apr 2009 15:27:51 -0000      1.28
@@ -47,6 +47,7 @@
 #include "PluginChain.h"
 
 #include <QFileDialog>
+#include <QLinearGradient>
 #include "dialogs/AudioClipEditDialog.h"
 #include "Fade.h"
 #include "AudioDevice.h"
@@ -610,153 +611,45 @@
 
 void AudioClipView::create_brushes()
 {
-       // make sure the brushes are made from solid colors (not gradients) if 
top and bottom color are equal
+       /** TODO: The following part is identical to calculations in 
draw_db_lines(). Move to a central place. **/
+       bool microView = m_sheet->get_hzoom() < 64 ? 1 : 0;
+       int height;
+       int channels = m_clip->get_channels();
 
-       // create brushes for background states
-       QColor bg_colRecTop = 
themer()->get_color("AudioClip:background:recording:top");
-       QColor bg_colRecBottom = 
themer()->get_color("AudioClip:background:recording:Bottom");
-       if (bg_colRecTop == bg_colRecBottom) {
-               m_brushBgRecording = QBrush(bg_colRecTop);
-       } else {
-               QLinearGradient bg_gradientRec(QPoint(0, 0), QPoint(0, 
m_height));
-               bg_gradientRec.setSpread(QGradient::RepeatSpread);
-               bg_gradientRec.setColorAt(0, bg_colRecTop);
-               bg_gradientRec.setColorAt(1, bg_colRecBottom);
-               m_brushBgRecording = QBrush(bg_gradientRec);
-       }
-
-       QColor bg_colMutedTop = 
themer()->get_color("AudioClip:background:muted:top");
-       QColor bg_colMutedBottom = 
themer()->get_color("AudioClip:background:muted:bottom");
-       if (bg_colMutedTop == bg_colMutedBottom) {
-               m_brushBgMuted = QBrush(bg_colMutedTop);
-       } else {
-               QLinearGradient bg_gradientMuted(QPoint(0, 0), QPoint(0, 
m_height));
-               bg_gradientMuted.setSpread(QGradient::RepeatSpread);
-               bg_gradientMuted.setColorAt(0, bg_colMutedTop);
-               bg_gradientMuted.setColorAt(1, bg_colMutedBottom);
-               m_brushBgMuted = QBrush(bg_gradientMuted);
-       }
-
-       QColor bg_colMutedHoverTop = 
themer()->get_color("AudioClip:background:muted:mousehover:top");
-       QColor bg_colMutedHoverBottom = 
themer()->get_color("AudioClip:background:muted:mousehover:bottom");
-       if (bg_colMutedHoverTop == bg_colMutedHoverBottom) {
-               m_brushBgMutedHover = QBrush(bg_colMutedHoverTop);
-       } else {
-               QLinearGradient bg_gradientMutedHover(QPoint(0, 0), QPoint(0, 
m_height));
-               bg_gradientMutedHover.setSpread(QGradient::RepeatSpread);
-               bg_gradientMutedHover.setColorAt(0, bg_colMutedHoverTop);
-               bg_gradientMutedHover.setColorAt(1, bg_colMutedHoverBottom);
-               m_brushBgMutedHover = QBrush(bg_gradientMutedHover);
-       }
-
-       QColor bg_colSelectedTop = 
themer()->get_color("AudioClip:background:selected:top");
-       QColor bg_colSelectedBottom = 
themer()->get_color("AudioClip:background:selected:bottom");
-       if (bg_colSelectedTop == bg_colSelectedBottom) {
-               m_brushBgSelected = QBrush(bg_colSelectedTop);
-       } else {
-               QLinearGradient bg_gradientSelected(QPoint(0, 0), QPoint(0, 
m_height));
-               bg_gradientSelected.setSpread(QGradient::RepeatSpread);
-               bg_gradientSelected.setColorAt(0, bg_colSelectedTop);
-               bg_gradientSelected.setColorAt(1, bg_colSelectedBottom);
-               m_brushBgSelected = QBrush(bg_gradientSelected);
-       }
-
-       QColor bg_colSelectedHoverTop = 
themer()->get_color("AudioClip:background:selected:mousehover:top");
-       QColor bg_colSelectedHoverBottom = 
themer()->get_color("AudioClip:background:selected:mousehover:bottom");
-       if (bg_colSelectedHoverTop == bg_colSelectedHoverBottom) {
-               m_brushBgSelectedHover = QBrush(bg_colSelectedHoverTop);
-       } else {
-               QLinearGradient bg_gradientSelectedHover(QPoint(0, 0), 
QPoint(0, m_height));
-               bg_gradientSelectedHover.setSpread(QGradient::RepeatSpread);
-               bg_gradientSelectedHover.setColorAt(0, bg_colSelectedHoverTop);
-               bg_gradientSelectedHover.setColorAt(1, 
bg_colSelectedHoverBottom);
-               m_brushBgSelectedHover = QBrush(bg_gradientSelectedHover);
-       }
-
-       QColor bg_colTop = themer()->get_color("AudioClip:background:top");
-       QColor bg_colBottom = 
themer()->get_color("AudioClip:background:bottom");
-       if (bg_colTop == bg_colBottom) {
-               m_brushBg = QBrush(bg_colTop);
-       } else {
-               QLinearGradient bg_gradient(QPoint(0, 0), QPoint(0, m_height));
-               bg_gradient.setSpread(QGradient::RepeatSpread);
-               bg_gradient.setColorAt(0, bg_colTop);
-               bg_gradient.setColorAt(1, bg_colBottom);
-               m_brushBg = QBrush(bg_gradient);
-       }
-
-       QColor bg_colHoverTop = 
themer()->get_color("AudioClip:background:mousehover:top");
-       QColor bg_colHoverBottom = 
themer()->get_color("AudioClip:background:mousehover:bottom");
-       if (bg_colHoverTop == bg_colHoverBottom) {
-               m_brushBgHover = QBrush(bg_colHoverTop);
-       } else {
-               QLinearGradient bg_gradientHover(QPoint(0, 0), QPoint(0, 
m_height));
-               bg_gradientHover.setSpread(QGradient::RepeatSpread);
-               bg_gradientHover.setColorAt(0, bg_colHoverTop);
-               bg_gradientHover.setColorAt(1, bg_colHoverBottom);
-               m_brushBgHover = QBrush(bg_gradientHover);
-       }
-
-       // Foreground (Waveforms)
-       QColor fg_colTop = 
themer()->get_color("AudioClip:wavemacroview:brush:top");
-       QColor fg_colBottom = 
themer()->get_color("AudioClip:wavemacroview:brush:bottom");
-       if (fg_colTop == fg_colBottom) {
-               m_brushFg = QBrush(fg_colTop);
-       } else {
-               QLinearGradient fg_gradient(QPoint(0, 0), QPoint(0, m_height));
-               fg_gradient.setSpread(QGradient::RepeatSpread);
-               fg_gradient.setColorAt(0, fg_colTop);
-               fg_gradient.setColorAt(1, fg_colBottom);
-               m_brushFg = QBrush(fg_gradient);
-       }
-
-       QColor fg_colHoverTop = 
themer()->get_color("AudioClip:wavemacroview:brush:hover:top");
-       QColor fg_colHoverBottom = 
themer()->get_color("AudioClip:wavemacroview:brush:hover:bottom");
-       if (fg_colHoverTop == fg_colHoverBottom) {
-               m_brushFgHover = QBrush(fg_colHoverTop);
-       } else {
-               QLinearGradient fg_gradientHover(QPoint(0, 0), QPoint(0, 
m_height));
-               fg_gradientHover.setSpread(QGradient::RepeatSpread);
-               fg_gradientHover.setColorAt(0, fg_colHoverTop);
-               fg_gradientHover.setColorAt(1, fg_colHoverBottom);
-               m_brushFgHover = QBrush(fg_gradientHover);
-       }
-
-       QColor fg_colEditTop = 
themer()->get_color("AudioClip:wavemacroview:brush:curvemode:top");
-       QColor fg_colEditBottom = 
themer()->get_color("AudioClip:wavemacroview:brush:curvemode:bottom");
-       if (fg_colEditTop == fg_colEditBottom) {
-               m_brushFgEdit = QBrush(fg_colEditTop);
-       } else {
-               QLinearGradient fg_gradientEdit(QPoint(0, 0), QPoint(0, 
m_height));
-               fg_gradientEdit.setSpread(QGradient::RepeatSpread);
-               fg_gradientEdit.setColorAt(0, fg_colEditTop);
-               fg_gradientEdit.setColorAt(1, fg_colEditBottom);
-               m_brushFgEdit = QBrush(fg_gradientEdit);
-       }
-
-       QColor fg_colEditHoverTop = 
themer()->get_color("AudioClip:wavemacroview:brush:curvemode:hover:top");
-       QColor fg_colEditHoverBottom = 
themer()->get_color("AudioClip:wavemacroview:brush:curvemode:hover:bottom");
-       if (fg_colEditHoverTop == fg_colEditHoverBottom) {
-               m_brushFgEditHover = QBrush(fg_colEditHoverTop);
-       } else {
-               QLinearGradient fg_gradientEditHover(QPoint(0, 0), QPoint(0, 
m_height));
-               fg_gradientEditHover.setSpread(QGradient::RepeatSpread);
-               fg_gradientEditHover.setColorAt(0, fg_colEditHoverTop);
-               fg_gradientEditHover.setColorAt(1, fg_colEditHoverBottom);
-               m_brushFgEditHover = QBrush(fg_gradientEditHover);
-       }
-
-       QColor fg_colMutedTop = 
themer()->get_color("AudioClip:wavemacroview:brush:muted:top");
-       QColor fg_colMutedBottom = 
themer()->get_color("AudioClip:wavemacroview:brush:muted:bottom");
-       if (fg_colMutedTop == fg_colMutedBottom) {
-               m_brushFgMuted = QBrush(fg_colMutedTop);
-       } else {
-               QLinearGradient fg_gradientMuted(QPoint(0, 0), QPoint(0, 
m_height));
-               fg_gradientMuted.setSpread(QGradient::RepeatSpread);
-               fg_gradientMuted.setColorAt(0, fg_colMutedTop);
-               fg_gradientMuted.setColorAt(1, fg_colMutedBottom);
-               m_brushFgMuted = QBrush(fg_gradientMuted);
+       if (m_mergedView) {
+               channels = 1;
+       }
+
+       // calculate the height of one channel
+       if (m_height >= m_mimimumheightforinfoarea) {
+               height = (m_height - m_infoAreaHeight) / channels;
+       } else {
+               height = m_height / channels;
        }
+
+       if (m_classicView || microView)
+       {
+               height *= 0.45;
+       } else {
+               height *= 0.95;
+       }
+       /** end of TODO **/
+
+       // create brushes for background states
+       m_brushBgRecording = 
themer()->get_brush("AudioClip:background:recording", QPoint(0, 0), QPoint(0, 
-m_height));
+       m_brushBgMuted = themer()->get_brush("AudioClip:background:muted", 
QPoint(0, 0), QPoint(0, -m_height));
+       m_brushBgMutedHover = 
themer()->get_brush("AudioClip:background:muted:mousehover", QPoint(0, 0), 
QPoint(0, -m_height));
+       m_brushBgSelected  = 
themer()->get_brush("AudioClip:background:selected", QPoint(0, 0), QPoint(0, 
-m_height));
+       m_brushBgSelectedHover = 
themer()->get_brush("AudioClip:background:selected:mousehover", QPoint(0, 0), 
QPoint(0, -m_height));
+       m_brushBg = themer()->get_brush("AudioClip:background", QPoint(0, 0), 
QPoint(0, -m_height));
+       m_brushBgHover = themer()->get_brush("AudioClip:background:mousehover", 
QPoint(0, 0), QPoint(0, -m_height));
+
+       // brushes for the wave form
+       m_brushFg = themer()->get_brush("AudioClip:wavemacroview:brush", 
QPoint(0, 0), QPoint(0, -height));
+       m_brushFgHover = 
themer()->get_brush("AudioClip:wavemacroview:brush:hover", QPoint(0, 0), 
QPoint(0, -height));
+       m_brushFgMuted = 
themer()->get_brush("AudioClip:wavemacroview:brush:muted", QPoint(0, 0), 
QPoint(0, -height));
+       m_brushFgEdit = 
themer()->get_brush("AudioClip:wavemacroview:brush:curvemode", QPoint(0, 0), 
QPoint(0, -height));
+       m_brushFgEditHover = 
themer()->get_brush("AudioClip:wavemacroview:brush:curvemode:hover", QPoint(0, 
0), QPoint(0, -height));
 }
 
 void AudioClipView::create_clipinfo_string()

Index: src/sheetcanvas/SheetView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/sheetcanvas/SheetView.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- src/sheetcanvas/SheetView.cpp       6 Mar 2009 18:03:54 -0000       1.14
+++ src/sheetcanvas/SheetView.cpp       13 Apr 2009 15:27:51 -0000      1.15
@@ -638,7 +638,7 @@
        m_trackTopIndent = themer()->get_property("Sheet:track:topindent", 
6).toInt();
        
        
m_clipsViewPort->setBackgroundBrush(themer()->get_color("Sheet:background"));
-       
m_tpvp->setBackgroundBrush(themer()->get_color("TrackPanel:background"));
+       m_tpvp->setBackgroundBrush(themer()->get_brush("TrackPanel:background", 
QPoint(0, 0), QPoint(0, m_tpvp->height())));
 
        layout_tracks();
 }

Index: resources/themes/gradients/.DS_Store
===================================================================
RCS file: resources/themes/gradients/.DS_Store
diff -N resources/themes/gradients/.DS_Store
Binary files /dev/null and /tmp/cvszO9VLF differ




reply via email to

[Prev in Thread] Current Thread [Next in Thread]