mirror of
https://github.com/yusufipk/dikte.git
synced 2026-09-12 03:16:19 +00:00
Add display selection for recording indicator
This commit is contained in:
+27
-5
@@ -553,6 +553,7 @@ class SettingsWindow(QDialog):
|
||||
|
||||
tabs = self.tabs = QTabWidget(self)
|
||||
tabs.addTab(self._scrolled(self._general_tab()), t("General"))
|
||||
tabs.addTab(self._scrolled(self._display_tab()), t("Display"))
|
||||
self.api_tab_index = tabs.addTab(
|
||||
self._scrolled(self._api_tab()), t("API and models"))
|
||||
tabs.addTab(self._scrolled(self._prompt_tab()), t("Cleanup rules"))
|
||||
@@ -674,11 +675,6 @@ class SettingsWindow(QDialog):
|
||||
self.restore_clipboard = QCheckBox(t("Restore the previous clipboard after pasting"))
|
||||
form.addRow("", self.restore_clipboard)
|
||||
|
||||
self.corner = QComboBox()
|
||||
for value in CORNERS:
|
||||
self.corner.addItem(t(value), value)
|
||||
form.addRow(t("Indicator corner"), self.corner)
|
||||
|
||||
self.max_seconds = QSpinBox()
|
||||
self.max_seconds.setRange(10, 3600)
|
||||
self.max_seconds.setSuffix(t(" s"))
|
||||
@@ -729,6 +725,27 @@ class SettingsWindow(QDialog):
|
||||
self.update_now))
|
||||
return page
|
||||
|
||||
def _display_tab(self):
|
||||
page = QWidget()
|
||||
form = QFormLayout(page)
|
||||
|
||||
self.indicator_screen = QComboBox()
|
||||
self.indicator_screen.addItem(t("Follow the mouse pointer"), "")
|
||||
for screen in QGuiApplication.screens():
|
||||
area = screen.geometry()
|
||||
self.indicator_screen.addItem(
|
||||
t("{name} ({width} × {height})", name=screen.name(),
|
||||
width=area.width(), height=area.height()),
|
||||
screen.name(),
|
||||
)
|
||||
form.addRow(t("Indicator screen"), self.indicator_screen)
|
||||
|
||||
self.corner = QComboBox()
|
||||
for value in CORNERS:
|
||||
self.corner.addItem(t(value), value)
|
||||
form.addRow(t("Indicator corner"), self.corner)
|
||||
return page
|
||||
|
||||
def _api_tab(self):
|
||||
page = QWidget()
|
||||
outer = QVBoxLayout(page)
|
||||
@@ -1591,6 +1608,10 @@ class SettingsWindow(QDialog):
|
||||
self.auto_paste.setChecked(conf["auto_paste"])
|
||||
self.paste_shortcut.setCurrentText(conf["paste_shortcut"])
|
||||
self.restore_clipboard.setChecked(conf["restore_clipboard"])
|
||||
screen_name = conf["overlay_screen"]
|
||||
if screen_name and self.indicator_screen.findData(screen_name) < 0:
|
||||
self.indicator_screen.addItem(t("{name} (not connected)", name=screen_name), screen_name)
|
||||
self._select_data(self.indicator_screen, screen_name)
|
||||
self._select_data(self.corner, conf["overlay_corner"])
|
||||
self.max_seconds.setValue(conf["max_seconds"])
|
||||
self.skip_silent.setChecked(conf["skip_silent"])
|
||||
@@ -1686,6 +1707,7 @@ class SettingsWindow(QDialog):
|
||||
conf["auto_paste"] = self.auto_paste.isChecked()
|
||||
conf["paste_shortcut"] = self.paste_shortcut.currentText().strip()
|
||||
conf["restore_clipboard"] = self.restore_clipboard.isChecked()
|
||||
conf["overlay_screen"] = self.indicator_screen.currentData() or ""
|
||||
conf["overlay_corner"] = self.corner.currentData() or "bottom-left"
|
||||
conf["max_seconds"] = self.max_seconds.value()
|
||||
conf["skip_silent"] = self.skip_silent.isChecked()
|
||||
|
||||
Reference in New Issue
Block a user