31 from PyQt5.QtWidgets import QTreeView, QAbstractItemView, QMenu, QSizePolicy
33 from classes.app
import get_app
34 from windows.models.transition_model
import TransitionsModel
39 import simplejson
as json
50 app.context_menu_object =
"transitions" 53 menu.addAction(self.win.actionDetailsView)
54 menu.addAction(self.win.actionThumbnailView)
55 menu.exec_(QCursor.pos())
62 selected_row = self.transition_model.model.itemFromIndex(self.selectionModel().selectedIndexes()[0]).row()
63 icon = self.transition_model.model.item(selected_row, 0).icon()
67 drag.setMimeData(self.transition_model.model.mimeData(self.selectionModel().selectedIndexes()))
74 get_app().window.transitionsFilter.setText(
"")
77 if self.win.transitionsFilter.text() ==
"":
78 self.win.actionTransitionsClear.setEnabled(
False)
80 self.win.actionTransitionsClear.setEnabled(
True)
84 self.transition_model.update_model()
90 QTreeView.__init__(self, *args)
99 self.setAcceptDrops(
True)
100 self.setDragEnabled(
True)
101 self.setDropIndicatorShown(
True)
104 self.setModel(self.transition_model.model)
105 self.setIconSize(QSize(75, 62))
106 self.setIndentation(0)
107 self.setSelectionBehavior(QTreeView.SelectRows)
108 self.setSelectionBehavior(QAbstractItemView.SelectRows)
109 self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
110 self.setWordWrap(
True)
111 self.setStyleSheet(
'QTreeView::item { padding-top: 2px; }')
118 app.window.transitionsFilter.textChanged.connect(self.
filter_changed)
119 app.window.actionTransitionsClear.triggered.connect(self.
clear_filter)
def contextMenuEvent(self, event)
def get_app()
Returns the current QApplication instance of OpenShot.
A TreeView QWidget used on the main window.
def startDrag(self, event)
Override startDrag method to display custom icon.