Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
6553624
First version of artwork tabs for the InstrumentTrackWindow.
Feb 12, 2016
7153709
Second version of artwork tabs for the InstrumentTrackWindow.
Feb 16, 2016
d996400
Created artwork for the artwork tabs.
Feb 18, 2016
f071393
1st PoC for autosizeable artwork tabs.
Feb 21, 2016
312764b
TabWidget is 20 pixels tall when it's going to display artwork tabs.
Feb 21, 2016
7ad9e32
Added tooltip support for the TabWidget class.
Feb 22, 2016
3f72119
Imported artworks from RebeccaDeField
Feb 22, 2016
466bb90
Reverted to 12px tall TabWidget
Feb 22, 2016
921c55e
Fine tuning for the positioning of artwork tabs: Take into account th…
Feb 22, 2016
857b6ed
New artwork for the ENV/LFO tab (has now an ADSR-based look)
Feb 25, 2016
3f09440
1) Tabs in TabWidget class have now a "tooltip" attribute. So that th…
Feb 25, 2016
fc15755
With artwork tabs, the length of tab's name is not limited anymore. S…
Feb 25, 2016
7aad86e
Fine tuning the positioning of highlighted artwork tabs.
Feb 25, 2016
d9edef3
Fixed an issue in TabWidget's artwork tabs autosize function that mak…
Feb 25, 2016
dccf9f4
TabWidget is 17 pixels tall when it's going to display artwork tabs.
Feb 26, 2016
37d9d36
Removed underscore prefix for function parameters as coding conventio…
Apr 27, 2016
1f0d846
Removed background gradient for TabWidget as LMMS is going to a more …
Apr 27, 2016
816dedb
Increased the graphical TabWidget's height by 2 pixels for eye-candy.
Apr 29, 2016
2bbd583
Removed gradient in GrouBox widgets as LMMS is going for a more flatt…
Apr 29, 2016
813ef95
Merge branch 'master' of https://github.com/LMMS/lmms into StCyr_Artw…
May 4, 2016
fa99562
Merge branch 'master' of https://github.com/LMMS/lmms into StCyr_Artw…
May 12, 2016
f201c50
Made the background of TabWidget themeable
May 12, 2016
3549e07
The highlighting color for a TabWidget'selected tab is now themeable.
May 12, 2016
179008f
Made TabWidget's Title text and tab text themeable.
May 13, 2016
e124afa
Added a darker background to the TabWidget's tab bar.
May 13, 2016
efac64c
Further flatened the design of TabWidget
May 13, 2016
d6c72ed
Flatened the design of the GroupBox widget
May 13, 2016
6c58450
Merge branch 'master' of https://github.com/LMMS/lmms into StCyr_Artw…
May 18, 2016
d9ca75c
Fine tuning the placement of TabWidgets' highlighting background
May 19, 2016
9256ed0
Made the TabWidget's title background and borders themeable
May 19, 2016
b75969e
TabWidget - Artwork tabs: Do not change the icon color when it is hig…
May 19, 2016
5b162c0
TabWidget: Made the artworks' color themeable
May 20, 2016
4217da7
Adapted format to follow LMMS coding conventions
Jul 15, 2016
0fed0b5
Some more blank spaces to tabs translation to comply with LMMS coding…
Jul 27, 2016
097124f
Some more blank spaces to tabs translation to comply with LMMS coding…
Aug 2, 2016
355698a
Revert "TabWidget: Made the artworks' color themeable"
Sep 5, 2016
08e9744
Made GroupBox's background color themeable
Sep 5, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions data/locale/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3261,13 +3261,11 @@ Vous pouvez supprimer et déplacer les canaux d'effet avec le menu contextu
</message>
<message>
<source>FUNC</source>
<translatorcomment>&quot;FONCTIONS&quot; (previous translation) is too long for the limited available width. </translatorcomment>
<translation>FONCT</translation>
<translation>FONCTIONS</translation>
</message>
<message>
<source>FX</source>
<translatorcomment>&quot;EFFETS&quot; (previous translation) is too long for the limited available width. &quot;FX&quot; should be understable by all</translatorcomment>
<translation>FX</translation>
<translation>EFFETS</translation>
</message>
<message>
<source>MIDI</source>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@liushuyu will this commit cause problems with the translation service you're managing?

Expand Down
Binary file added data/themes/default/env_lfo_active.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/env_lfo_inactive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/functions_active.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/functions_inactive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/fx_active.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/fx_inactive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/midi_active.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/midi_inactive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/misc_active.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/misc_inactive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/plugin_active.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/plugin_inactive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions data/themes/default/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,19 @@ PianoRoll {
qproperty-textShadow: rgb( 240, 240, 240 );
}

TabWidget {
background-color: #5b6571;
qproperty-tabText: rgb(32, 48, 64);
qproperty-tabTitleText: rgb(255, 255, 255);
qproperty-tabSelected: rgb(160, 160, 160);
qproperty-tabBackground: rgb(60, 67, 75);
qproperty-tabBorder: rgb(60, 67, 75);
}

GroupBox {
background-color: #5b6571;
}

/* main toolbar oscilloscope - can have transparent bg now */

VisualizationWidget {
Expand Down
2 changes: 1 addition & 1 deletion include/GroupBox.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ class GroupBox : public QWidget, public BoolModelView

protected:
virtual void mousePressEvent( QMouseEvent * _me );
virtual void resizeEvent( QResizeEvent * _re );
virtual void paintEvent( QPaintEvent * _pe );


private:
Expand Down
48 changes: 41 additions & 7 deletions include/TabWidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,47 @@
#include <QWidget>
#include <QtCore/QMap>

const int TEXT_TAB_HEIGHT = 14;
const int GRAPHIC_TAB_HEIGHT = 17;

class TabWidget : public QWidget
{
Q_OBJECT
public:
TabWidget( const QString & _caption, QWidget * _parent );
TabWidget( const QString & _caption, QWidget * _parent, bool usePixmap = false );
virtual ~TabWidget();

void addTab( QWidget * _w, const QString & _name, int _idx = -1 );
void addTab( QWidget *_w, const QString &_name, const QString &_tooltip = NULL, const char *activePixmap = NULL, const char *inactivePixmap = NULL, int _idx = -1 );

void setActiveTab( int _idx );

int findTabAtPos( const QPoint *pos );

inline int activeTab() const
{
return( m_activeTab );
}

// Themeability
Q_PROPERTY( QColor tabText READ tabText WRITE setTabText)
Q_PROPERTY( QColor tabTitleText READ tabTitleText WRITE setTabTitleText)
Q_PROPERTY( QColor tabSelected READ tabSelected WRITE setTabSelected)
Q_PROPERTY( QColor tabBackground READ tabBackground WRITE setTabBackground)
Q_PROPERTY( QColor tabBorder READ tabBorder WRITE setTabBorder)

QColor tabText() const;
void setTabText( const QColor & c );
QColor tabTitleText() const;
void setTabTitleText( const QColor & c );
QColor tabSelected() const;
void setTabSelected( const QColor & c );
QColor tabBackground() const;
void setTabBackground( const QColor & c );
QColor tabBorder() const;
void setTabBorder( const QColor & c );

protected:
virtual bool event( QEvent * event );
virtual void mousePressEvent( QMouseEvent * _me );
virtual void paintEvent( QPaintEvent * _pe );
virtual void resizeEvent( QResizeEvent * _re );
Expand All @@ -57,16 +79,28 @@ class TabWidget : public QWidget
private:
struct widgetDesc
{
QWidget * w; // ptr to widget
QString name; // name for widget
int nwidth; // width of name when painting
QWidget * w; // ptr to widget
const char *activePixmap; // artwork for the widget
const char *inactivePixmap; // artwork for the widget
QString name; // name for widget
QString tooltip; // name for widget
int nwidth; // width of name when painting (only valid for text tab)
} ;
typedef QMap<int, widgetDesc> widgetStack;

widgetStack m_widgets;
int m_activeTab;

int m_activeTab;
QString m_caption;
quint8 m_tabheight;
quint8 m_tabbarHeight; // The height of the tab bar
quint8 m_tabheight; // The height of the tabs
bool m_usePixmap; // true if the tabs are to be displayed with icons. False for text tabs.

QColor m_tabText; // The color of the tabs' text.
QColor m_tabTitleText; // The color of the TabWidget's title text.
QColor m_tabSelected; // The highlighting color for the selected tab.
QColor m_tabBackground; // The TabWidget's background color.
QColor m_tabBorder; // The TabWidget's borders color.
} ;

#endif
2 changes: 1 addition & 1 deletion src/gui/widgets/EffectRackView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ EffectRackView::EffectRackView( EffectChain* model, QWidget* parent ) :
ModelView( NULL, this )
{
QVBoxLayout* mainLayout = new QVBoxLayout( this );
mainLayout->setMargin( 0 );
mainLayout->setMargin( 5 );

m_effectsGroupBox = new GroupBox( tr( "EFFECTS CHAIN" ) );
mainLayout->addWidget( m_effectsGroupBox );
Expand Down
56 changes: 9 additions & 47 deletions src/gui/widgets/GroupBox.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ GroupBox::GroupBox( const QString & _caption, QWidget * _parent ) :
m_caption( _caption ),
m_titleBarHeight( 11 )
{
updatePixmap();
update();

m_led = new PixmapButton( this, _caption );
m_led->setCheckable( true );
Expand Down Expand Up @@ -86,60 +86,22 @@ void GroupBox::mousePressEvent( QMouseEvent * _me )



void GroupBox::resizeEvent( QResizeEvent * _ev )
void GroupBox::paintEvent( QPaintEvent * pe )
{
updatePixmap();
QWidget::resizeEvent( _ev );
}



void GroupBox::updatePixmap()
{
QColor bg_color = QApplication::palette().color( QPalette::Active,
QPalette::Background );
QPixmap pm( size() );
pm.fill( bg_color/*.dark( 132 )*/ );

QPainter p( &pm );
QPainter p( this );

// Draw background
p.fillRect( 0, 0, width() - 1, height() - 1, p.background() );

// outer rect
p.setPen( bg_color.dark( 150 ) );
p.setPen( p.background().color().dark( 150 ) );
p.drawRect( 0, 0, width() - 1, height() - 1 );

// brighter line at bottom/right
p.setPen( bg_color.light( 150 ) );
p.drawLine( width() - 1, 0, width() - 1, height() - 1 );
p.drawLine( 0, height() - 1, width() - 1, height() - 1 );

// draw groupbox-titlebar
QLinearGradient g( 0, 0, 0, m_titleBarHeight );
g.setColorAt( 0, bg_color.darker( 250 ) );
g.setColorAt( 0.1, bg_color.lighter( 120 ) );
g.setColorAt( 1, bg_color.darker( 250 ) );
p.fillRect( 2, 2, width() - 4, m_titleBarHeight, g );

// draw line below titlebar
p.setPen( bg_color.dark( 400 ) );
p.drawLine( 1, m_titleBarHeight + 1, width() - 3, m_titleBarHeight + 1 );

// black inner rect
p.drawRect( 1, 1, width() - 3, height() - 3 );
p.fillRect( 1, 1, width() - 2, m_titleBarHeight + 1, p.background().color().darker( 150 ) );


//p.setPen( QColor( 255, 255, 255 ) );
// draw text
p.setPen( palette().color( QPalette::Active, QPalette::Text ) );
p.setFont( pointSize<8>( font() ) );
p.drawText( 22, m_titleBarHeight, m_caption );

QPalette pal = palette();
pal.setBrush( backgroundRole(), QBrush( pm ) );
setPalette( pal );
}







3 changes: 2 additions & 1 deletion src/gui/widgets/InstrumentSoundShapingView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,8 @@ InstrumentSoundShapingView::InstrumentSoundShapingView( QWidget * _parent ) :
{
m_envLfoViews[i] = new EnvelopeAndLfoView( m_targetsTabWidget );
m_targetsTabWidget->addTab( m_envLfoViews[i],
tr( InstrumentSoundShaping::targetNames[i][0].toUtf8().constData() ) );
tr( InstrumentSoundShaping::targetNames[i][0].toUtf8().constData() ),
NULL );
}


Expand Down
Loading