From a463594bb29d5a7f3bb29ded2f74a4cbc0b408ab Mon Sep 17 00:00:00 2001 From: Vesa Date: Tue, 24 Jun 2014 21:07:15 +0300 Subject: [PATCH] FxMixerView, FxLine: graphics & layout fixes --- data/themes/default/mixer_send_on.png | Bin 1578 -> 1675 bytes data/themes/default/send_bg_arrow.png | Bin 270 -> 316 bytes include/FxLine.h | 3 +++ src/gui/FxMixerView.cpp | 4 ++-- src/gui/widgets/FxLine.cpp | 20 +++++++++++--------- 5 files changed, 16 insertions(+), 11 deletions(-) diff --git a/data/themes/default/mixer_send_on.png b/data/themes/default/mixer_send_on.png index 15c8fac44750213687ef9aa08cf855b1302f3b8d..5982ea3f69d31aca2dadd375bf160bec493251c1 100644 GIT binary patch delta 1616 zcmV-W2Cw<542unrDlz{6>HxhWg66aU000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2i^u45i2F$oxMhpTPT0?Nkl6%sF0cYqXx^B4A0Kk1T)xd=lCl#=fUv;^pi~Rqc48rJO5fcJvAB)>QELMV+364 z;Xuq?CPovun>c@9mIxY2sV9WOix_ct@4L=pSt0Ho2)?$q=AjrIy6p#Fzi-x^84-^F zvwlcmtfx<%m>NtBSXi9D-YrjtvY?0sF(?`XK?A6u=ths+F*g7_IXU-acly4k?|V|0 z`P^MIPsLD7ZDU=HH}b5{N<8QXU&b#^V091z47k5?>#(b93~h$Ok14iN(mg-ArfO%Xwk~#)@ygO zX~!0}T(^^YG@uyNl!KC3mc%j=Vnp;j)ErBR)b;dTN7r=p>kUhX=Q(w3h2__dO-j^% zL~_wkc|(8lcp0rE${=_V%c%7wBR22a%GPV&M?Ep58V)Fj6|pLabwwEqv(#q(hbQlUlt2FB z099S{r>9@!nFk-|>4#D(P+f-(FK2o^^l)``(d7aZjH;?BCkAYv+Qstg3oO5}Kv5SAs+tg06pabjmR_Tf1Y8u=vZ`44 z=P`fYIPyBHODnwm@*P#}+AyLJZT0Xh%Rx495X+x4a=*hw0lt!s6k1Ui$HY|G3p} zzV%a{zyFtWb92MpxNPSY z+_2}P9C~IBHwSla`qCb@eQ-B%P~zE``qT}irep3W2eIt9Z=_}8>YJ{|vte#DP3sET z5f8X4RNi2gA>}@K?lZa196$UPum0*~ranH6rHq^N;)74|+;{i$&aqX_ynT{>y5~2m%U`jTT$ZXbfmj9LKYh zyF_jiecREGTT;_-^2j3ZES;hscXVwsg}$K8BPx&Q*u#KVtYbYj>y49r`Se>SCfAOi zX8CXP#2C;JP*qd|0vpC~;dQ{qJ-Xp$q@2mgNO{8s>w2&pTr6Yh6v+~YTxWko{5Y?8 zW^=}6ylwkcb7H#GH7(t^rEOZewxerWx~4f_cXVw>-*vQYOWQWIF`W(= zYK1GHfvBLeG1!7ACW7E7PI5)O2ZzoKv4j|ib+lGe*gHg@k?H^cIb4WYcbVX60z0I{ zq(h}-s7jU|mx6#XmXd;wo_@B^{B=G O00006~{kkW`0li-nQHAw!2$amUatK!$UM} zO6Z~x42A%v6=EAnB=Lob@r5zrf6(~Ghp2BrOaydGqoG2vK~j;n(n1r1wxCP&2zUZ0 z2oK4p^}n4dAGL8n-;@X=7BL1f7Gnf428bhWT##i^nu;` zzPEB^ach=knT?&qaU>W_eQiT9VjA^^AP7cKUtz4nS0y4=optKVN{ew0@wyKWs>qfWhEr&g;`Yt+eV8CjN*)f?364eEbu8Z_26SktqH^?mE^U z)rC#N18jdBxq-NrlGJKMX$R0H2`;i&=P=#p4L;y~2Q+Gz6xLylrT>;;FqYMsB}`(S zU{WE3=k#bWiiiPckTk9*Hf_}C+cHF`JiqzDvmE`^VbV0^#LGwd?NbMM`N;!Vu^c`4 zJIcJIRIE4|DInhlrDe%hMMa-SatifBiA)jRp(nX8HT+cZs8fLq8fLNfOdV#^A_} zER0VwJ3fhxW0EAsMMexH*FasT;4y%W)0D}x<0Rv~EX^$N#=#?O-+M3d$~<%Dr&ug5 zQx$&}*Is6RVw#D!|Hg8@%F@gQ{UF@A^0{)Oh8mFL2*Cb~AN;lIZ?O=zO6O z5F;pbl_gZZlgbLW-M^EWGZVb=%q#Dg)Zy=p@!Ag$(p+2t;8Ty>&FepY@!yKSZ_D7n ztbAA_oOV{cKoz{#j<$F<+_;I`AH0*l9DaY35IRA-zWM+++;I~wjZq&M`RwhKdC93~ zj}WQ=st`Kbbj#>%Xi!k4-7XX;6|EEv2G9VNLc44iAyl5=12bnP`17F?+&p?Kp$ceF zjy-vZ-+%uFu1qg-Y3c%1v&HcCZM2&$LRGOcf0>iNJi@8xUt|5p`Uq9PR{RR(@V_1J%MwsD+U%3!H8hGYJ}497wCG6$A>^wdWs?^ zZ?=eCJZ}R*(Q2>k3Lg^uFUe@wIeJg4f8eIK=4b!0qblDUEZZ?r5)&m6##n!>HHerF zd+AtI=q8@`itox{(PdoZ1)qQ9;kP0e@u=Jx{-ewE_6?kSZ~4;Jt=m3%dSGbi^qQXa z5+$**&WN$b7;7X=V#G+-%oXjhRV$*whv1CWByyTXaX_J7t0hyj7vA}wOdR0XdQu!l z9M%|&bdBvA$qrMvX5t#qP@yux6Lhz1*Z;e7_~`cKPhz@(zFYPN<-zN;C?6dE1W3NM U#=Qaqf&c&j07*qoM6N<$f|3^Gu>b%7 diff --git a/data/themes/default/send_bg_arrow.png b/data/themes/default/send_bg_arrow.png index daeb9fe65d0751485a381a456316dab9fe3c9b71..8c4bfcf93f39b1619f90db29ada90498c759b63e 100644 GIT binary patch delta 286 zcmeBU+QSsx8Q|y6%O%Cdz`(%k>ERLtq-BBFf`bi6GJg8p1*F)Lyxm95wgVRr7cP+wL*0e0OQ3mlRLXrawA5+w6Mgb38xKY3Qq{ z1|)RERLtq-B8Ef`bi6zB8Dy1xT?adAqwX6f*p0SP;7Z zDJxKfv%n*=n1O*?7=#%aX3dcR3bL1Y`ns~;W0vRDkYc{8mpU<8qrS}3#W5t}@Y_p< zTnz?14i{fpIbtjjMl2WC%fKE7}5`U4zRhwdz3|C*rqf%9up;)Zs&4JC`NEt>!G9m^Dbi6v`p TA2`bcbQXiBtDnm{r-UW|0327E diff --git a/include/FxLine.h b/include/FxLine.h index 2445e2aac..2f55bf3eb 100644 --- a/include/FxLine.h +++ b/include/FxLine.h @@ -61,10 +61,13 @@ public: static const int FxLineHeight; private: + static void drawFxLine( QPainter* p, const FxLine *fxLine, const QString& name, bool isActive, bool sendToThis ); + FxMixerView * m_mv; LcdWidget* m_lcd; int m_channelIndex; QBrush m_backgroundActive; + static QPixmap * s_sendBgArrow; private slots: void renameChannel(); diff --git a/src/gui/FxMixerView.cpp b/src/gui/FxMixerView.cpp index f55112e26..86c6c735d 100644 --- a/src/gui/FxMixerView.cpp +++ b/src/gui/FxMixerView.cpp @@ -121,7 +121,7 @@ FxMixerView::FxMixerView() : channelArea->setMinimumWidth( fxLineSize.width() * 6 ); channelArea->setFixedHeight( fxLineSize.height() + style()->pixelMetric( QStyle::PM_ScrollBarExtent ) ); - ml->addWidget(channelArea); + ml->addWidget( channelArea, 1, Qt::AlignTop ); // show the add new effect channel button QPushButton * newChannelBtn = new QPushButton( embed::getIconPixmap( "new_channel" ), QString::null, this ); @@ -132,7 +132,7 @@ FxMixerView::FxMixerView() : // add the stacked layout for the effect racks of fx channels - ml->addWidget( m_racksWidget, 0, Qt::AlignTop ); + ml->addWidget( m_racksWidget, 0, Qt::AlignTop | Qt::AlignRight ); setCurrentFxLine( m_fxChannelViews[0]->m_fxLine ); diff --git a/src/gui/widgets/FxLine.cpp b/src/gui/widgets/FxLine.cpp index ac051d799..ce696cc10 100644 --- a/src/gui/widgets/FxLine.cpp +++ b/src/gui/widgets/FxLine.cpp @@ -40,12 +40,18 @@ #include "caption_menu.h" const int FxLine::FxLineHeight = 287; +QPixmap * FxLine::s_sendBgArrow = NULL; FxLine::FxLine( QWidget * _parent, FxMixerView * _mv, int _channelIndex) : QWidget( _parent ), m_mv( _mv ), m_channelIndex( _channelIndex ) { + if( ! s_sendBgArrow ) + { + s_sendBgArrow = new QPixmap( embed::getIconPixmap( "send_bg_arrow", 29, 56 ) ); + } + setFixedSize( 33, FxLineHeight ); setAttribute( Qt::WA_OpaquePaintEvent, true ); setCursor( QCursor( embed::getIconPixmap( "hand" ), 0, 0 ) ); @@ -97,7 +103,7 @@ void FxLine::setChannelIndex(int index) { } -static void drawFxLine( QPainter* p, const FxLine *fxLine, const QString& name, bool isActive, bool sendToThis ) +void FxLine::drawFxLine( QPainter* p, const FxLine *fxLine, const QString& name, bool isActive, bool sendToThis ) { int width = fxLine->rect().width(); int height = fxLine->rect().height(); @@ -111,10 +117,7 @@ static void drawFxLine( QPainter* p, const FxLine *fxLine, const QString& name, p->fillRect( fxLine->rect(), isActive ? fxLine->backgroundActive() : p->background() ); - p->setPen( QColor( 0, 0, 0, 75 ) ); - p->drawRect( 0, 0, width-2, height-2 ); - - p->setPen( QColor( 255, 255, 255, 75 ) ); + p->setPen( QColor( 255, 255, 255, isActive ? 100 : 50 ) ); p->drawRect( 1, 1, width-3, height-3 ); p->setPen( isActive ? sh_color : QColor( 0, 0, 0, 50 ) ); @@ -123,8 +126,7 @@ static void drawFxLine( QPainter* p, const FxLine *fxLine, const QString& name, // draw the mixer send background if( sendToThis ) { - p->drawPixmap( 3, 0, 28, 56, - embed::getIconPixmap("send_bg_arrow", 28, 56 ) ); + p->drawPixmap( 2, 0, 29, 56, *FxLine::s_sendBgArrow ); } // draw the channel name @@ -145,11 +147,11 @@ void FxLine::paintEvent( QPaintEvent * ) { FxMixer * mix = engine::fxMixer(); bool sendToThis = mix->channelSendModel( - m_mv->currentFxLine()->m_channelIndex, m_channelIndex) != NULL; + m_mv->currentFxLine()->m_channelIndex, m_channelIndex ) != NULL; QPainter painter; painter.begin( this ); drawFxLine( &painter, this, - mix->effectChannel(m_channelIndex)->m_name, + mix->effectChannel( m_channelIndex )->m_name, m_mv->currentFxLine() == this, sendToThis ); painter.end(); }