mirror of
https://github.com/LMMS/lmms.git
synced 2026-01-20 12:28:05 -05:00
* First version of artwork tabs for the InstrumentTrackWindow. This version can only display & manage artwork tabs, which breaks the InstrumentSoundShapingView as it still uses text tabs. I'm planing to improve this implementation to let these artwork tabs fall back to text mode when no artwork is given. This would solve the problem of the InstrumentSoundShapingView. * Second version of artwork tabs for the InstrumentTrackWindow. This version will draw an artwork tab when the TabWidget::addTab function is given a pixmapName. Otherwise, when pixmapName is NULL, it will fall back drawing a text tab. * Created artwork for the artwork tabs. * 1st PoC for autosizeable artwork tabs. * TabWidget is 20 pixels tall when it's going to display artwork tabs. * Added tooltip support for the TabWidget class. Atm, tooltips are simply tabs' name. * Imported artworks from RebeccaDeField * Reverted to 12px tall TabWidget * Fine tuning for the positioning of artwork tabs: Take into account the caption 'space. * New artwork for the ENV/LFO tab (has now an ADSR-based look) * 1) Tabs in TabWidget class have now a "tooltip" attribute. So that they can now show more meaningfull information then simply the tab's name. 2) Fixed the compilation problem with QT5 * Fine tuning the positioning of highlighted artwork tabs. * Fixed an issue in TabWidget's artwork tabs autosize function that makes gdb crash with SIGFPE. * TabWidget is 17 pixels tall when it's going to display artwork tabs. * Removed underscore prefix for function parameters as coding convention has changed. (Request atdccf9f4119 (r61165005)) Cyrille * Removed background gradient for TabWidget as LMMS is going to a more flat design. Cyrille * Increased the graphical TabWidget's height by 2 pixels for eye-candy. The InstrumentTrackWindow's height has been increased by the same amount. Cyrille * Removed gradient in GrouBox widgets as LMMS is going for a more flattened design. Cyrille * Made the background of TabWidget themeable Cyrille * The highlighting color for a TabWidget'selected tab is now themeable. * Made TabWidget's Title text and tab text themeable. * Added a darker background to the TabWidget's tab bar. * Further flatened the design of TabWidget * Flatened the design of the GroupBox widget * Fine tuning the placement of TabWidgets' highlighting background + some code cleaning in TabWidgets * Made the TabWidget's title background and borders themeable * TabWidget - Artwork tabs: Do not change the icon color when it is highlighted * TabWidget: Made the artworks' color themeable * Adapted format to follow LMMS coding conventions * Some more blank spaces to tabs translation to comply with LMMS coding standards. * Some more blank spaces to tabs translation to comply with LMMS coding standards. * Revert "TabWidget: Made the artworks' color themeable" This reverts commit5b162c07e2. Conflicts: src/gui/widgets/TabWidget.cpp Reason: Artwork's color themeability had the side-effect that it removed the artworks' alpha channel, thus making them ugly. * Made GroupBox's background color themeable * Update background color, only use one set of images * Use name as tooltip, more descriptive names * Update icons and colors * more things * formatting fixes * Remove update() from constructor
77 lines
1.6 KiB
C++
77 lines
1.6 KiB
C++
/*
|
|
* GroupBox.h - LMMS-groupbox
|
|
*
|
|
* Copyright (c) 2005-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
|
*
|
|
* This file is part of LMMS - https://lmms.io
|
|
*
|
|
* 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.
|
|
*
|
|
*/
|
|
|
|
|
|
#ifndef GROUP_BOX_H
|
|
#define GROUP_BOX_H
|
|
|
|
#include <QWidget>
|
|
|
|
#include "AutomatableModelView.h"
|
|
#include "PixmapButton.h"
|
|
|
|
|
|
class QPixmap;
|
|
|
|
|
|
class GroupBox : public QWidget, public BoolModelView
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
GroupBox( const QString & _caption, QWidget * _parent = NULL );
|
|
virtual ~GroupBox();
|
|
|
|
virtual void modelChanged();
|
|
|
|
PixmapButton * ledButton()
|
|
{
|
|
return m_led;
|
|
}
|
|
|
|
int titleBarHeight() const
|
|
{
|
|
return m_titleBarHeight;
|
|
}
|
|
|
|
|
|
protected:
|
|
virtual void mousePressEvent( QMouseEvent * _me );
|
|
virtual void paintEvent( QPaintEvent * _pe );
|
|
|
|
|
|
private:
|
|
void updatePixmap();
|
|
|
|
PixmapButton * m_led;
|
|
QString m_caption;
|
|
const int m_titleBarHeight;
|
|
|
|
} ;
|
|
|
|
|
|
typedef BoolModel groupBoxModel;
|
|
|
|
|
|
#endif
|