mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Remember voice table column state
This commit is contained in:
parent
9f2bf5482b
commit
8babb23858
@ -4,8 +4,9 @@
|
||||
|
||||
from contextlib import suppress
|
||||
from PyQt5.Qt import (
|
||||
QAbstractItemView, QAbstractTableModel, QComboBox, QFontMetrics, QFormLayout,
|
||||
QItemSelectionModel, QSortFilterProxyModel, QSlider, Qt, QTableView, QWidget
|
||||
QAbstractItemView, QAbstractTableModel, QByteArray, QComboBox, QFontMetrics,
|
||||
QFormLayout, QItemSelectionModel, QSlider, QSortFilterProxyModel, Qt, QTableView,
|
||||
QWidget
|
||||
)
|
||||
|
||||
from calibre.gui2.preferences.look_feel import BusyCursor
|
||||
@ -100,7 +101,8 @@ class Widget(QWidget):
|
||||
v.setModel(p)
|
||||
v.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
|
||||
v.setSortingEnabled(True)
|
||||
v.horizontalHeader().resizeSection(0, QFontMetrics(self.font()).averageCharWidth() * 30)
|
||||
h = v.horizontalHeader()
|
||||
h.resizeSection(0, QFontMetrics(self.font()).averageCharWidth() * 30)
|
||||
v.verticalHeader().close()
|
||||
v.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
|
||||
v.sortByColumn(0, Qt.SortOrder.AscendingOrder)
|
||||
@ -109,6 +111,15 @@ class Widget(QWidget):
|
||||
|
||||
self.backend_settings = initial_backend_settings or {}
|
||||
|
||||
def restore_state(self, prefs):
|
||||
data = prefs.get(f'{self.tts_client.name}-voice-table-state')
|
||||
if data is not None:
|
||||
self.voices.horizontalHeader().restoreState(QByteArray(data))
|
||||
|
||||
def save_state(self, prefs):
|
||||
data = bytearray(self.voices.horizontalHeader().saveState())
|
||||
prefs.set(f'{self.tts_client.name}-voice-table-state', data)
|
||||
|
||||
def restore_to_defaults(self):
|
||||
self.backend_settings = {}
|
||||
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
from contextlib import suppress
|
||||
from PyQt5.Qt import (
|
||||
QAbstractItemView, QAbstractTableModel, QFontMetrics, QFormLayout,
|
||||
QItemSelectionModel, QSortFilterProxyModel, QSlider, Qt, QTableView, QWidget
|
||||
QAbstractItemView, QAbstractTableModel, QByteArray, QFontMetrics, QFormLayout,
|
||||
QItemSelectionModel, QSlider, QSortFilterProxyModel, Qt, QTableView, QWidget
|
||||
)
|
||||
|
||||
from calibre.gui2.preferences.look_feel import BusyCursor
|
||||
@ -105,6 +105,15 @@ class Widget(QWidget):
|
||||
|
||||
self.backend_settings = initial_backend_settings or {}
|
||||
|
||||
def restore_state(self, prefs):
|
||||
data = prefs.get(f'{self.tts_client.name}-voice-table-state')
|
||||
if data is not None:
|
||||
self.voices.horizontalHeader().restoreState(QByteArray(data))
|
||||
|
||||
def save_state(self, prefs):
|
||||
data = bytearray(self.voices.horizontalHeader().saveState())
|
||||
prefs.set(f'{self.tts_client.name}-voice-table-state', data)
|
||||
|
||||
def restore_to_defaults(self):
|
||||
self.backend_settings = {}
|
||||
|
||||
|
@ -4,8 +4,9 @@
|
||||
|
||||
from contextlib import suppress
|
||||
from PyQt5.Qt import (
|
||||
QAbstractItemView, QAbstractTableModel, QComboBox, QFontMetrics, QFormLayout,
|
||||
QItemSelectionModel, QSlider, QSortFilterProxyModel, Qt, QTableView, QWidget
|
||||
QAbstractItemView, QAbstractTableModel, QByteArray, QComboBox, QFontMetrics,
|
||||
QFormLayout, QItemSelectionModel, QSlider, QSortFilterProxyModel, Qt, QTableView,
|
||||
QWidget
|
||||
)
|
||||
|
||||
from calibre.gui2.preferences.look_feel import BusyCursor
|
||||
@ -108,6 +109,15 @@ class Widget(QWidget):
|
||||
|
||||
self.backend_settings = initial_backend_settings or {}
|
||||
|
||||
def restore_state(self, prefs):
|
||||
data = prefs.get(f'{self.tts_client.name}-voice-table-state')
|
||||
if data is not None:
|
||||
self.voices.horizontalHeader().restoreState(QByteArray(data))
|
||||
|
||||
def save_state(self, prefs):
|
||||
data = bytearray(self.voices.horizontalHeader().saveState())
|
||||
prefs.set(f'{self.tts_client.name}-voice-table-state', data)
|
||||
|
||||
def restore_to_defaults(self):
|
||||
self.backend_settings = {}
|
||||
|
||||
|
@ -25,6 +25,10 @@ class Config(Dialog):
|
||||
self.config_widget.restore_to_defaults
|
||||
b = self.bb.addButton(QDialogButtonBox.StandardButton.RestoreDefaults)
|
||||
b.clicked.connect(self.restore_to_defaults)
|
||||
self.config_widget.restore_state(vprefs)
|
||||
|
||||
def save_state(self):
|
||||
self.config_widget.save_state(vprefs)
|
||||
|
||||
def restore_to_defaults(self):
|
||||
self.config_widget.restore_to_defaults()
|
||||
@ -135,6 +139,7 @@ class TTS(QObject):
|
||||
self.settings_changed.emit(d.ui_settings)
|
||||
else:
|
||||
self.settings_changed.emit(None)
|
||||
d.save_state()
|
||||
|
||||
def slower(self, data):
|
||||
settings = self.tts_client.change_rate(steps=-1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user