Implementation of next & previous instrument buttons in InstrumentTrackWindow

This commit is contained in:
Colin Wallace
2015-04-19 08:32:15 +00:00
parent 9888cb9069
commit 26fc16b78b
9 changed files with 266 additions and 3 deletions

View File

@@ -52,6 +52,7 @@ class InstrumentMidiIOView;
class InstrumentMiscView;
class Knob;
class LcdSpinBox;
class LeftRightNav;
class midiPortMenu;
class DataFile;
class PluginView;
@@ -416,16 +417,19 @@ protected:
protected slots:
void saveSettingsBtnClicked();
void viewNextInstrument();
void viewPrevInstrument();
private:
virtual void modelChanged();
void viewInstrumentInDirection(int d);
InstrumentTrack * m_track;
InstrumentTrackView * m_itv;
// widgets on the top of an instrument-track-window
QLineEdit * m_nameLineEdit;
LeftRightNav * m_leftRightNav;
Knob * m_volumeKnob;
Knob * m_panningKnob;
Knob * m_pitchKnob;

49
include/LeftRightNav.h Normal file
View File

@@ -0,0 +1,49 @@
/*
* LeftRightNav.cpp - side-by-side left-facing and right-facing arrows for navigation (looks like < > )
*
* Copyright (c) 2015 Colin Wallace <wallacoloo/at/gmail.com>
*
* This file is part of LMMS - http://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 LEFT_RIGHT_NAV_H
#define LEFT_RIGHT_NAV_H
#include "PixmapButton.h"
#include <QLayout>
class LeftRightNav : public QWidget
{
Q_OBJECT
public:
LeftRightNav(QWidget *parent=NULL);
PixmapButton* getLeftBtn();
PixmapButton* getRightBtn();
void setShortcuts(const QKeySequence &leftShortcut=Qt::Key_Minus, const QKeySequence &rightShortcut=Qt::Key_Plus);
signals:
void onNavLeft();
void onNavRight();
private:
QHBoxLayout m_layout;
PixmapButton m_leftBtn;
PixmapButton m_rightBtn;
};
#endif

View File

@@ -42,6 +42,7 @@ public:
void setActiveGraphic( const QPixmap & _pm );
void setInactiveGraphic( const QPixmap & _pm, bool _update = true );
QSize sizeHint() const;
signals:
void doubleClicked();

View File

@@ -111,6 +111,7 @@ public:
void moveTrackView( TrackView * trackView, int indexTo );
void moveTrackViewUp( TrackView * trackView );
void moveTrackViewDown( TrackView * trackView );
void scrollToTrackView( TrackView * _tv );
// -- for usage by trackView only ---------------
TrackView * addTrackView( TrackView * _tv );