Skip to content

Commit

Permalink
Adding ability to change application font size (#822)
Browse files Browse the repository at this point in the history
  • Loading branch information
raivisdejus committed Jul 2, 2024
1 parent 300b4fe commit ea58afa
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 17 deletions.
32 changes: 18 additions & 14 deletions buzz/locale/lv_LV/LC_MESSAGES/buzz.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-07-02 20:57+0300\n"
"PO-Revision-Date: 2024-07-02 21:00+0300\n"
"POT-Creation-Date: 2024-07-02 22:07+0300\n"
"PO-Revision-Date: 2024-07-02 22:09+0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: lv_LV\n"
Expand Down Expand Up @@ -55,54 +55,58 @@ msgstr "Jūsu ievadītā URL adrese nav derīga."
msgid "Reset to Defaults"
msgstr "Atjaunot noklusētos"

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
msgid "Font Size"
msgstr "Fonta izmērs"

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:54
msgid "Test"
msgstr "Pārbaudīt"

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:51
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:60
msgid "OpenAI API key"
msgstr "OpenAI API atslēga"

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:64
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:73
msgid "OpenAI base url"
msgstr "OpenAI adrese"

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:73
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:82
msgid "Default export file name"
msgstr "Eksporta fails"

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:79
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
msgid "Enable live recording transcription export"
msgstr "Eksportēt dzīvā ieraksta transkriptus"

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:94
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
msgid "Browse"
msgstr "Izvēlēties"

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:104
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:113
msgid "Export folder"
msgstr "Eksportēt mapē"

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:129
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:135
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:138
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:144
msgid "OpenAI API Key Test"
msgstr "OpenAI API atslēgas pārbaude"

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:130
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
msgid ""
"Your API key is valid. Buzz will use this key to perform Whisper API "
"transcriptions and AI translations with ChatGPT."
msgstr ""
"Jūsu API atslēga ir derīga. Buzz izmantos to runas atpazīšanai ar Whisper "
"API un tulkošanai ar ChatGPT."

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:157
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:166
msgid "Select Export Folder"
msgstr "Izvēlieties mapi kurā eksportēt"

#: buzz/widgets/preferences_dialog/general_preferences_widget.py:189
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
msgid "OpenAI API returned invalid response, status code: "
msgstr "OpenAI API atbildēja ar nederīgu atbildi, statusa kods: "

Expand Down
2 changes: 2 additions & 0 deletions buzz/settings/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ class Key(enum.Enum):

SHORTCUTS = "shortcuts"

FONT_SIZE = "font-size"

TRANSCRIPTION_TASKS_TABLE_COLUMN_VISIBILITY = (
"transcription-tasks-table/column-visibility"
)
Expand Down
13 changes: 11 additions & 2 deletions buzz/widgets/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
from buzz.db.dao.transcription_segment_dao import TranscriptionSegmentDAO
from buzz.db.db import setup_app_db
from buzz.db.service.transcription_service import TranscriptionService
from buzz.settings.settings import APP_NAME
from buzz.settings.settings import APP_NAME, Settings

from buzz.transcriber.transcriber import FileTranscriptionTask
from buzz.widgets.main_window import MainWindow

Expand All @@ -22,8 +23,16 @@ def __init__(self, argv: list) -> None:
self.setApplicationName(APP_NAME)
self.setApplicationVersion(VERSION)

self.settings = Settings()
font_size = self.settings.value(
key=Settings.Key.FONT_SIZE, default_value=self.font().pointSize()
)

if sys.platform == "darwin":
self.setFont(QFont("SF Pro", self.font().pointSize()))
self.setFont(QFont("SF Pro", font_size))
else:
self.setFont(QFont(self.font().family(), font_size))


db = setup_app_db()
transcription_service = TranscriptionService(
Expand Down
20 changes: 19 additions & 1 deletion buzz/widgets/preferences_dialog/general_preferences_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
QMessageBox,
QCheckBox,
QHBoxLayout,
QFileDialog
QFileDialog,
QSpinBox,
)
from openai import AuthenticationError, OpenAI

Expand All @@ -37,6 +38,14 @@ def __init__(

layout = QFormLayout(self)

self.font_size_spin_box = QSpinBox(self)
self.font_size_spin_box.setMinimum(8)
self.font_size_spin_box.setMaximum(32)
self.font_size_spin_box.setValue(self.font().pointSize())
self.font_size_spin_box.valueChanged.connect(self.on_font_size_changed)

layout.addRow(_("Font Size"), self.font_size_spin_box)

self.openai_api_key_line_edit = OpenAIAPIKeyLineEdit(self.openai_api_key, self)
self.openai_api_key_line_edit.key_changed.connect(
self.on_openai_api_key_changed
Expand Down Expand Up @@ -164,6 +173,15 @@ def on_recording_export_folder_changed(self, folder):
folder,
)

def on_font_size_changed(self, value):
from buzz.widgets.application import Application
font = self.font()
font.setPointSize(value)
self.setFont(font)
Application.instance().setFont(font)

self.settings.set_value(Settings.Key.FONT_SIZE, value)


class TestOpenAIApiKeyJob(QRunnable):
class Signals(QObject):
Expand Down

0 comments on commit ea58afa

Please sign in to comment.