wip cue list básica en una capa.
This commit is contained in:
parent
647b75f168
commit
52b44a4d7c
7 changed files with 250 additions and 217 deletions
|
@ -2,17 +2,21 @@
|
|||
#define CUETRACKLISTWIDGET_H
|
||||
#include <QWidget>
|
||||
#include <QScrollArea>
|
||||
#include <QVBoxLayout>
|
||||
#include <QEvent>
|
||||
#include <QKeyEvent>
|
||||
#include <QShortcut>
|
||||
|
||||
#include "cuetrackwidget.h"
|
||||
|
||||
class CueTrackListWidget : public QWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
size_t size = 0;
|
||||
size_t m_size = 0;
|
||||
size_t size() const { return m_size; }
|
||||
size_t selectedIndex = 0;
|
||||
|
||||
explicit CueTrackListWidget(QWidget *parent = nullptr) : QWidget(parent) {
|
||||
layout = new QVBoxLayout();
|
||||
layout = new QVBoxLayout();
|
||||
containerWidget = new QWidget();
|
||||
containerWidget->setLayout(layout);
|
||||
|
||||
|
@ -22,33 +26,69 @@ public:
|
|||
|
||||
QVBoxLayout* mainLayout = new QVBoxLayout(this);
|
||||
mainLayout->addWidget(scrollArea);
|
||||
layout->setAlignment(Qt::AlignTop);
|
||||
setLayout(mainLayout);
|
||||
|
||||
QShortcut *shortcut_up = new QShortcut(QKeySequence("Up"), parent);
|
||||
QObject::connect(shortcut_up, SIGNAL(activated()), this, SLOT(key_up()));
|
||||
QShortcut *shortcut_down = new QShortcut(QKeySequence("Down"), parent);
|
||||
QObject::connect(shortcut_down, SIGNAL(activated()), this, SLOT(key_down()));
|
||||
}
|
||||
|
||||
void addCueTrackWidget(CueTrackWidget* widget) {
|
||||
layout->addWidget(widget);
|
||||
size++;
|
||||
widget->setParent(containerWidget);
|
||||
layout->addWidget(widget);
|
||||
widget->show();
|
||||
m_size++;
|
||||
containerWidget->update();
|
||||
containerWidget->adjustSize();
|
||||
}
|
||||
|
||||
void clear() {
|
||||
QLayoutItem* item;
|
||||
while ((item = layout->takeAt(0)) != nullptr) {
|
||||
void removeCueTrackWidget(size_t index) {
|
||||
if (index >= m_size) return;
|
||||
|
||||
QLayoutItem* item = layout->takeAt(index);
|
||||
if (item) {
|
||||
delete item->widget();
|
||||
delete item;
|
||||
}
|
||||
size = 0;
|
||||
}
|
||||
m_size--;
|
||||
}
|
||||
}
|
||||
|
||||
CueTrackWidget* getTrackAtIndex(size_t index) {
|
||||
if (index < this->size) {
|
||||
if (index < m_size) {
|
||||
return qobject_cast<CueTrackWidget*>(layout->itemAt(index)->widget());
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
CueTrackWidget* getSelectedTrack() {
|
||||
CueTrackWidget* track = getTrackAtIndex(selectedIndex);
|
||||
key_down();
|
||||
return track;
|
||||
}
|
||||
|
||||
private:
|
||||
QScrollArea* scrollArea;
|
||||
QWidget* containerWidget;
|
||||
QVBoxLayout* layout;
|
||||
|
||||
private slots:
|
||||
void key_up() {
|
||||
if (m_size > 0 && selectedIndex > 0) {
|
||||
getTrackAtIndex(selectedIndex)->highlight(false);
|
||||
selectedIndex--;
|
||||
getTrackAtIndex(selectedIndex)->highlight(true);
|
||||
}
|
||||
}
|
||||
|
||||
void key_down() {
|
||||
if (selectedIndex < m_size - 1 && m_size > 0) {
|
||||
getTrackAtIndex(selectedIndex)->highlight(false);
|
||||
selectedIndex++;
|
||||
getTrackAtIndex(selectedIndex)->highlight(true);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -1,92 +1,113 @@
|
|||
#include "cuetrackwidget.h"
|
||||
#include <QSplitter>
|
||||
|
||||
CueTrackWidget::CueTrackWidget(QWidget *parent) : QWidget(parent) {
|
||||
setupUi();
|
||||
}
|
||||
|
||||
void CueTrackWidget::setupUi() {
|
||||
auto layout = new QHBoxLayout(this);
|
||||
QVBoxLayout *layout = new QVBoxLayout(this);
|
||||
|
||||
QSplitter *row = new QSplitter(Qt::Horizontal);
|
||||
active = new QCheckBox(this);
|
||||
row->addWidget(active);
|
||||
|
||||
userNumberSpin = new QSpinBox(this);
|
||||
userNumberSpin->setRange(0, 1000);
|
||||
userNumberSpin->setToolTip("Cue user number");
|
||||
layout->addWidget(userNumberSpin);
|
||||
row->addWidget(userNumberSpin);
|
||||
|
||||
nameEdit = new QLineEdit(this);
|
||||
nameEdit->setToolTip("Cue Name");
|
||||
row->addWidget(nameEdit);
|
||||
|
||||
descriptionEdit = new QLineEdit(this);
|
||||
descriptionEdit->setToolTip("Cue Notes");
|
||||
row->addWidget(descriptionEdit);
|
||||
|
||||
filePathEdit = new QLineEdit(this);
|
||||
filePathEdit->setToolTip("File name");
|
||||
layout->addWidget(filePathEdit);
|
||||
row->addWidget(filePathEdit);
|
||||
|
||||
volumeSpin = new QSpinBox(this);
|
||||
layout->addWidget(row);
|
||||
|
||||
row = new QSplitter(Qt::Horizontal);
|
||||
volumeSpin = new QSpinBox(this);
|
||||
volumeSpin->setRange(0, 65535);
|
||||
volumeSpin->setToolTip("Volume");
|
||||
layout->addWidget(volumeSpin);
|
||||
volumeSpin->setValue(100);
|
||||
row->addWidget(volumeSpin);
|
||||
|
||||
bus1Spin = new QSpinBox(this);
|
||||
bus1Spin->setRange(0, 255);
|
||||
bus1Spin->setToolTip("Bus 1");
|
||||
layout->addWidget(bus1Spin);
|
||||
bus1Spin->setValue(255);
|
||||
row->addWidget(bus1Spin);
|
||||
|
||||
bus2Spin = new QSpinBox(this);
|
||||
bus2Spin->setRange(0, 255);
|
||||
bus2Spin->setToolTip("Bus 2");
|
||||
layout->addWidget(bus2Spin);
|
||||
bus2Spin->setValue(255);
|
||||
row->addWidget(bus2Spin);
|
||||
|
||||
panSpin = new QSpinBox(this);
|
||||
panSpin->setRange(0, 255);
|
||||
panSpin->setToolTip("Pan");
|
||||
layout->addWidget(panSpin);
|
||||
panSpin->setValue(128);
|
||||
row->addWidget(panSpin);
|
||||
|
||||
pitchSpin = new QSpinBox(this);
|
||||
pitchSpin->setRange(0, 255);
|
||||
pitchSpin->setToolTip("Pitch");
|
||||
layout->addWidget(pitchSpin);
|
||||
pitchSpin->setValue(128);
|
||||
row->addWidget(pitchSpin);
|
||||
|
||||
statusCombo = new QComboBox(this);
|
||||
entryPointSpin = new QSpinBox(this);
|
||||
entryPointSpin->setRange(0, 255);
|
||||
entryPointSpin->setToolTip("Entry Point");
|
||||
row->addWidget(entryPointSpin);
|
||||
|
||||
exitPointSpin = new QSpinBox(this);
|
||||
exitPointSpin->setRange(0, 255);
|
||||
exitPointSpin->setToolTip("Exit Point");
|
||||
exitPointSpin->setValue(255);
|
||||
row->addWidget(exitPointSpin);
|
||||
|
||||
layout->addWidget(row);
|
||||
|
||||
row = new QSplitter(Qt::Horizontal);
|
||||
setupStatusCombo();
|
||||
statusCombo->setToolTip("Playback Status");
|
||||
layout->addWidget(statusCombo);
|
||||
row->addWidget(statusCombo);
|
||||
|
||||
fadeInSpin = new QSpinBox(this);
|
||||
fadeInSpin->setRange(0, 10000);
|
||||
fadeInSpin->setToolTip("Fade In Time");
|
||||
layout->addWidget(fadeInSpin);
|
||||
fadeInSpin->setValue(3);
|
||||
row->addWidget(fadeInSpin);
|
||||
|
||||
fadeOutSpin = new QSpinBox(this);
|
||||
fadeOutSpin->setRange(0, 10000);
|
||||
fadeOutSpin->setToolTip("Fade Out Time");
|
||||
layout->addWidget(fadeOutSpin);
|
||||
fadeOutSpin->setValue(3);
|
||||
row->addWidget(fadeOutSpin);
|
||||
|
||||
waitInSpin = new QSpinBox(this);
|
||||
waitInSpin->setRange(0, 10000);
|
||||
waitInSpin->setToolTip("Wait In Time");
|
||||
layout->addWidget(waitInSpin);
|
||||
row->addWidget(waitInSpin);
|
||||
|
||||
waitOutSpin = new QSpinBox(this);
|
||||
waitOutSpin->setRange(0, 10000);
|
||||
waitOutSpin->setToolTip("Wait Out Time");
|
||||
layout->addWidget(waitOutSpin);
|
||||
row->addWidget(waitOutSpin);
|
||||
|
||||
stopAtEndCheck = new QCheckBox(this);
|
||||
stopAtEndCheck->setToolTip("Halt");
|
||||
layout->addWidget(stopAtEndCheck);
|
||||
stopAtEndCheck->setChecked("True");
|
||||
row->addWidget(stopAtEndCheck);
|
||||
|
||||
nameEdit = new QLineEdit(this);
|
||||
nameEdit->setToolTip("Cue Name");
|
||||
layout->addWidget(nameEdit);
|
||||
|
||||
descriptionEdit = new QLineEdit(this);
|
||||
descriptionEdit->setToolTip("Cue Notes");
|
||||
layout->addWidget(descriptionEdit);
|
||||
|
||||
entryPointSpin = new QSpinBox(this);
|
||||
entryPointSpin->setRange(0, 255);
|
||||
entryPointSpin->setToolTip("Entry Point");
|
||||
layout->addWidget(entryPointSpin);
|
||||
|
||||
exitPointSpin = new QSpinBox(this);
|
||||
exitPointSpin->setRange(0, 255);
|
||||
exitPointSpin->setToolTip("Exit Point");
|
||||
layout->addWidget(exitPointSpin);
|
||||
layout->addWidget(row);
|
||||
|
||||
setLayout(layout);
|
||||
}
|
||||
|
|
|
@ -38,8 +38,15 @@ public:
|
|||
int getUserNumber() const { return userNumberSpin->value(); }
|
||||
int getEntryPoint() const { return entryPointSpin->value(); }
|
||||
int getExitPoint() const { return exitPointSpin->value(); }
|
||||
void highlight(bool highlight) {
|
||||
if (highlight)
|
||||
this->setStyleSheet("background-color: yellow;");
|
||||
else
|
||||
this->setStyleSheet("background-color: white;");
|
||||
}
|
||||
|
||||
private:
|
||||
QCheckBox* active;
|
||||
QLineEdit* filePathEdit;
|
||||
QSpinBox* volumeSpin;
|
||||
QSpinBox* panSpin;
|
||||
|
|
|
@ -239,7 +239,7 @@ void libreMediaServerAudio::setUi(libreMediaServerAudioUi *lmsUi)
|
|||
}
|
||||
};
|
||||
|
||||
// From Ui widgets
|
||||
// From Ui widgets and ShowPlayer
|
||||
void libreMediaServerAudio::uiSliderChanged(int layer, Slider s, int value)
|
||||
{
|
||||
switch (s){
|
||||
|
|
|
@ -63,14 +63,14 @@ void ShowPlayer::onAddTrack() {
|
|||
TrackDialog dialog;
|
||||
dialog.show();
|
||||
if (dialog.exec() == QDialog::Accepted) {
|
||||
ui->cueListWidget->addCueTrackWidget(&dialog.track);
|
||||
ui->cueListWidget->addCueTrackWidget(dialog.track);
|
||||
}
|
||||
}
|
||||
|
||||
void ShowPlayer::go()
|
||||
{
|
||||
CueTrackWidget* current = ui->cueListWidget->getTrackAtIndex(currentTrackIndex);
|
||||
if (!current)
|
||||
CueTrackWidget* current = ui->cueListWidget->getSelectedTrack();
|
||||
if (!current)
|
||||
return;
|
||||
for (int i = 0; i < MAX_LAYERS; i++) {
|
||||
if (layersUsed[i] == -1) {
|
||||
|
@ -83,5 +83,4 @@ void ShowPlayer::go()
|
|||
emit uiLoadMedia(current->audioLayer, current->getFilePath());
|
||||
emit uiPlaybackChanged(current->audioLayer, current->getStatus());
|
||||
filesLoaded++;
|
||||
currentTrackIndex++;
|
||||
}
|
||||
|
|
|
@ -26,7 +26,6 @@ public:
|
|||
|
||||
private:
|
||||
Ui::ShowPlayer *ui;
|
||||
CueTrackListWidget *cueListWidget; // Widget para mostrar los tracks
|
||||
size_t currentTrackIndex;
|
||||
Status currentStatus = Status::Iddle;
|
||||
size_t filesLoaded = 0;
|
||||
|
@ -35,7 +34,7 @@ private:
|
|||
QWidget *createHeader();
|
||||
|
||||
void updateTrackStateInEngine(size_t index, int layer) {
|
||||
CueTrackWidget *track = cueListWidget->getTrackAtIndex(index);
|
||||
CueTrackWidget *track = ui->cueListWidget->getTrackAtIndex(index);
|
||||
emit uiSliderChanged(layer, Slider::Volume, track->getVolume());
|
||||
emit uiSliderChanged(layer, Slider::Pan, track->getPan());
|
||||
emit uiSliderChanged(layer, Slider::Pitch, track->getPitch());
|
||||
|
@ -46,9 +45,6 @@ private:
|
|||
private slots:
|
||||
void onAddTrack();
|
||||
void go();
|
||||
//void stop();
|
||||
//void nextTrack();
|
||||
//void goToTrack(size_t i);
|
||||
|
||||
signals:
|
||||
void uiPlaybackChanged(int layer, Status s);
|
||||
|
|
|
@ -6,12 +6,12 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1200</width>
|
||||
<height>800</height>
|
||||
<width>276</width>
|
||||
<height>112</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
|
@ -19,167 +19,137 @@
|
|||
<property name="windowTitle">
|
||||
<string>Show Player</string>
|
||||
</property>
|
||||
<widget class="QPushButton" name="goButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>131</width>
|
||||
<height>111</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>GO</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Space</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QWidget" name="masterWidget" native="true">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>150</x>
|
||||
<y>10</y>
|
||||
<width>661</width>
|
||||
<height>111</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<widget class="QLabel" name="activeCueLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>90</x>
|
||||
<y>40</y>
|
||||
<width>311</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Active Cue</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="nextCueLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>90</x>
|
||||
<y>80</y>
|
||||
<width>311</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Next Cue</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLCDNumber" name="activeCueNumber">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>40</y>
|
||||
<width>91</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLCDNumber" name="nextCueNumber">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>80</y>
|
||||
<width>64</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QToolButton" name="panicButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>570</x>
|
||||
<y>0</y>
|
||||
<width>91</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>P</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="CueTrackListWidget" name="cueListWidget" native="true">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>9</x>
|
||||
<y>229</y>
|
||||
<width>1200</width>
|
||||
<height>561</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QWidget" name="horizontalLayoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>130</x>
|
||||
<y>130</y>
|
||||
<width>201</width>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="ButtonToolBarLayout">
|
||||
<item>
|
||||
<widget class="QToolButton" name="rmCueButton">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<widget class="QSplitter" name="masterSplitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<widget class="QPushButton" name="goButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>GO</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Space</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<layout class="QGridLayout" name="statusLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLCDNumber" name="activeCueNumber"/>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="activeCueLabel">
|
||||
<property name="text">
|
||||
<string>Active Cue</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLCDNumber" name="nextCueNumber">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="nextCueLabel">
|
||||
<property name="text">
|
||||
<string>Next Cue</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QToolButton" name="panicButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::ClickFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>P</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="horizontalLayoutWidget">
|
||||
<layout class="QHBoxLayout" name="ButtonToolBarLayout">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetMinimumSize</enum>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QToolButton" name="rmCueButton">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="addCueButton">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="editCueButton">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="horizontalLayoutWidget_2">
|
||||
<layout class="QHBoxLayout" name="headerLayout">
|
||||
<property name="spacing">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetMaximumSize</enum>
|
||||
</property>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="CueTrackListWidget" name="cueListWidget" native="true">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="inputMethodHints">
|
||||
<set>Qt::ImhPreferLowercase</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="addCueButton">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="editCueButton">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="horizontalLayoutWidget_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>9</x>
|
||||
<y>160</y>
|
||||
<width>761</width>
|
||||
<height>80</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="headerLayout">
|
||||
<property name="spacing">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetMaximumSize</enum>
|
||||
</property>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
|
|
Loading…
Add table
Reference in a new issue