TimeControls::TimeControls( QWidget* parent ) : QToolBar( parent ) { QSettings settings( PENCIL2D, PENCIL2D ); mFpsBox = new QSpinBox(); mFpsBox->setFont( QFont("Helvetica", 10) ); mFpsBox->setFixedHeight(22); mFpsBox->setValue(settings.value("fps").toInt()); mFpsBox->setMinimum(1); mFpsBox->setMaximum(50); mFpsBox->setToolTip("Frames per second"); mFpsBox->setFocusPolicy(Qt::NoFocus); mLoopStartSpinBox = new QSpinBox(); mLoopStartSpinBox->setFont( QFont("Helvetica", 10) ); mLoopStartSpinBox->setFixedHeight(22); mLoopStartSpinBox->setValue(settings.value("loopStart").toInt()); mLoopStartSpinBox->setMinimum(1); mLoopStartSpinBox->setToolTip(tr("Start of loop")); mLoopStartSpinBox->setFocusPolicy(Qt::NoFocus); mLoopEndSpinBox= new QSpinBox(); mLoopEndSpinBox->setFont( QFont("Helvetica", 10) ); mLoopEndSpinBox->setFixedHeight(22); mLoopEndSpinBox->setMinimum(2); mLoopEndSpinBox->setToolTip(tr("End of loop")); mLoopEndSpinBox->setFocusPolicy(Qt::NoFocus); mLoopEndSpinBox->setValue( settings.value( "loopEnd" ).toInt() ); mPlaybackRangeCheckBox = new QCheckBox( tr("Range") ); mPlaybackRangeCheckBox->setFont( QFont("Helvetica", 10) ); mPlaybackRangeCheckBox->setFixedHeight(26); mPlaybackRangeCheckBox->setToolTip(tr("Loop control")); mPlayButton = new QPushButton( this ); mLoopButton = new QPushButton(); mSoundButton = new QPushButton(); mJumpToEndButton= new QPushButton(); mJumpToStartButton= new QPushButton(); QLabel* separator = new QLabel(); separator->setPixmap(QPixmap(":icons/controls/separator.png")); separator->setFixedSize(QSize(37,31)); QLabel* spacingLabel = new QLabel(""); spacingLabel->setIndent(6); QLabel* fpsLabel = new QLabel(tr("Fps: ")); fpsLabel->setIndent(6); QIcon playIcon(":icons/controls/play.png"); QIcon loopIcon(":icons/controls/loop.png"); QIcon soundIcon(":icons/controls/sound.png"); QIcon endplayIcon(":icons/controls/endplay.png"); QIcon startplayIcon(":icons/controls/startplay.png"); mPlayButton->setIcon(playIcon); mLoopButton->setIcon(loopIcon); mSoundButton->setIcon(soundIcon); mJumpToEndButton->setIcon(endplayIcon); mJumpToStartButton->setIcon(startplayIcon); mPlayButton->setToolTip(tr("Play")); mLoopButton->setToolTip(tr("Loop")); mSoundButton->setToolTip(tr("Sound on/off")); mJumpToEndButton->setToolTip(tr("End")); mJumpToStartButton->setToolTip(tr("Start")); mLoopButton->setCheckable(true); mSoundButton->setCheckable(true); mSoundButton->setChecked(true); addWidget(separator); addWidget(mJumpToStartButton); addWidget(mPlayButton); addWidget(mJumpToEndButton); addWidget(mLoopButton); addWidget(mPlaybackRangeCheckBox); addWidget(mLoopStartSpinBox); addWidget(mLoopEndSpinBox); addWidget(mSoundButton); addWidget(fpsLabel); addWidget(mFpsBox); makeConnections(); auto spinBoxValueChanged = static_cast< void ( QSpinBox::* )( int ) >( &QSpinBox::valueChanged ); connect( mLoopStartSpinBox, spinBoxValueChanged, this, &TimeControls::loopStartClick ); connect( mLoopEndSpinBox, spinBoxValueChanged, this, &TimeControls::loopEndClick ); connect( mPlaybackRangeCheckBox, &QCheckBox::toggled, mLoopStartSpinBox, &QSpinBox::setEnabled ); connect( mPlaybackRangeCheckBox, &QCheckBox::toggled, mLoopEndSpinBox, &QSpinBox::setEnabled ); connect( mSoundButton, &QPushButton::clicked, this, &TimeControls::soundClick ); connect( mFpsBox, spinBoxValueChanged, this, &TimeControls::fpsClick ); }
TimeControls::TimeControls(QWidget* parent) : QToolBar(parent) { QSettings settings("Pencil","Pencil"); //QFrame* frame = new QFrame(); QSpinBox* fpsBox = new QSpinBox(); //fpsBox->setFixedWidth(50); fpsBox->setFont( QFont("Helvetica", 10) ); fpsBox->setFixedHeight(22); fpsBox->setValue(settings.value("fps").toInt()); fpsBox->setMinimum(1); fpsBox->setMaximum(50); fpsBox->setToolTip("Frames per second"); fpsBox->setFocusPolicy(Qt::NoFocus); QPushButton* playButton = new QPushButton(); loopButton = new QPushButton(); soundButton = new QPushButton(); QLabel* separator = new QLabel(); separator->setPixmap(QPixmap(":icons/controls/separator.png")); separator->setFixedSize(QSize(37,31)); QLabel* spacingLabel = new QLabel(""); spacingLabel->setIndent(6); QLabel* fpsLabel = new QLabel(tr("Fps: ")); fpsLabel->setIndent(6); QIcon playIcon(":icons/controls/play.png"); QIcon loopIcon(":icons/controls/loop.png"); QIcon soundIcon(":icons/controls/sound.png"); #ifdef Q_WS_MAC /*loopButton->setFixedSize( QSize(35,30) ); loopButton->setIconSize( QSize(35,30) ); loopIcon.addFile (":icons/controls/loopOn.png", QSize(35,20), QIcon::Normal, QIcon::On ); loopIcon.addFile (":icons/controls/loopOff.png", QSize(35,20), QIcon::Normal, QIcon::Off); loopIcon.addFile (":icons/controls/loopOn.png", QSize(35,20), QIcon::Disabled, QIcon::On ); loopIcon.addFile (":icons/controls/loopOff.png", QSize(35,20), QIcon::Disabled, QIcon::Off); loopIcon.addFile (":icons/controls/loopOn.png", QSize(35,20), QIcon::Active, QIcon::On ); loopIcon.addFile (":icons/controls/loopOff.png", QSize(35,20), QIcon::Active, QIcon::Off);*/ #endif playButton->setIcon(playIcon); loopButton->setIcon(loopIcon); soundButton->setIcon(soundIcon); playButton->setToolTip(tr("Play")); loopButton->setToolTip(tr("Loop")); soundButton->setToolTip(tr("Sound on/off")); loopButton->setCheckable(true); soundButton->setCheckable(true); soundButton->setChecked(true); addWidget(separator); addWidget(playButton); addWidget(loopButton); addWidget(soundButton); addWidget(fpsLabel); addWidget(fpsBox); /*QHBoxLayout* frameLayout = new QHBoxLayout(); frameLayout->setMargin(0); frameLayout->setSpacing(0); frameLayout->addWidget(separator); frameLayout->addWidget(playButton); frameLayout->addWidget(loopButton); frameLayout->addWidget(soundButton); frameLayout->addWidget(fpsLabel); frameLayout->addWidget(fpsBox); frameLayout->addWidget(spacingLabel); setLayout(frameLayout); setFixedSize(300,32);*/ //QHBoxLayout* layout = new QHBoxLayout(); //layout->setAlignment(Qt::AlignRight); //layout->addWidget(frame); //layout->setMargin(0); //layout->setSizeConstraint(QLayout::SetNoConstraint); //setLayout(frameLayout); connect(playButton, SIGNAL(clicked()), this, SIGNAL(playClick())); connect(loopButton, SIGNAL(clicked()), this, SIGNAL(loopClick())); connect(soundButton, SIGNAL(clicked()), this, SIGNAL(soundClick())); connect(fpsBox,SIGNAL(valueChanged(int)), this, SIGNAL(fpsClick(int))); //updateButtons(false); }