32 from urllib.parse
import urlparse
33 from functools
import partial
36 from PyQt5.QtWidgets import QListView, QTreeView, QMessageBox, QAbstractItemView, QMenu, QSizePolicy, QHeaderView, QApplication
39 from classes.logger
import log
40 from classes.app
import get_app
41 from windows.models.changelog_model
import ChangelogModel
46 import simplejson
as json
56 self.changelog_model.update_model(filter=filter)
59 self.header().setSectionResizeMode(0, QHeaderView.Fixed)
60 self.header().setSectionResizeMode(1, QHeaderView.Fixed)
61 self.setColumnWidth(0, 70)
62 self.setColumnWidth(1, 85)
63 self.setColumnWidth(2, 125)
64 self.setColumnWidth(3, 200)
67 log.info(
'contextMenuEvent')
70 model = self.changelog_model.model
71 row = self.indexAt(event.pos()).row()
73 selected_hash = model.item(row, 0).text()
76 copy_action = menu.addAction(
"Copy Hash")
78 github_action = menu.addAction(
"View on GitHub")
80 menu.popup(QCursor.pos())
83 log.info(
"CopyHashMenuTriggered")
84 clipboard = QApplication.clipboard()
85 clipboard.setText(hash)
88 log.info(
"ChangelogMenuTriggered")
95 def __init__(self, commits, commit_url, *args):
97 QListView.__init__(self, *args)
107 self.setModel(self.changelog_model.model)
108 self.setIndentation(0)
109 self.setSelectionBehavior(QTreeView.SelectRows)
110 self.setSelectionBehavior(QAbstractItemView.SelectRows)
111 self.setSelectionMode(QAbstractItemView.ExtendedSelection)
112 self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
113 self.setWordWrap(
True)
114 self.setStyleSheet(
'QTreeView::item { padding-top: 2px; }')
A ListView QWidget used on the changelog window.
def get_app
Returns the current QApplication instance of OpenShot.
def CopyHashMenuTriggered
def ChangelogMenuTriggered