14
14
QEvent ,
15
15
)
16
16
from PyQt6 .QtGui import QKeyEvent
17
+ from PyQt6 .QtCore import QSettings
17
18
from PyQt6 .QtNetwork import QNetworkAccessManager , QNetworkRequest , QNetworkReply
18
19
from PyQt6 .QtWidgets import QListWidget , QWidget , QAbstractItemView , QListWidgetItem
19
20
20
21
from buzz .widgets .line_edit import LineEdit
22
+ from buzz .settings .settings import APP_NAME
21
23
22
24
23
25
# Adapted from https://github.com/ismailsunni/scripts/blob/master/autocomplete_from_url.py
@@ -30,10 +32,12 @@ def __init__(
30
32
network_access_manager : Optional [QNetworkAccessManager ] = None ,
31
33
parent : Optional [QWidget ] = None ,
32
34
):
33
- super ().__init__ ("" , parent )
35
+ self .settings = QSettings (APP_NAME )
36
+ default_value = self .settings .value ("hugging_face_model_id" , "openai/whisper-tiny" )
37
+
38
+ super ().__init__ (default_value , parent )
34
39
35
40
self .setMinimumWidth (150 )
36
- self .setPlaceholderText ("openai/whisper-tiny" )
37
41
38
42
self .timer = QTimer (self )
39
43
self .timer .setSingleShot (True )
@@ -59,6 +63,10 @@ def __init__(
59
63
self .popup .installEventFilter (self )
60
64
self .popup .itemClicked .connect (self .on_select_item )
61
65
66
+ def focusInEvent (self , event ):
67
+ super ().focusInEvent (event )
68
+ self .clear ()
69
+
62
70
def on_text_edited (self , text : str ):
63
71
self .model_selected .emit (text )
64
72
@@ -68,6 +76,7 @@ def on_select_item(self):
68
76
69
77
item = self .popup .currentItem ()
70
78
self .setText (item .text ())
79
+ self .settings .setValue ("hugging_face_model_id" , item .text ())
71
80
QMetaObject .invokeMethod (self , "returnPressed" )
72
81
self .model_selected .emit (item .data (Qt .ItemDataRole .UserRole ))
73
82
0 commit comments