Olive
Public Slots | Signals | Public Member Functions | Protected Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
MainWindow Class Reference

#include <mainwindow.h>

Inheritance diagram for MainWindow:

Public Slots

void toggle_full_screen ()
 Toggles full screen mode. More...
 

Signals

void finished_first_paint ()
 Signal emitted once when the main window has finished initializing. More...
 

Public Member Functions

 MainWindow (QWidget *parent)
 
virtual ~MainWindow () override
 
void updateTitle ()
 Update window title. More...
 
void load_shortcuts (const QString &fn)
 Load shortcut file. More...
 
void save_shortcuts (const QString &fn)
 Save shortcut file. More...
 
void load_css_from_file (const QString &fn)
 Load a CSS/QSS style from file to customize Olive's interface. More...
 

Protected Member Functions

virtual void closeEvent (QCloseEvent *) override
 Close event. More...
 
virtual void paintEvent (QPaintEvent *) override
 Paint event. More...
 

Private Slots

void maximize_panel ()
 Maximizes the currently hovered panel. More...
 
void reset_layout ()
 Reset panel layout to default. More...
 
void fileMenu_About_To_Be_Shown ()
 Function to prepare File menu. More...
 
void editMenu_About_To_Be_Shown ()
 Function to prepare Edit menu. More...
 
void windowMenu_About_To_Be_Shown ()
 Function to prepare Window menu. More...
 
void playbackMenu_About_To_Be_Shown ()
 Function to prepare Playback menu. More...
 
void viewMenu_About_To_Be_Shown ()
 Function to prepare View menu. More...
 
void toolMenu_About_To_Be_Shown ()
 Function to prepare Tools menu. More...
 
void toggle_panel_visibility ()
 Toggle whether a panel is visible or not. More...
 

Private Member Functions

void setup_layout (bool reset)
 Internal function for setting the panel layout to a predetermined preset. More...
 
void setup_menus ()
 Initialize menu bar menus and items. More...
 

Private Attributes

QMenu * window_menu
 
QMenu * open_recent
 
QAction * clear_open_recent_action
 
QAction * track_lines
 
QAction * frames_action
 
QAction * drop_frame_action
 
QAction * nondrop_frame_action
 
QAction * milliseconds_action
 
QAction * no_autoscroll
 
QAction * page_autoscroll
 
QAction * smooth_autoscroll
 
QAction * title_safe_off
 
QAction * title_safe_default
 
QAction * title_safe_43
 
QAction * title_safe_169
 
QAction * title_safe_custom
 
QAction * full_screen
 
QAction * show_all
 
QAction * pointer_tool_action
 
QAction * edit_tool_action
 
QAction * ripple_tool_action
 
QAction * razor_tool_action
 
QAction * slip_tool_action
 
QAction * slide_tool_action
 
QAction * hand_tool_action
 
QAction * transition_tool_action
 
QAction * snap_toggle
 
QAction * selecting_also_seeks
 
QAction * edit_tool_also_seeks
 
QAction * edit_tool_selects_links
 
QAction * seek_to_end_of_pastes
 
QAction * scroll_wheel_zooms
 
QAction * rectified_waveforms
 
QAction * enable_drag_files_to_timeline
 
QAction * autoscale_by_default
 
QAction * enable_seek_to_import
 
QAction * enable_audio_scrubbing
 
QAction * enable_drop_on_media_to_replace
 
QAction * enable_hover_focus
 
QAction * set_name_and_marker
 
QAction * loop_action
 
QAction * seek_also_selects
 
QAction * undo_action
 
QAction * redo_action
 
QByteArray temp_panel_state
 
bool first_show
 

Constructor & Destructor Documentation

◆ MainWindow()

MainWindow::MainWindow ( QWidget *  parent)
explicit

◆ ~MainWindow()

MainWindow::~MainWindow ( )
overridevirtual

Member Function Documentation

◆ closeEvent()

void MainWindow::closeEvent ( QCloseEvent *  e)
overrideprotectedvirtual

Close event.

Confirms whether the project can be closed, and if so performs various clean-up functions before the application exits. It's preferable to call clean-up functions here rather than in the destructor because this will get called first.

◆ editMenu_About_To_Be_Shown

void MainWindow::editMenu_About_To_Be_Shown ( )
privateslot

Function to prepare Edit menu.

Primarily used to set the enabled state on Undo and Redo depending if there are undos/redos available.

◆ fileMenu_About_To_Be_Shown

void MainWindow::fileMenu_About_To_Be_Shown ( )
privateslot

Function to prepare File menu.

Primarily used to populate the Open Recent Projects menu.

◆ finished_first_paint

void MainWindow::finished_first_paint ( )
signal

Signal emitted once when the main window has finished initializing.

Emitted the first time paintEvent runs. Connect this to functions that must be completed post-initialization.

◆ load_css_from_file()

void MainWindow::load_css_from_file ( const QString &  fn)

Load a CSS/QSS style from file to customize Olive's interface.

Parameters
fnURL to load the CSS file from.

◆ load_shortcuts()

void MainWindow::load_shortcuts ( const QString &  fn)

Load shortcut file.

Loads a shortcut configuration from file and sets Olive to use them.

Parameters
fnURL of the shortcut file to be loaded

◆ maximize_panel

void MainWindow::maximize_panel ( )
privateslot

Maximizes the currently hovered panel.

Saves the current state of the panels/dock widgets and removes all except the currently hovered panel, effectively maximizing the panel to the entire window.

◆ paintEvent()

void MainWindow::paintEvent ( QPaintEvent *  event)
overrideprotectedvirtual

Paint event.

Overridden to provide the finished_first_paint() signal.

◆ playbackMenu_About_To_Be_Shown

void MainWindow::playbackMenu_About_To_Be_Shown ( )
privateslot

Function to prepare Playback menu.

Primarily used to set the checked state on the "Loop" item.

◆ reset_layout

void MainWindow::reset_layout ( )
privateslot

Reset panel layout to default.

Resets the current panel layout to default. Doesn't save the current layout.

◆ save_shortcuts()

void MainWindow::save_shortcuts ( const QString &  fn)

Save shortcut file.

Saves the current shortcut configuration to file. Only saves shortcuts that have been changed from default.

Parameters
fnURL to save the shortcut file to.

◆ setup_layout()

void MainWindow::setup_layout ( bool  reset)
private

Internal function for setting the panel layout to a predetermined preset.

Resets layout to default and optionally loads a layout from file. If loading from file, this function will always load from get_config_path() + "/layout".

Parameters
resetTRUE if this function should just reset the current layout. FALSE if it should load from the aforementioned layout file.

◆ setup_menus()

void MainWindow::setup_menus ( )
private

Initialize menu bar menus and items.

Internal initialization function for all menus and menu items in the main window. Called once from the MainWindow() constructor.

◆ toggle_full_screen

void MainWindow::toggle_full_screen ( )
slot

Toggles full screen mode.

Toggles the main window between full screen and windowed modes.

◆ toggle_panel_visibility

void MainWindow::toggle_panel_visibility ( )
privateslot

Toggle whether a panel is visible or not.

Assumes the sender() QAction has a pointer to a QDockWidget in its data variable. Casts it and toggles its visibility.

◆ toolMenu_About_To_Be_Shown

void MainWindow::toolMenu_About_To_Be_Shown ( )
privateslot

Function to prepare Tools menu.

Primarily used to set the checked state on various settings available from the Tools menu.

◆ updateTitle()

void MainWindow::updateTitle ( )

Update window title.

Updates the window title to reflect the current project filename. Call if the project filename changes.

NOTE: It's recommended to use update_project_filename() from Olive::Global to update the filename completely instead of calling this function directly (update_project_filename() calls this function in the process).

◆ viewMenu_About_To_Be_Shown

void MainWindow::viewMenu_About_To_Be_Shown ( )
privateslot

Function to prepare View menu.

Primarily used to set the checked state of various options in the view menu (e.g. title safe area, timecode units, etc.)

◆ windowMenu_About_To_Be_Shown

void MainWindow::windowMenu_About_To_Be_Shown ( )
privateslot

Function to prepare Window menu.

Primarily used to set the checked state of menu items corresponding to the panels that are currently visible.

Member Data Documentation

◆ autoscale_by_default

QAction* MainWindow::autoscale_by_default
private

◆ clear_open_recent_action

QAction* MainWindow::clear_open_recent_action
private

◆ drop_frame_action

QAction* MainWindow::drop_frame_action
private

◆ edit_tool_action

QAction* MainWindow::edit_tool_action
private

◆ edit_tool_also_seeks

QAction* MainWindow::edit_tool_also_seeks
private

◆ edit_tool_selects_links

QAction* MainWindow::edit_tool_selects_links
private

◆ enable_audio_scrubbing

QAction* MainWindow::enable_audio_scrubbing
private

◆ enable_drag_files_to_timeline

QAction* MainWindow::enable_drag_files_to_timeline
private

◆ enable_drop_on_media_to_replace

QAction* MainWindow::enable_drop_on_media_to_replace
private

◆ enable_hover_focus

QAction* MainWindow::enable_hover_focus
private

◆ enable_seek_to_import

QAction* MainWindow::enable_seek_to_import
private

◆ first_show

bool MainWindow::first_show
private

◆ frames_action

QAction* MainWindow::frames_action
private

◆ full_screen

QAction* MainWindow::full_screen
private

◆ hand_tool_action

QAction* MainWindow::hand_tool_action
private

◆ loop_action

QAction* MainWindow::loop_action
private

◆ milliseconds_action

QAction* MainWindow::milliseconds_action
private

◆ no_autoscroll

QAction* MainWindow::no_autoscroll
private

◆ nondrop_frame_action

QAction* MainWindow::nondrop_frame_action
private

◆ open_recent

QMenu* MainWindow::open_recent
private

◆ page_autoscroll

QAction* MainWindow::page_autoscroll
private

◆ pointer_tool_action

QAction* MainWindow::pointer_tool_action
private

◆ razor_tool_action

QAction* MainWindow::razor_tool_action
private

◆ rectified_waveforms

QAction* MainWindow::rectified_waveforms
private

◆ redo_action

QAction* MainWindow::redo_action
private

◆ ripple_tool_action

QAction* MainWindow::ripple_tool_action
private

◆ scroll_wheel_zooms

QAction* MainWindow::scroll_wheel_zooms
private

◆ seek_also_selects

QAction* MainWindow::seek_also_selects
private

◆ seek_to_end_of_pastes

QAction* MainWindow::seek_to_end_of_pastes
private

◆ selecting_also_seeks

QAction* MainWindow::selecting_also_seeks
private

◆ set_name_and_marker

QAction* MainWindow::set_name_and_marker
private

◆ show_all

QAction* MainWindow::show_all
private

◆ slide_tool_action

QAction* MainWindow::slide_tool_action
private

◆ slip_tool_action

QAction* MainWindow::slip_tool_action
private

◆ smooth_autoscroll

QAction* MainWindow::smooth_autoscroll
private

◆ snap_toggle

QAction* MainWindow::snap_toggle
private

◆ temp_panel_state

QByteArray MainWindow::temp_panel_state
private

◆ title_safe_169

QAction* MainWindow::title_safe_169
private

◆ title_safe_43

QAction* MainWindow::title_safe_43
private

◆ title_safe_custom

QAction* MainWindow::title_safe_custom
private

◆ title_safe_default

QAction* MainWindow::title_safe_default
private

◆ title_safe_off

QAction* MainWindow::title_safe_off
private

◆ track_lines

QAction* MainWindow::track_lines
private

◆ transition_tool_action

QAction* MainWindow::transition_tool_action
private

◆ undo_action

QAction* MainWindow::undo_action
private

◆ window_menu

QMenu* MainWindow::window_menu
private

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