Daniel Brötzmann pushed to branch master at gajim / gajim
Commits:
-
609a03e9
by wurstsalat at 2021-12-22T23:24:48+01:00
-
2518ead6
by wurstsalat at 2021-12-22T23:24:48+01:00
-
7bcb6e22
by wurstsalat at 2021-12-22T23:24:48+01:00
-
318d70c0
by wurstsalat at 2021-12-22T23:24:48+01:00
6 changed files:
- gajim/gtk/controls/base.py
- gajim/gtk/controls/chat.py
- gajim/gtk/controls/groupchat.py
- gajim/gtk/proxies.py
- gajim/gtk/remove_account.py
- gajim/gtk/video_preview.py
Changes:
| ... | ... | @@ -1507,12 +1507,13 @@ def scroll_messages(self, |
| 1507 | 1507 |
msg_type == 'sent' and not self.correcting and (
|
| 1508 | 1508 |
not history[pos - 1].startswith('/') or
|
| 1509 | 1509 |
history[pos - 1].startswith('/me'))):
|
| 1510 |
- self.correcting = True
|
|
| 1511 |
- self.msg_textview.get_style_context().add_class(
|
|
| 1512 |
- 'gajim-msg-correcting')
|
|
| 1513 |
- message = history[pos - 1]
|
|
| 1514 |
- msg_buf.set_text(message)
|
|
| 1515 |
- return
|
|
| 1510 |
+ if self.last_sent_msg is not None:
|
|
| 1511 |
+ self.correcting = True
|
|
| 1512 |
+ self.msg_textview.get_style_context().add_class(
|
|
| 1513 |
+ 'gajim-msg-correcting')
|
|
| 1514 |
+ message = history[pos - 1]
|
|
| 1515 |
+ msg_buf.set_text(message)
|
|
| 1516 |
+ return
|
|
| 1516 | 1517 |
if self.correcting:
|
| 1517 | 1518 |
# We were previously correcting
|
| 1518 | 1519 |
self.msg_textview.get_style_context().remove_class(
|
| ... | ... | @@ -414,7 +414,11 @@ def _on_message_sent(self, event): |
| 414 | 414 |
return
|
| 415 | 415 |
|
| 416 | 416 |
if event.correct_id is None:
|
| 417 |
- self.last_sent_msg = event.message_id
|
|
| 417 |
+ oob_url = event.additional_data.get_value('gajim', 'oob_url')
|
|
| 418 |
+ if oob_url == event.message:
|
|
| 419 |
+ self.last_sent_msg = None
|
|
| 420 |
+ else:
|
|
| 421 |
+ self.last_sent_msg = event.message_id
|
|
| 418 | 422 |
|
| 419 | 423 |
message_id = event.message_id
|
| 420 | 424 |
|
| ... | ... | @@ -1175,7 +1175,11 @@ def _on_message_sent(self, event): |
| 1175 | 1175 |
# we'll save sent message text when we'll receive it in
|
| 1176 | 1176 |
# _nec_gc_message_received
|
| 1177 | 1177 |
if event.correct_id is None:
|
| 1178 |
- self.last_sent_msg = event.message_id
|
|
| 1178 |
+ oob_url = event.additional_data.get_value('gajim', 'oob_url')
|
|
| 1179 |
+ if oob_url == event.message:
|
|
| 1180 |
+ self.last_sent_msg = None
|
|
| 1181 |
+ else:
|
|
| 1182 |
+ self.last_sent_msg = event.message_id
|
|
| 1179 | 1183 |
if self.correcting:
|
| 1180 | 1184 |
self.correcting = False
|
| 1181 | 1185 |
self.msg_textview.get_style_context().remove_class(
|
| ... | ... | @@ -12,6 +12,8 @@ |
| 12 | 12 |
# You should have received a copy of the GNU General Public License
|
| 13 | 13 |
# along with Gajim. If not, see <http://www.gnu.org/licenses/>.
|
| 14 | 14 |
|
| 15 |
+from typing import Any
|
|
| 16 |
+ |
|
| 15 | 17 |
from gi.repository import Gdk
|
| 16 | 18 |
from gi.repository import Gtk
|
| 17 | 19 |
|
| ... | ... | @@ -23,7 +25,7 @@ |
| 23 | 25 |
|
| 24 | 26 |
|
| 25 | 27 |
class ManageProxies(Gtk.ApplicationWindow):
|
| 26 |
- def __init__(self):
|
|
| 28 |
+ def __init__(self) -> None:
|
|
| 27 | 29 |
Gtk.ApplicationWindow.__init__(self)
|
| 28 | 30 |
self.set_name('ManageProxies')
|
| 29 | 31 |
self.set_application(app.app)
|
| ... | ... | @@ -45,12 +47,12 @@ def __init__(self): |
| 45 | 47 |
self._ui.connect_signals(self)
|
| 46 | 48 |
self.show_all()
|
| 47 | 49 |
|
| 48 |
- def _on_key_press(self, _widget, event):
|
|
| 50 |
+ def _on_key_press(self, _widget: Gtk.Widget, event: Gdk.EventKey) -> None:
|
|
| 49 | 51 |
if event.keyval == Gdk.KEY_Escape:
|
| 50 | 52 |
self.destroy()
|
| 51 | 53 |
|
| 52 | 54 |
@staticmethod
|
| 53 |
- def _on_destroy(*args):
|
|
| 55 |
+ def _on_destroy(*args: Any) -> None:
|
|
| 54 | 56 |
# Window callbacks for updating proxy comboboxes
|
| 55 | 57 |
window_pref = get_app_window('Preferences')
|
| 56 | 58 |
window_accounts = get_app_window('AccountsWindow')
|
| ... | ... | @@ -62,14 +64,14 @@ def _on_destroy(*args): |
| 62 | 64 |
if window_account_wizard is not None:
|
| 63 | 65 |
window_account_wizard.update_proxy_list()
|
| 64 | 66 |
|
| 65 |
- def _fill_proxies_treeview(self):
|
|
| 67 |
+ def _fill_proxies_treeview(self) -> None:
|
|
| 66 | 68 |
model = self._ui.proxies_treeview.get_model()
|
| 67 | 69 |
model.clear()
|
| 68 | 70 |
for proxy in app.settings.get_proxies():
|
| 69 | 71 |
iter_ = model.append()
|
| 70 | 72 |
model.set(iter_, 0, proxy)
|
| 71 | 73 |
|
| 72 |
- def _init_list(self):
|
|
| 74 |
+ def _init_list(self) -> None:
|
|
| 73 | 75 |
self._ui.remove_proxy_button.set_sensitive(False)
|
| 74 | 76 |
self._ui.settings_grid.set_sensitive(False)
|
| 75 | 77 |
model = Gtk.ListStore(str)
|
| ... | ... | @@ -82,7 +84,7 @@ def _init_list(self): |
| 82 | 84 |
self._fill_proxies_treeview()
|
| 83 | 85 |
self._ui.proxytype_combobox.set_active(0)
|
| 84 | 86 |
|
| 85 |
- def _on_add_proxy_button_clicked(self, _widget):
|
|
| 87 |
+ def _on_add_proxy_button_clicked(self, _button: Gtk.Button) -> None:
|
|
| 86 | 88 |
model = self._ui.proxies_treeview.get_model()
|
| 87 | 89 |
proxies = app.settings.get_proxies()
|
| 88 | 90 |
i = 1
|
| ... | ... | @@ -95,7 +97,7 @@ def _on_add_proxy_button_clicked(self, _widget): |
| 95 | 97 |
model.set(iter_, 0, proxy_name)
|
| 96 | 98 |
self._ui.proxies_treeview.set_cursor(model.get_path(iter_))
|
| 97 | 99 |
|
| 98 |
- def _on_remove_proxy_button_clicked(self, _widget):
|
|
| 100 |
+ def _on_remove_proxy_button_clicked(self, _button: Gtk.Button) -> None:
|
|
| 99 | 101 |
sel = self._ui.proxies_treeview.get_selection()
|
| 100 | 102 |
if not sel:
|
| 101 | 103 |
return
|
| ... | ... | @@ -110,23 +112,25 @@ def _on_remove_proxy_button_clicked(self, _widget): |
| 110 | 112 |
self._on_proxies_treeview_cursor_changed(self._ui.proxies_treeview)
|
| 111 | 113 |
self._block_signal = False
|
| 112 | 114 |
|
| 113 |
- def _on_useauth_toggled(self, widget):
|
|
| 115 |
+ def _on_useauth_toggled(self, checkbutton: Gtk.CheckButton) -> None:
|
|
| 114 | 116 |
if self._block_signal:
|
| 115 | 117 |
return
|
| 116 |
- act = widget.get_active()
|
|
| 118 |
+ act = checkbutton.get_active()
|
|
| 117 | 119 |
proxy = self._ui.proxyname_entry.get_text()
|
| 118 | 120 |
app.settings.set_proxy_setting(proxy, 'useauth', act)
|
| 119 | 121 |
self._ui.proxyuser_entry.set_sensitive(act)
|
| 120 | 122 |
self._ui.proxypass_entry.set_sensitive(act)
|
| 121 | 123 |
|
| 122 |
- def _on_proxies_treeview_cursor_changed(self, widget):
|
|
| 124 |
+ def _on_proxies_treeview_cursor_changed(self,
|
|
| 125 |
+ treeview: Gtk.TreeView
|
|
| 126 |
+ ) -> None:
|
|
| 123 | 127 |
self._block_signal = True
|
| 124 | 128 |
self._ui.proxyhost_entry.set_text('')
|
| 125 | 129 |
self._ui.proxyport_entry.set_text('')
|
| 126 | 130 |
self._ui.proxyuser_entry.set_text('')
|
| 127 | 131 |
self._ui.proxypass_entry.set_text('')
|
| 128 | 132 |
|
| 129 |
- sel = widget.get_selection()
|
|
| 133 |
+ sel = treeview.get_selection()
|
|
| 130 | 134 |
if sel:
|
| 131 | 135 |
(model, iter_) = sel.get_selected()
|
| 132 | 136 |
else:
|
| ... | ... | @@ -162,11 +166,14 @@ def _on_proxies_treeview_cursor_changed(self, widget): |
| 162 | 166 |
|
| 163 | 167 |
self._block_signal = False
|
| 164 | 168 |
|
| 165 |
- def _on_proxies_treeview_key_press_event(self, widget, event):
|
|
| 169 |
+ def _on_proxies_treeview_key_press_event(self,
|
|
| 170 |
+ widget: Gtk.Widget,
|
|
| 171 |
+ event: Gdk.EventKey
|
|
| 172 |
+ ) -> None:
|
|
| 166 | 173 |
if event.keyval == Gdk.KEY_Delete:
|
| 167 | 174 |
self._on_remove_proxy_button_clicked(widget)
|
| 168 | 175 |
|
| 169 |
- def _on_proxyname_entry_changed(self, widget):
|
|
| 176 |
+ def _on_proxyname_entry_changed(self, entry: Gtk.Entry) -> None:
|
|
| 170 | 177 |
if self._block_signal:
|
| 171 | 178 |
return
|
| 172 | 179 |
sel = self._ui.proxies_treeview.get_selection()
|
| ... | ... | @@ -176,7 +183,7 @@ def _on_proxyname_entry_changed(self, widget): |
| 176 | 183 |
if not iter_:
|
| 177 | 184 |
return
|
| 178 | 185 |
old_name = model.get_value(iter_, 0)
|
| 179 |
- new_name = widget.get_text()
|
|
| 186 |
+ new_name = entry.get_text()
|
|
| 180 | 187 |
if new_name == '':
|
| 181 | 188 |
return
|
| 182 | 189 |
if new_name == old_name:
|
| ... | ... | @@ -185,7 +192,7 @@ def _on_proxyname_entry_changed(self, widget): |
| 185 | 192 |
app.settings.rename_proxy(old_name, new_name)
|
| 186 | 193 |
model.set_value(iter_, 0, new_name)
|
| 187 | 194 |
|
| 188 |
- def _on_proxytype_combobox_changed(self, _widget):
|
|
| 195 |
+ def _on_proxytype_combobox_changed(self, _combobox: Gtk.ComboBox) -> None:
|
|
| 189 | 196 |
if self._block_signal:
|
| 190 | 197 |
return
|
| 191 | 198 |
types = ['http', 'socks5']
|
| ... | ... | @@ -195,14 +202,14 @@ def _on_proxytype_combobox_changed(self, _widget): |
| 195 | 202 |
proxy = self._ui.proxyname_entry.get_text()
|
| 196 | 203 |
app.settings.set_proxy_setting(proxy, 'type', types[type_])
|
| 197 | 204 |
|
| 198 |
- def _on_proxyhost_entry_changed(self, entry):
|
|
| 205 |
+ def _on_proxyhost_entry_changed(self, entry: Gtk.Entry) -> None:
|
|
| 199 | 206 |
if self._block_signal:
|
| 200 | 207 |
return
|
| 201 | 208 |
value = entry.get_text()
|
| 202 | 209 |
proxy = self._ui.proxyname_entry.get_text()
|
| 203 | 210 |
app.settings.set_proxy_setting(proxy, 'host', value)
|
| 204 | 211 |
|
| 205 |
- def _on_proxyport_entry_changed(self, entry):
|
|
| 212 |
+ def _on_proxyport_entry_changed(self, entry: Gtk.Entry) -> None:
|
|
| 206 | 213 |
if self._block_signal:
|
| 207 | 214 |
return
|
| 208 | 215 |
value = entry.get_text()
|
| ... | ... | @@ -213,14 +220,14 @@ def _on_proxyport_entry_changed(self, entry): |
| 213 | 220 |
proxy = self._ui.proxyname_entry.get_text()
|
| 214 | 221 |
app.settings.set_proxy_setting(proxy, 'port', value)
|
| 215 | 222 |
|
| 216 |
- def _on_proxyuser_entry_changed(self, entry):
|
|
| 223 |
+ def _on_proxyuser_entry_changed(self, entry: Gtk.Entry) -> None:
|
|
| 217 | 224 |
if self._block_signal:
|
| 218 | 225 |
return
|
| 219 | 226 |
value = entry.get_text()
|
| 220 | 227 |
proxy = self._ui.proxyname_entry.get_text()
|
| 221 | 228 |
app.settings.set_proxy_setting(proxy, 'user', value)
|
| 222 | 229 |
|
| 223 |
- def _on_proxypass_entry_changed(self, entry):
|
|
| 230 |
+ def _on_proxypass_entry_changed(self, entry: Gtk.Entry) -> None:
|
|
| 224 | 231 |
if self._block_signal:
|
| 225 | 232 |
return
|
| 226 | 233 |
value = entry.get_text()
|
| ... | ... | @@ -12,11 +12,15 @@ |
| 12 | 12 |
# You should have received a copy of the GNU General Public License
|
| 13 | 13 |
# along with Gajim. If not, see <http://www.gnu.org/licenses/>.
|
| 14 | 14 |
|
| 15 |
+from typing import Any
|
|
| 16 |
+from typing import List
|
|
| 17 |
+ |
|
| 15 | 18 |
import logging
|
| 16 | 19 |
|
| 17 | 20 |
from gi.repository import Gtk
|
| 18 | 21 |
|
| 19 | 22 |
from nbxmpp.errors import StanzaError
|
| 23 |
+from nbxmpp.task import Task
|
|
| 20 | 24 |
|
| 21 | 25 |
from gajim.common import app
|
| 22 | 26 |
from gajim.common import ged
|
| ... | ... | @@ -33,7 +37,7 @@ |
| 33 | 37 |
|
| 34 | 38 |
|
| 35 | 39 |
class RemoveAccount(Assistant):
|
| 36 |
- def __init__(self, account):
|
|
| 40 |
+ def __init__(self, account: str) -> None:
|
|
| 37 | 41 |
Assistant.__init__(self)
|
| 38 | 42 |
|
| 39 | 43 |
self.account = account
|
| ... | ... | @@ -83,11 +87,14 @@ def _on_account_disconnected(self, _event): |
| 83 | 87 |
self.show_page('success')
|
| 84 | 88 |
app.interface.remove_account(self.account)
|
| 85 | 89 |
|
| 86 |
- def _set_remove_from_server_checkbox(self):
|
|
| 90 |
+ def _set_remove_from_server_checkbox(self) -> None:
|
|
| 87 | 91 |
enabled = self._client is not None and self._client.state.is_available
|
| 88 | 92 |
self.get_page('remove_choice').set_remove_from_server(enabled)
|
| 89 | 93 |
|
| 90 |
- def _on_button_clicked(self, _assistant, button_name):
|
|
| 94 |
+ def _on_button_clicked(self,
|
|
| 95 |
+ _assistant: Assistant,
|
|
| 96 |
+ button_name: str
|
|
| 97 |
+ ) -> None:
|
|
| 91 | 98 |
page = self.get_current_page()
|
| 92 | 99 |
if button_name == 'remove':
|
| 93 | 100 |
if page == 'remove_choice':
|
| ... | ... | @@ -104,7 +111,7 @@ def _on_button_clicked(self, _assistant, button_name): |
| 104 | 111 |
if button_name == 'close':
|
| 105 | 112 |
self.destroy()
|
| 106 | 113 |
|
| 107 |
- def _on_remove(self, *args):
|
|
| 114 |
+ def _on_remove(self, *args: Any) -> None:
|
|
| 108 | 115 |
if self.get_page('remove_choice').remove_from_server:
|
| 109 | 116 |
self._client.set_remove_account(True)
|
| 110 | 117 |
self._client.get_module('Register').unregister(
|
| ... | ... | @@ -119,7 +126,7 @@ def _on_remove(self, *args): |
| 119 | 126 |
self._client.disconnect(gracefully=True, reconnect=False)
|
| 120 | 127 |
self._account_removed = True
|
| 121 | 128 |
|
| 122 |
- def _on_remove_response(self, task):
|
|
| 129 |
+ def _on_remove_response(self, task: Task) -> None:
|
|
| 123 | 130 |
try:
|
| 124 | 131 |
task.finish()
|
| 125 | 132 |
except StanzaError as error:
|
| ... | ... | @@ -132,12 +139,12 @@ def _on_remove_response(self, task): |
| 132 | 139 |
|
| 133 | 140 |
self._account_removed = True
|
| 134 | 141 |
|
| 135 |
- def _on_destroy(self, *args):
|
|
| 142 |
+ def _on_destroy(self, *args: Any) -> None:
|
|
| 136 | 143 |
self._destroyed = True
|
| 137 | 144 |
|
| 138 | 145 |
|
| 139 | 146 |
class RemoveChoice(Page):
|
| 140 |
- def __init__(self, account):
|
|
| 147 |
+ def __init__(self, account: str) -> None:
|
|
| 141 | 148 |
Page.__init__(self)
|
| 142 | 149 |
self.title = _('Remove Account')
|
| 143 | 150 |
|
| ... | ... | @@ -176,10 +183,10 @@ def __init__(self, account): |
| 176 | 183 |
self.show_all()
|
| 177 | 184 |
|
| 178 | 185 |
@property
|
| 179 |
- def remove_from_server(self):
|
|
| 186 |
+ def remove_from_server(self) -> bool:
|
|
| 180 | 187 |
return self._server.get_active()
|
| 181 | 188 |
|
| 182 |
- def set_remove_from_server(self, enabled):
|
|
| 189 |
+ def set_remove_from_server(self, enabled: bool) -> None:
|
|
| 183 | 190 |
self._server.set_sensitive(enabled)
|
| 184 | 191 |
if enabled:
|
| 185 | 192 |
self._server.set_tooltip_text('')
|
| ... | ... | @@ -187,27 +194,27 @@ def set_remove_from_server(self, enabled): |
| 187 | 194 |
self._server.set_active(False)
|
| 188 | 195 |
self._server.set_tooltip_text(_('Account has to be connected'))
|
| 189 | 196 |
|
| 190 |
- def get_visible_buttons(self):
|
|
| 197 |
+ def get_visible_buttons(self) -> List[str]:
|
|
| 191 | 198 |
return ['remove']
|
| 192 | 199 |
|
| 193 | 200 |
|
| 194 | 201 |
class Error(ErrorPage):
|
| 195 |
- def __init__(self):
|
|
| 202 |
+ def __init__(self) -> None:
|
|
| 196 | 203 |
ErrorPage.__init__(self)
|
| 197 | 204 |
self.set_title(_('Account Removal Failed'))
|
| 198 | 205 |
self.set_heading(_('Account Removal Failed'))
|
| 199 | 206 |
|
| 200 |
- def get_visible_buttons(self):
|
|
| 207 |
+ def get_visible_buttons(self) -> List[str]:
|
|
| 201 | 208 |
return ['back']
|
| 202 | 209 |
|
| 203 | 210 |
|
| 204 | 211 |
class Success(SuccessPage):
|
| 205 |
- def __init__(self):
|
|
| 212 |
+ def __init__(self) -> None:
|
|
| 206 | 213 |
SuccessPage.__init__(self)
|
| 207 | 214 |
self.set_title(_('Account Removed'))
|
| 208 | 215 |
self.set_heading(_('Account Removed'))
|
| 209 | 216 |
self.set_text(
|
| 210 | 217 |
_('Your account has has been removed successfully.'))
|
| 211 | 218 |
|
| 212 |
- def get_visible_buttons(self):
|
|
| 219 |
+ def get_visible_buttons(self) -> List[str]:
|
|
| 213 | 220 |
return ['close']
|
| ... | ... | @@ -12,15 +12,18 @@ |
| 12 | 12 |
# You should have received a copy of the GNU General Public License
|
| 13 | 13 |
# along with Gajim. If not, see <http://www.gnu.org/licenses/>.
|
| 14 | 14 |
|
| 15 |
+from typing import Optional
|
|
| 16 |
+ |
|
| 15 | 17 |
import logging
|
| 16 | 18 |
|
| 17 | 19 |
from gi.repository import GLib
|
| 20 |
+from gi.repository import Gtk
|
|
| 18 | 21 |
|
| 19 | 22 |
from gajim.common import app
|
| 20 | 23 |
from gajim.common.i18n import _
|
| 21 | 24 |
|
| 22 |
-from . import gstreamer
|
|
| 23 | 25 |
from .builder import get_builder
|
| 26 |
+from .gstreamer import create_gtk_widget
|
|
| 24 | 27 |
|
| 25 | 28 |
try:
|
| 26 | 29 |
from gi.repository import Gst # pylint: disable=ungrouped-imports
|
| ... | ... | @@ -32,32 +35,32 @@ |
| 32 | 35 |
|
| 33 | 36 |
|
| 34 | 37 |
class VideoPreview:
|
| 35 |
- def __init__(self):
|
|
| 38 |
+ def __init__(self) -> None:
|
|
| 36 | 39 |
|
| 37 | 40 |
self._ui = get_builder('video_preview.ui')
|
| 38 | 41 |
|
| 39 | 42 |
self._active = False
|
| 40 | 43 |
|
| 41 |
- self._av_pipeline = None
|
|
| 42 |
- self._av_src = None
|
|
| 43 |
- self._av_sink = None
|
|
| 44 |
- self._av_widget = None
|
|
| 44 |
+ self._av_pipeline: Optional[Gst.Pipeline] = None
|
|
| 45 |
+ self._av_src: Optional[Gst.Bin] = None
|
|
| 46 |
+ self._av_sink: Optional[Gst.Element] = None
|
|
| 47 |
+ self._av_widget: Optional[Gtk.Widget] = None
|
|
| 45 | 48 |
|
| 46 | 49 |
@property
|
| 47 |
- def widget(self):
|
|
| 50 |
+ def widget(self) -> Gtk.Box:
|
|
| 48 | 51 |
return self._ui.video_preview_box
|
| 49 | 52 |
|
| 50 | 53 |
@property
|
| 51 |
- def is_active(self):
|
|
| 54 |
+ def is_active(self) -> bool:
|
|
| 52 | 55 |
return self._active
|
| 53 | 56 |
|
| 54 |
- def toggle_preview(self, value):
|
|
| 57 |
+ def toggle_preview(self, value: bool) -> None:
|
|
| 55 | 58 |
self._active = value
|
| 56 | 59 |
if value:
|
| 57 | 60 |
return self._enable_preview()
|
| 58 | 61 |
return self._disable_preview()
|
| 59 | 62 |
|
| 60 |
- def _enable_preview(self):
|
|
| 63 |
+ def _enable_preview(self) -> None:
|
|
| 61 | 64 |
src_name = app.settings.get('video_input_device')
|
| 62 | 65 |
try:
|
| 63 | 66 |
self._av_src = Gst.parse_bin_from_description(src_name, True)
|
| ... | ... | @@ -67,7 +70,7 @@ def _enable_preview(self): |
| 67 | 70 |
self._set_error_text()
|
| 68 | 71 |
return
|
| 69 | 72 |
|
| 70 |
- sink, widget, name = gstreamer.create_gtk_widget()
|
|
| 73 |
+ sink, widget, name = create_gtk_widget()
|
|
| 71 | 74 |
if sink is None:
|
| 72 | 75 |
log.error('Failed to obtain a working Gstreamer GTK+ sink, '
|
| 73 | 76 |
'video support will be disabled')
|
| ... | ... | @@ -95,7 +98,7 @@ def _enable_preview(self): |
| 95 | 98 |
self._av_src.link(self._av_sink)
|
| 96 | 99 |
self._av_pipeline.set_state(Gst.State.PLAYING)
|
| 97 | 100 |
|
| 98 |
- def _disable_preview(self):
|
|
| 101 |
+ def _disable_preview(self) -> None:
|
|
| 99 | 102 |
if self._av_pipeline is not None:
|
| 100 | 103 |
self._av_pipeline.set_state(Gst.State.NULL)
|
| 101 | 104 |
if self._av_src is not None:
|
| ... | ... | @@ -112,7 +115,7 @@ def _disable_preview(self): |
| 112 | 115 |
self._av_widget = None
|
| 113 | 116 |
self._av_pipeline = None
|
| 114 | 117 |
|
| 115 |
- def _set_sink_text(self, sink_name):
|
|
| 118 |
+ def _set_sink_text(self, sink_name: str) -> None:
|
|
| 116 | 119 |
text = ''
|
| 117 | 120 |
if sink_name == 'gtkglsink':
|
| 118 | 121 |
text = _('<span color="green" font-weight="bold">'
|
| ... | ... | @@ -124,10 +127,10 @@ def _set_sink_text(self, sink_name): |
| 124 | 127 |
|
| 125 | 128 |
self._ui.video_source_label.set_markup(text)
|
| 126 | 129 |
|
| 127 |
- def _set_error_text(self):
|
|
| 130 |
+ def _set_error_text(self) -> None:
|
|
| 128 | 131 |
self._ui.video_source_label.set_text(
|
| 129 | 132 |
_('Something went wrong. Video feature disabled.'))
|
| 130 | 133 |
|
| 131 |
- def refresh(self):
|
|
| 134 |
+ def refresh(self) -> None:
|
|
| 132 | 135 |
self.toggle_preview(False)
|
| 133 | 136 |
self.toggle_preview(True)
|