def __init__(self, parent=None): super(LocatorWidget, self).__init__( parent, Qt.Dialog | Qt.FramelessWindowHint) self._parent = parent self.setModal(True) self.setAttribute(Qt.WA_TranslucentBackground) self.setStyleSheet("background:transparent;") self.setFixedHeight(400) self.setFixedWidth(500) view = QQuickWidget() view.rootContext().setContextProperty("theme", NTheme.get_colors()) view.setResizeMode(QQuickWidget.SizeRootObjectToView) view.setSource(ui_tools.get_qml_resource("Locator.qml")) self._root = view.rootObject() vbox = QVBoxLayout(self) vbox.setContentsMargins(0, 0, 0, 0) vbox.setSpacing(0) vbox.addWidget(view) self.locate_symbols = locator.LocateSymbolsThread() self.locate_symbols.finished.connect(self._cleanup) # FIXME: invalid signal # self.locate_symbols.terminated.connect(self._cleanup) # Hide locator with Escape key shortEscMisc = QShortcut(QKeySequence(Qt.Key_Escape), self) shortEscMisc.activated.connect(self.hide) # Locator things self.filterPrefix = re.compile(r'(@|<|>|-|!|\.|/|:)') self.page_items_step = 10 self._colors = { "@": "#5dade2", "<": "#4becc9", ">": "#ff555a", "-": "#66ff99", ".": "#a591c6", "/": "#f9d170", ":": "#18ffd6", "!": "#ff884d"} self._filters_list = [ ("@", "Filename"), ("<", "Class"), (">", "Function"), ("-", "Attribute"), (".", "Current"), ("/", "Opened"), (":", "Line"), ("!", "NoPython") ] self._replace_symbol_type = {"<": "<", ">": ">"} self.reset_values() self._filter_actions = { '.': self._filter_this_file, '/': self._filter_tabs, ':': self._filter_lines } self._root.textChanged['QString'].connect(self.set_prefix) self._root.open['QString', int].connect(self._open_item) self._root.fetchMore.connect(self._fetch_more)
def __init__(self, parent=None): super(LocatorWidget, self).__init__(parent, Qt.SplashScreen) # | Qt.FramelessWindowHint) self._parent = parent # self.setModal(True) # self.setAttribute(Qt.WA_TranslucentBackground) # self.setStyleSheet("background:transparent;") self.setWindowState(Qt.WindowActive) self.setFixedHeight(400) self.setFixedWidth(500) # Create the QML user interface. self.view = QQuickWidget() self.view.setResizeMode(QQuickWidget.SizeRootObjectToView) self.view.engine().quit.connect(self.hide) self.view.setSource(ui_tools.get_qml_resource("Locator.qml")) self._root = self.view.rootObject() vbox = QVBoxLayout(self) vbox.setContentsMargins(0, 0, 0, 0) vbox.setSpacing(0) vbox.addWidget(self.view) self.locate_symbols = locator.LocateSymbolsThread() self.locate_symbols.finished.connect(self._cleanup) self.locate_symbols.terminated.connect(self._cleanup) QApplication.instance().focusChanged["QWidget*", "QWidget*"].connect(\ lambda w1, w2, this=self: this.hide() if w1 == this.view else None) # Locator things self.filterPrefix = re.compile(r'(@|<|>|-|!|\.|/|:)') self.page_items_step = 10 self._colors = { "@": "white", "<": "#18ff6a", ">": "red", "-": "#18e1ff", ".": "#f118ff", "/": "#fff118", ":": "#18ffd6", "!": "#ffa018" } self._filters_list = [("@", "Filename"), ("<", "Class"), (">", "Function"), ("-", "Attribute"), (".", "Current"), ("/", "Opened"), (":", "Line"), ("!", "NoPython")] self._replace_symbol_type = {"<": "<", ">": ">"} self.reset_values() self._filter_actions = { '.': self._filter_this_file, '/': self._filter_tabs, ':': self._filter_lines } self._root.textChanged.connect(self.set_prefix) self._root.open.connect(self._open_item) self._root.fetchMore.connect(self._fetch_more)
def __init__(self, parent=None): super(LocatorWidget, self).__init__(parent, Qt.Dialog | Qt.FramelessWindowHint) self._parent = parent self.setModal(True) self.setAttribute(Qt.WA_TranslucentBackground) self.setStyleSheet("background:transparent;") self.setFixedHeight(400) self.setFixedWidth(500) # Create the QML user interface. view = QDeclarativeView() view.setResizeMode(QDeclarativeView.SizeRootObjectToView) view.setSource(ui_tools.get_qml_resource("Locator.qml")) self._root = view.rootObject() vbox = QVBoxLayout(self) vbox.setContentsMargins(0, 0, 0, 0) vbox.setSpacing(0) vbox.addWidget(view) self.locate_symbols = locator.LocateSymbolsThread() self.connect(self.locate_symbols, SIGNAL("finished()"), self._cleanup) self.connect(self.locate_symbols, SIGNAL("terminated()"), self._cleanup) # Locator things self.filterPrefix = re.compile(r'(@|<|>|-|!|\.|/|:)') self.page_items_step = 10 self._colors = { "@": "white", "<": "#18ff6a", ">": "red", "-": "#18e1ff", ".": "#f118ff", "/": "#fff118", ":": "#18ffd6", "!": "#ffa018" } self._filters_list = [("@", "Filename"), ("<", "Class"), (">", "Function"), ("-", "Attribute"), (".", "Current"), ("/", "Opened"), (":", "Line"), ("!", "NoPython")] self._replace_symbol_type = {"<": "<", ">": ">"} self.reset_values() self._filter_actions = { '.': self._filter_this_file, '/': self._filter_tabs, ':': self._filter_lines } self.connect(self._root, SIGNAL("textChanged(QString)"), self.set_prefix) self.connect(self._root, SIGNAL("open(QString, int)"), self._open_item) self.connect(self._root, SIGNAL("fetchMore()"), self._fetch_more)