macro_recorder: hide recorder on unsupported platforms

main
Ilya Zhuravlev 2020-12-25 17:08:58 -05:00
parent cc4df3f3f8
commit bd6955aa0a
1 changed files with 13 additions and 5 deletions

View File

@ -1,4 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
import sys
from PyQt5.QtCore import Qt, pyqtSignal from PyQt5.QtCore import Qt, pyqtSignal
from PyQt5.QtWidgets import QPushButton, QGridLayout, QHBoxLayout, QToolButton, QVBoxLayout, \ from PyQt5.QtWidgets import QPushButton, QGridLayout, QHBoxLayout, QToolButton, QVBoxLayout, \
@ -21,7 +22,7 @@ class MacroTab(QVBoxLayout):
record = pyqtSignal(object, bool) record = pyqtSignal(object, bool)
record_stop = pyqtSignal() record_stop = pyqtSignal()
def __init__(self): def __init__(self, enable_recorder):
super().__init__() super().__init__()
self.lines = [] self.lines = []
@ -36,6 +37,8 @@ class MacroTab(QVBoxLayout):
self.btn_record = QPushButton(tr("MacroRecorder", "Record macro")) self.btn_record = QPushButton(tr("MacroRecorder", "Record macro"))
self.btn_record.setMenu(menu_record) self.btn_record.setMenu(menu_record)
if not enable_recorder:
self.btn_record.hide()
self.btn_record_stop = QPushButton(tr("MacroRecorder", "Stop recording")) self.btn_record_stop = QPushButton(tr("MacroRecorder", "Stop recording"))
self.btn_record_stop.clicked.connect(lambda: self.record_stop.emit()) self.btn_record_stop.clicked.connect(lambda: self.record_stop.emit())
@ -174,7 +177,12 @@ class MacroRecorder(BasicEditor):
self.macro_tabs = [] self.macro_tabs = []
self.macro_tab_w = [] self.macro_tab_w = []
self.recorder = None
if sys.platform.startswith("linux"):
self.recorder = LinuxRecorder() self.recorder = LinuxRecorder()
if self.recorder:
self.recorder.keystroke.connect(self.on_keystroke) self.recorder.keystroke.connect(self.on_keystroke)
self.recorder.stopped.connect(self.on_stop) self.recorder.stopped.connect(self.on_stop)
self.recording = False self.recording = False
@ -184,7 +192,7 @@ class MacroRecorder(BasicEditor):
self.tabs = QTabWidget() self.tabs = QTabWidget()
for x in range(32): for x in range(32):
tab = MacroTab() tab = MacroTab(self.recorder is not None)
tab.changed.connect(self.on_change) tab.changed.connect(self.on_change)
tab.record.connect(self.on_record) tab.record.connect(self.on_record)
tab.record_stop.connect(self.on_tab_stop) tab.record_stop.connect(self.on_tab_stop)