diff options
Diffstat (limited to 'tools/perf/scripts/python')
| -rwxr-xr-x | tools/perf/scripts/python/exported-sql-viewer.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/perf/scripts/python/exported-sql-viewer.py b/tools/perf/scripts/python/exported-sql-viewer.py index baa2b220238a..affd80ebcae0 100755 --- a/tools/perf/scripts/python/exported-sql-viewer.py +++ b/tools/perf/scripts/python/exported-sql-viewer.py | |||
| @@ -887,6 +887,8 @@ class TreeWindowBase(QMdiSubWindow): | |||
| 887 | self.view.setSelectionMode(QAbstractItemView.ContiguousSelection) | 887 | self.view.setSelectionMode(QAbstractItemView.ContiguousSelection) |
| 888 | self.view.CopyCellsToClipboard = CopyTreeCellsToClipboard | 888 | self.view.CopyCellsToClipboard = CopyTreeCellsToClipboard |
| 889 | 889 | ||
| 890 | self.context_menu = TreeContextMenu(self.view) | ||
| 891 | |||
| 890 | def DisplayFound(self, ids): | 892 | def DisplayFound(self, ids): |
| 891 | if not len(ids): | 893 | if not len(ids): |
| 892 | return False | 894 | return False |
| @@ -1660,6 +1662,8 @@ class BranchWindow(QMdiSubWindow): | |||
| 1660 | 1662 | ||
| 1661 | self.ResizeColumnsToContents() | 1663 | self.ResizeColumnsToContents() |
| 1662 | 1664 | ||
| 1665 | self.context_menu = TreeContextMenu(self.view) | ||
| 1666 | |||
| 1663 | self.find_bar = FindBar(self, self, True) | 1667 | self.find_bar = FindBar(self, self, True) |
| 1664 | 1668 | ||
| 1665 | self.finder = ChildDataItemFinder(self.model.root) | 1669 | self.finder = ChildDataItemFinder(self.model.root) |
| @@ -2469,6 +2473,39 @@ def CopyCellsToClipboardHdr(view): | |||
| 2469 | def CopyCellsToClipboardCSV(view): | 2473 | def CopyCellsToClipboardCSV(view): |
| 2470 | CopyCellsToClipboard(view, True, True) | 2474 | CopyCellsToClipboard(view, True, True) |
| 2471 | 2475 | ||
| 2476 | # Context menu | ||
| 2477 | |||
| 2478 | class ContextMenu(object): | ||
| 2479 | |||
| 2480 | def __init__(self, view): | ||
| 2481 | self.view = view | ||
| 2482 | self.view.setContextMenuPolicy(Qt.CustomContextMenu) | ||
| 2483 | self.view.customContextMenuRequested.connect(self.ShowContextMenu) | ||
| 2484 | |||
| 2485 | def ShowContextMenu(self, pos): | ||
| 2486 | menu = QMenu(self.view) | ||
| 2487 | self.AddActions(menu) | ||
| 2488 | menu.exec_(self.view.mapToGlobal(pos)) | ||
| 2489 | |||
| 2490 | def AddCopy(self, menu): | ||
| 2491 | menu.addAction(CreateAction("&Copy selection", "Copy to clipboard", lambda: CopyCellsToClipboardHdr(self.view), self.view)) | ||
| 2492 | menu.addAction(CreateAction("Copy selection as CS&V", "Copy to clipboard as CSV", lambda: CopyCellsToClipboardCSV(self.view), self.view)) | ||
| 2493 | |||
| 2494 | def AddActions(self, menu): | ||
| 2495 | self.AddCopy(menu) | ||
| 2496 | |||
| 2497 | class TreeContextMenu(ContextMenu): | ||
| 2498 | |||
| 2499 | def __init__(self, view): | ||
| 2500 | super(TreeContextMenu, self).__init__(view) | ||
| 2501 | |||
| 2502 | def AddActions(self, menu): | ||
| 2503 | i = self.view.currentIndex() | ||
| 2504 | text = str(i.data()).strip() | ||
| 2505 | if len(text): | ||
| 2506 | menu.addAction(CreateAction('Copy "' + text + '"', "Copy to clipboard", lambda: QApplication.clipboard().setText(text), self.view)) | ||
| 2507 | self.AddCopy(menu) | ||
| 2508 | |||
| 2472 | # Table window | 2509 | # Table window |
| 2473 | 2510 | ||
| 2474 | class TableWindow(QMdiSubWindow, ResizeColumnsToContentsBase): | 2511 | class TableWindow(QMdiSubWindow, ResizeColumnsToContentsBase): |
| @@ -2492,6 +2529,8 @@ class TableWindow(QMdiSubWindow, ResizeColumnsToContentsBase): | |||
| 2492 | 2529 | ||
| 2493 | self.ResizeColumnsToContents() | 2530 | self.ResizeColumnsToContents() |
| 2494 | 2531 | ||
| 2532 | self.context_menu = ContextMenu(self.view) | ||
| 2533 | |||
| 2495 | self.find_bar = FindBar(self, self, True) | 2534 | self.find_bar = FindBar(self, self, True) |
| 2496 | 2535 | ||
| 2497 | self.finder = ChildDataItemFinder(self.data_model) | 2536 | self.finder = ChildDataItemFinder(self.data_model) |
| @@ -2608,6 +2647,8 @@ class TopCallsWindow(QMdiSubWindow, ResizeColumnsToContentsBase): | |||
| 2608 | self.view.setSelectionMode(QAbstractItemView.ContiguousSelection) | 2647 | self.view.setSelectionMode(QAbstractItemView.ContiguousSelection) |
| 2609 | self.view.CopyCellsToClipboard = CopyTableCellsToClipboard | 2648 | self.view.CopyCellsToClipboard = CopyTableCellsToClipboard |
| 2610 | 2649 | ||
| 2650 | self.context_menu = ContextMenu(self.view) | ||
| 2651 | |||
| 2611 | self.ResizeColumnsToContents() | 2652 | self.ResizeColumnsToContents() |
| 2612 | 2653 | ||
| 2613 | self.find_bar = FindBar(self, self, True) | 2654 | self.find_bar = FindBar(self, self, True) |
