void KSubtitleRipperView::saveSubtitle() { // this slot is called whenever the Subtitles->Save subtitle menu is selected, // the Save subtitle shortcut is pressed (usually CTRL+Return) or the Save subtitle // toolbar button is clicked writeSubtitle(); if ( !project->atLast() ) nextSubtitle(); }
void MainWindow::addSubtitle() { Subtitle subtitle; subtitle.positionX = 20; subtitle.positionY = 432; subtitle.beginTime = 0; subtitle.endTime = 0; m_subtitles[m_currentTrack].insert(m_currentSubtitle, subtitle); nextSubtitle(); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_ui(new Ui::MainWindow), m_currentSubtitle(0), m_currentTrack(0) { m_subtitles.append(QList<Subtitle>()); m_subtitles.append(QList<Subtitle>()); m_ui->setupUi(this); Phonon::AudioOutput *audioOutput = new Phonon::AudioOutput(this); audioOutput->setVolume(QSettings().value("volume", 0.8).toReal()); m_mediaObject = new Phonon::MediaObject(this); m_mediaObject->setTickInterval(100); Phonon::createPath(m_mediaObject, m_ui->videoWidget); Phonon::createPath(m_mediaObject, audioOutput); m_ui->actionPlayPause->setIcon(QIcon::fromTheme("media-playback-start", style()->standardIcon(QStyle::SP_MediaPlay))); m_ui->actionPlayPause->setShortcut(tr("Space")); m_ui->actionPlayPause->setDisabled(true); m_ui->actionStop->setIcon(QIcon::fromTheme("media-playback-stop", style()->standardIcon(QStyle::SP_MediaStop))); m_ui->actionStop->setDisabled(true); m_fileNameLabel = new QLabel(tr("No file loaded"), this); m_fileNameLabel->setMaximumWidth(300); m_timeLabel = new QLabel("00:00.0 / 00:00.0", this); m_ui->actionOpen->setIcon(QIcon::fromTheme("document-open", style()->standardIcon(QStyle::SP_DirOpenIcon))); m_ui->actionSave->setIcon(QIcon::fromTheme("document-save", style()->standardIcon(QStyle::SP_DialogSaveButton))); m_ui->actionSaveAs->setIcon(QIcon::fromTheme("document-save-as")); m_ui->actionExit->setIcon(QIcon::fromTheme("application-exit", style()->standardIcon(QStyle::SP_DialogCloseButton))); m_ui->actionAdd->setIcon(QIcon::fromTheme("list-add")); m_ui->actionRemove->setIcon(QIcon::fromTheme("list-remove")); m_ui->actionPrevious->setIcon(QIcon::fromTheme("go-previous")); m_ui->actionNext->setIcon(QIcon::fromTheme("go-next")); m_ui->actionRescale->setIcon(QIcon::fromTheme("chronometer")); m_ui->actionAboutApplication->setIcon(QIcon::fromTheme("help-about")); m_ui->playPauseButton->setDefaultAction(m_ui->actionPlayPause); m_ui->stopButton->setDefaultAction(m_ui->actionStop); m_ui->addButton->setDefaultAction(m_ui->actionAdd); m_ui->removeButton->setDefaultAction(m_ui->actionRemove); m_ui->previousButton->setDefaultAction(m_ui->actionPrevious); m_ui->nextButton->setDefaultAction(m_ui->actionNext); m_ui->seekSlider->setMediaObject(m_mediaObject); m_ui->volumeSlider->setAudioOutput(audioOutput); m_ui->statusBar->addPermanentWidget(m_fileNameLabel); m_ui->statusBar->addPermanentWidget(m_timeLabel); resize(QSettings().value("Window/size", size()).toSize()); move(QSettings().value("Window/position", pos()).toPoint()); restoreState(QSettings().value("Window/state", QByteArray()).toByteArray()); setWindowTitle(tr("%1 - Unnamed").arg("Subtitles Editor")); connect(m_ui->actionOpen, SIGNAL(triggered()), this, SLOT(actionOpen())); connect(m_ui->actionSave, SIGNAL(triggered()), this, SLOT(actionSave())); connect(m_ui->actionSaveAs, SIGNAL(triggered()), this, SLOT(actionSaveAs())); connect(m_ui->actionExit, SIGNAL(triggered()), this, SLOT(close())); connect(m_ui->actionAdd, SIGNAL(triggered()), this, SLOT(addSubtitle())); connect(m_ui->actionRemove, SIGNAL(triggered()), this, SLOT(removeSubtitle())); connect(m_ui->actionPrevious, SIGNAL(triggered()), this, SLOT(previousSubtitle())); connect(m_ui->actionNext, SIGNAL(triggered()), this, SLOT(nextSubtitle())); connect(m_ui->actionRescale, SIGNAL(triggered()), this, SLOT(rescaleSubtitles())); connect(m_ui->actionPlayPause, SIGNAL(triggered()), this, SLOT(playPause())); connect(m_ui->actionStop, SIGNAL(triggered()), m_mediaObject, SLOT(stop())); connect(m_ui->actionAboutQt, SIGNAL(triggered()), QApplication::instance(), SLOT(aboutQt())); connect(m_ui->actionAboutApplication, SIGNAL(triggered()), this, SLOT(actionAboutApplication())); connect(m_ui->trackComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(selectTrack(int))); connect(m_mediaObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)), this, SLOT(stateChanged(Phonon::State))); connect(m_mediaObject, SIGNAL(tick(qint64)), this, SLOT(tick())); connect(m_mediaObject, SIGNAL(finished()), this, SLOT(finished())); }