QtlMovie 1.12 (A specialized FFmpeg front-end)
QtlMovieDvdExtractionWindow Class Reference

A subclass of QMainWindow which implements the UI for the DVD Ripper application. More...

Inheritance diagram for QtlMovieDvdExtractionWindow:
QtlMovieMainWindowBase

Public Member Functions

 QtlMovieDvdExtractionWindow (QWidget *parent=0, bool logDebug=false)
 Constructor. More...
 
- Public Member Functions inherited from QtlMovieMainWindowBase
 QtlMovieMainWindowBase (QWidget *parent=0, bool logDebug=false)
 Constructor. More...
 
virtual ~QtlMovieMainWindowBase ()
 Destructor. More...
 
bool closePending () const
 Check if the application is about to close. More...
 
QtlLoggerlog () const
 Get the global logger of the application. More...
 
void playNotificationSound ()
 Start to play the notification sound. More...
 
void setIconTaskBarValue (int value, int maximum)
 Set the value of the task bar in the application's icon. More...
 
void setIconTaskBarVisible (bool visible)
 Set the task bar in the application's icon visible (or not). More...
 
QtlMovieSettingssettings () const
 Get the global settings of the application. More...
 

Protected Member Functions

virtual void closeEvent (QCloseEvent *event) Q_DECL_OVERRIDE
 Event handler to handle window close. More...
 
- Protected Member Functions inherited from QtlMovieMainWindowBase
void setupUserInterface (QtlLogger *log, QAction *aboutQt)
 Finalize the setup of the user interface. More...
 

Private Slots

void browseDestination ()
 Invoked by the "Browse..." button for the output directory for DVD extraction. More...
 
void cancelExtraction ()
 Invoked by the "Cancel ..." buttons. More...
 
void deferredAbort ()
 Abort the extraction, using a slot to defer the abort when back in the event loop. More...
 
void extractionProgress (const QString &description, int current, int maximum, int elapsedSeconds, int remainingSeconds)
 Invoked when some progress is made in the extraction process. More...
 
void extractionStarted ()
 Invoked when extraction starts. More...
 
void extractionStopped (bool success)
 Invoked when extraction stops. More...
 
void refresh ()
 Invoked by the "Refresh ..." buttons. More...
 
void selectedDvdChanged ()
 Invoked when the selected DVD has changed. More...
 
void startExtraction ()
 Invoked by the "Start ..." buttons. More...
 
void updateIsoFileFromVolumeId ()
 Update the name of the ISO file to match the volume id of the DVD. More...
 
void updateIsoFullPath ()
 Update the label containing the ISO full path. More...
 

Private Member Functions

void addDirectoryTree (const QtsDvdDirectory &dir)
 Add a tree of files and directories in the table of files. More...
 
void addFileForExtraction (const QtsDvdFile &file)
 Add a file in the current extraction. More...
 
void addRowTableFiles (const QtsDvdFilePtr &file)
 Add a row in the files table. More...
 
void addRowTableTitleSets (const QtsDvdTitleSetPtr &vts)
 Add a row in the VTS table. More...
 
virtual void applyUserInterfaceSettings (bool initial) Q_DECL_OVERRIDE
 Apply the settings which affect the UI. More...
 
QtsDvdMediaPtr currentDvd () const
 Get the currently selected DVD. More...
 
void extractionUpdateUi (bool started)
 Update the UI when extraction starts or stops. More...
 
virtual CancelStatus proposeToCancel () Q_DECL_OVERRIDE
 Check if an extraction is currently in progress and propose to abort it. More...
 
void refreshDvdList ()
 Refresh the list of DVD's. More...
 
void refreshFilesList ()
 Refresh the list of files. More...
 
void refreshVtsList ()
 Refresh the list of video title sets. More...
 
void setupTable (QTableWidget *table)
 Common setup for the VTS and Files tables. More...
 
void setupTableFiles ()
 Setup the files table. More...
 
void setupTableTitleSets ()
 Setup the VTS table. More...
 

Private Attributes

QList< QtsDvdMediaPtr_dvdList
 List of detected DVD's. More...
 
QtlMovieDvdExtractionSession_extraction
 Current extraction. More...
 
Ui::QtlMovieDvdExtractionWindow _ui
 UI from Qt Designer. More...
 

Additional Inherited Members

- Public Slots inherited from QtlMovieMainWindowBase
void about ()
 Invoked by the "About" button. More...
 
void aboutMediaTools ()
 Invoked by the "About Media Tools" button. More...
 
void editSettings ()
 Invoked by the "Settings..." button. More...
 
void openHomePage ()
 Invoked by the "Home Page" button. More...
 
void openSupportPage ()
 Invoked by the "Support & Bug Report" button. More...
 
void searchNewVersion (bool silent=false)
 Invoked by the "Search New Version" button. More...
 
void showHelp ()
 Invoked by the "Help" button. More...
 
void showReleaseNotes ()
 Invoked by the "Release Notes" button. More...
 
- Protected Types inherited from QtlMovieMainWindowBase
enum  CancelStatus {
  NothingToCancel,
  CancelInProgress,
  CancelRefused
}
 The type of cancelation. More...
 

Detailed Description

A subclass of QMainWindow which implements the UI for the DVD Ripper application.

The design of the UI is done using Qt Designer.

Constructor & Destructor Documentation

◆ QtlMovieDvdExtractionWindow()

QtlMovieDvdExtractionWindow::QtlMovieDvdExtractionWindow ( QWidget *  parent = 0,
bool  logDebug = false 
)
explicit

Constructor.

Parameters
[in]parentOptional parent widget.
[in]logDebugIf true, set initial log mode to debug.

Member Function Documentation

◆ refresh

void QtlMovieDvdExtractionWindow::refresh ( )
privateslot

Invoked by the "Refresh ..." buttons.

◆ startExtraction

void QtlMovieDvdExtractionWindow::startExtraction ( )
privateslot

Invoked by the "Start ..." buttons.

◆ cancelExtraction

void QtlMovieDvdExtractionWindow::cancelExtraction ( )
privateslot

Invoked by the "Cancel ..." buttons.

◆ deferredAbort

void QtlMovieDvdExtractionWindow::deferredAbort ( )
privateslot

Abort the extraction, using a slot to defer the abort when back in the event loop.

◆ extractionStarted

void QtlMovieDvdExtractionWindow::extractionStarted ( )
privateslot

Invoked when extraction starts.

◆ extractionStopped

void QtlMovieDvdExtractionWindow::extractionStopped ( bool  success)
privateslot

Invoked when extraction stops.

Parameters
[in]successIndicates whether the extraction succeeded or failed.

◆ extractionProgress

void QtlMovieDvdExtractionWindow::extractionProgress ( const QString &  description,
int  current,
int  maximum,
int  elapsedSeconds,
int  remainingSeconds 
)
privateslot

Invoked when some progress is made in the extraction process.

Parameters
[in]descriptionThe description of the current process.
[in]currentCurrent value (whatever unit it means).
[in]maximumValue indicating full completion. If zero, we cannot evaluate the progress.
[in]elapsedSecondsElapsed seconds since the process started.
[in]remainingSecondsEstimated remaining seconds to process. Negative if the remaining time cannot be estimated.

◆ selectedDvdChanged

void QtlMovieDvdExtractionWindow::selectedDvdChanged ( )
privateslot

Invoked when the selected DVD has changed.

◆ updateIsoFileFromVolumeId

void QtlMovieDvdExtractionWindow::updateIsoFileFromVolumeId ( )
privateslot

Update the name of the ISO file to match the volume id of the DVD.

◆ updateIsoFullPath

void QtlMovieDvdExtractionWindow::updateIsoFullPath ( )
privateslot

Update the label containing the ISO full path.

◆ browseDestination

void QtlMovieDvdExtractionWindow::browseDestination ( )
inlineprivateslot

Invoked by the "Browse..." button for the output directory for DVD extraction.

◆ closeEvent()

void QtlMovieDvdExtractionWindow::closeEvent ( QCloseEvent *  event)
protectedvirtual

Event handler to handle window close.

Parameters
eventNotified event.

Reimplemented from QtlMovieMainWindowBase.

◆ proposeToCancel()

QtlMovieDvdExtractionWindow::CancelStatus QtlMovieDvdExtractionWindow::proposeToCancel ( )
privatevirtual

Check if an extraction is currently in progress and propose to abort it.

If the user accept to abort it, start the cancelation. The completion of the cancelation will be notified later by extractionStopped().

Returns
Cancel status.

Implements QtlMovieMainWindowBase.

◆ setupTable()

void QtlMovieDvdExtractionWindow::setupTable ( QTableWidget *  table)
private

Common setup for the VTS and Files tables.

Parameters
[in]tableThe table to setup.

◆ setupTableTitleSets()

void QtlMovieDvdExtractionWindow::setupTableTitleSets ( )
private

Setup the VTS table.

◆ addRowTableTitleSets()

void QtlMovieDvdExtractionWindow::addRowTableTitleSets ( const QtsDvdTitleSetPtr vts)
private

Add a row in the VTS table.

Parameters
[in]vtsDescription of the VTS to add.

◆ setupTableFiles()

void QtlMovieDvdExtractionWindow::setupTableFiles ( )
private

Setup the files table.

◆ addRowTableFiles()

void QtlMovieDvdExtractionWindow::addRowTableFiles ( const QtsDvdFilePtr file)
private

Add a row in the files table.

Parameters
[in]fileDescription of the file to add.

◆ applyUserInterfaceSettings()

void QtlMovieDvdExtractionWindow::applyUserInterfaceSettings ( bool  initial)
privatevirtual

Apply the settings which affect the UI.

Parameters
[in]initialIf true, the object is being constructed.

Reimplemented from QtlMovieMainWindowBase.

◆ extractionUpdateUi()

void QtlMovieDvdExtractionWindow::extractionUpdateUi ( bool  started)
private

Update the UI when extraction starts or stops.

Parameters
[in]startedTrue if extraction starts, false if it stops.

◆ currentDvd()

QtsDvdMediaPtr QtlMovieDvdExtractionWindow::currentDvd ( ) const
private

Get the currently selected DVD.

Returns
A pointer to the currently selected DVD or a null pointer if none is selected.

◆ refreshDvdList()

void QtlMovieDvdExtractionWindow::refreshDvdList ( )
private

Refresh the list of DVD's.

◆ refreshVtsList()

void QtlMovieDvdExtractionWindow::refreshVtsList ( )
private

Refresh the list of video title sets.

◆ refreshFilesList()

void QtlMovieDvdExtractionWindow::refreshFilesList ( )
private

Refresh the list of files.

◆ addFileForExtraction()

void QtlMovieDvdExtractionWindow::addFileForExtraction ( const QtsDvdFile file)
private

Add a file in the current extraction.

Parameters
[in]fileFile description.

◆ addDirectoryTree()

void QtlMovieDvdExtractionWindow::addDirectoryTree ( const QtsDvdDirectory dir)
private

Add a tree of files and directories in the table of files.

Parameters
[in]dirDirectory description.

Member Data Documentation

◆ _ui

Ui::QtlMovieDvdExtractionWindow QtlMovieDvdExtractionWindow::_ui
private

UI from Qt Designer.

◆ _dvdList

QList<QtsDvdMediaPtr> QtlMovieDvdExtractionWindow::_dvdList
private

List of detected DVD's.

◆ _extraction

QtlMovieDvdExtractionSession* QtlMovieDvdExtractionWindow::_extraction
private

Current extraction.


The documentation for this class was generated from the following files: