LMMS
Loading...
Searching...
No Matches
TrackLabelButton.h
Go to the documentation of this file.
1/*
2 * TrackLabelButton.h - class trackLabelButton
3 *
4 * Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
5 *
6 * This file is part of LMMS - https://lmms.io
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public
19 * License along with this program (see COPYING); if not, write to the
20 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301 USA.
22 *
23 */
24
25#ifndef LMMS_GUI_TRACK_LABEL_BUTTON_H
26#define LMMS_GUI_TRACK_LABEL_BUTTON_H
27
28#include <string>
29
30#include <QToolButton>
31
32namespace lmms::gui
33{
34
35class TrackView;
36
38
39
40class TrackLabelButton : public QToolButton
41{
42 Q_OBJECT
43public:
44 TrackLabelButton( TrackView * _tv, QWidget * _parent );
45 ~TrackLabelButton() override = default;
46
47
48public slots:
49 void rename();
50 void renameFinished();
51 void nameChanged();
52
53
54protected:
55 void dragEnterEvent( QDragEnterEvent * _dee ) override;
56 void dropEvent( QDropEvent * _de ) override;
57 void mousePressEvent( QMouseEvent * _me ) override;
58 void mouseDoubleClickEvent( QMouseEvent * _me ) override;
59 void mouseReleaseEvent( QMouseEvent * _me ) override;
60 void paintEvent(QPaintEvent* pe) override;
61 void resizeEvent( QResizeEvent * _re ) override;
62
63private:
64 bool isInCompactMode() const;
65
66private:
68 std::string m_iconName;
71 QString elideName( const QString &name );
72
73} ;
74
75
76} // namespace lmms::gui
77
78#endif // LMMS_GUI_TRACK_LABEL_BUTTON_H
QString elideName(const QString &name)
Definition TrackLabelButton.cpp:230
void paintEvent(QPaintEvent *pe) override
Definition TrackLabelButton.cpp:195
void mouseReleaseEvent(QMouseEvent *_me) override
Definition TrackLabelButton.cpp:183
void nameChanged()
Definition TrackLabelButton.cpp:133
bool isInCompactMode() const
Definition TrackLabelButton.cpp:245
void mousePressEvent(QMouseEvent *_me) override
Definition TrackLabelButton.cpp:159
QRect m_buttonRect
Definition TrackLabelButton.h:70
void resizeEvent(QResizeEvent *_re) override
Definition TrackLabelButton.cpp:222
TrackView * m_trackView
Definition TrackLabelButton.h:67
void mouseDoubleClickEvent(QMouseEvent *_me) override
Definition TrackLabelButton.cpp:175
void rename()
Definition TrackLabelButton.cpp:77
TrackRenameLineEdit * m_renameLineEdit
Definition TrackLabelButton.h:69
TrackLabelButton(TrackView *_tv, QWidget *_parent)
Definition TrackLabelButton.cpp:44
void renameFinished()
Definition TrackLabelButton.cpp:113
~TrackLabelButton() override=default
void dropEvent(QDropEvent *_de) override
Definition TrackLabelButton.cpp:149
std::string m_iconName
Definition TrackLabelButton.h:68
void dragEnterEvent(QDragEnterEvent *_dee) override
Definition TrackLabelButton.cpp:141
Definition TrackRenameLineEdit.h:35
Definition TrackView.h:60
static const char * name
Definition pugl.h:1582
Definition AudioPortAudio.cpp:223