Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def actionRenameTrack_trigger(self, event):
"""Callback for renaming track"""
log.info('actionRenameTrack_trigger')
# Get translation function
_ = get_app()._tr
# Get details of track
track_id = self.selected_tracks[0]
selected_track = Track.get(id=track_id)
# Find display track number
all_tracks = get_app().project.get("layers")
display_count = len(all_tracks)
for track in reversed(sorted(all_tracks, key=itemgetter('number'))):
if track.get("id") == track_id:
break
display_count -= 1
track_name = selected_track.data["label"] or _("Track %s") % display_count
text, ok = QInputDialog.getText(self, _('Rename Track'), _('Track Name:'), text=track_name)
def save_project(self, file_path):
""" Save a project to a file path, and refresh the screen """
app = get_app()
_ = app._tr # Get translation function
try:
# Update history in project data
s = settings.get_settings()
app.updates.save_history(app.project, s.get("history-limit"))
# Save project to file
app.project.save(file_path)
# Set Window title
self.SetWindowTitle()
# Load recent projects again
self.load_recent_menu()
def update_model(self, clear=True):
log.info("updating effects model.")
app = get_app()
# Get window to check filters
win = app.window
_ = app._tr
# Clear all items
if clear:
self.model_names = {}
self.model.clear()
# Add Headers
self.model.setHorizontalHeaderLabels([_("Thumb"), _("Name"), _("Description")])
# Get the folder path of effects
effects_dir = os.path.join(info.PATH, "effects")
icons_dir = os.path.join(effects_dir, "icons")
def ShowTransitionMenu(self, tran_id=None):
log.info('ShowTransitionMenu: %s' % tran_id)
# Get translation method
_ = get_app()._tr
# Get existing transition object
tran = Transition.get(id=tran_id)
if not tran:
# Not a valid transition id
return
# Set the selected transition (if needed)
if tran_id not in self.window.selected_transitions:
self.window.addSelection(tran_id, 'transition')
# Get list of all selected transitions
tran_ids = self.window.selected_transitions
clip_ids = self.window.selected_clips
# Get framerate
fps = get_app().project.get(["fps"])
def showDocks(self, docks):
""" Show all dockable widgets on the main screen """
for dock in docks:
if get_app().window.dockWidgetArea(dock) != Qt.NoDockWidgetArea:
# Only show correctly docked widgets
dock.show()
from classes.app import get_app
import openshot
import json
# Get translation method
_ = get_app()._tr
# Append version info
v = openshot.GetVersion()
project_data = {}
project_data["version"] = {"openshot-qt" : info.VERSION,
"libopenshot" : v.ToString()}
# Get FPS from project
from classes.app import get_app
fps = get_app().project.get("fps")
fps_float = float(fps["num"]) / float(fps["den"])
# Import legacy openshot classes (from version 1.X)
from classes.legacy.openshot import classes as legacy_classes
from classes.legacy.openshot.classes import project as legacy_project
from classes.legacy.openshot.classes import sequences as legacy_sequences
from classes.legacy.openshot.classes import track as legacy_track
from classes.legacy.openshot.classes import clip as legacy_clip
from classes.legacy.openshot.classes import keyframe as legacy_keyframe
from classes.legacy.openshot.classes import files as legacy_files
from classes.legacy.openshot.classes import transition as legacy_transition
from classes.legacy.openshot.classes import effect as legacy_effect
from classes.legacy.openshot.classes import marker as legacy_marker
sys.modules['openshot.classes'] = legacy_classes
sys.modules['classes.project'] = legacy_project
sys.modules['classes.sequences'] = legacy_sequences
def __init__(self):
# Create dialog class
QDialog.__init__(self)
# Load UI from designer
ui_util.load_ui(self, self.ui_path)
# Init UI
ui_util.init_ui(self)
# Track metrics
track_metric_screen("animated-title-screen")
# Add render button
app = get_app()
_ = app._tr
self.btnRender = QPushButton(_('Render'))
self.btnCancel = QPushButton(_('Cancel'))
self.buttonBox.addButton(self.btnRender, QDialogButtonBox.AcceptRole)
self.buttonBox.addButton(self.btnCancel, QDialogButtonBox.RejectRole)
# Add blender treeview
self.blenderTreeView = BlenderListView(self)
self.verticalLayout.addWidget(self.blenderTreeView)
# Init variables
self.unique_folder_name = str(uuid.uuid1())
self.output_dir = os.path.join(info.USER_PATH, "blender")
self.selected_template = ""
self.is_rendering = False
self.my_blender = None
def open_project(self, file_path, clear_thumbnails=True):
""" Open a project from a file path, and refresh the screen """
app = get_app()
_ = app._tr # Get translation function
# First check for empty file_path (probably user cancellation)
if not file_path:
# Ignore the request
return
# Do we have unsaved changes?
if get_app().project.needs_save():
ret = QMessageBox.question(self, _("Unsaved Changes"), _("Save changes to project first?"), QMessageBox.Cancel | QMessageBox.No | QMessageBox.Yes)
if ret == QMessageBox.Yes:
# Save project
self.actionSave.trigger()
elif ret == QMessageBox.Cancel:
# User canceled prompt
return
def showDocks(self, docks):
""" Show all dockable widgets on the main screen """
for dock in docks:
if get_app().window.dockWidgetArea(dock) != Qt.NoDockWidgetArea:
# Only show correctly docked widgets
dock.show()