Port UI to GTK 4 (close #85)
This commit is contained in:
parent
6ba8bc550f
commit
75b99e5820
36 changed files with 1848 additions and 3403 deletions
|
|
@ -2,32 +2,23 @@
|
|||
|
||||
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
gi.require_version('Gtk', '4.0')
|
||||
gi.require_version('Adw', '1')
|
||||
|
||||
from gi.repository import Gtk, GObject
|
||||
|
||||
|
||||
|
||||
|
||||
@Gtk.Template(resource_path='/xyz/suruatoel/mcg/ui/server-toolbar.ui')
|
||||
class ServerToolbar(Gtk.ButtonBox):
|
||||
__gtype_name__ = 'McgServerToolbar'
|
||||
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
from gi.repository import Gtk, Adw, GObject
|
||||
|
||||
|
||||
|
||||
|
||||
@Gtk.Template(resource_path='/xyz/suruatoel/mcg/ui/server-panel.ui')
|
||||
class ServerPanel(Gtk.Box):
|
||||
class ServerPanel(Adw.Bin):
|
||||
__gtype_name__ = 'McgServerPanel'
|
||||
__gsignals__ = {
|
||||
'change-output-device': (GObject.SIGNAL_RUN_FIRST, None, (GObject.TYPE_PYOBJECT,bool,)),
|
||||
}
|
||||
|
||||
# Widgets
|
||||
toolbar = Gtk.Template.Child()
|
||||
# Status widgets
|
||||
status_file = Gtk.Template.Child()
|
||||
status_audio = Gtk.Template.Child()
|
||||
|
|
@ -44,14 +35,13 @@ class ServerPanel(Gtk.Box):
|
|||
output_devices = Gtk.Template.Child()
|
||||
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
self._none_label = ""
|
||||
self._output_buttons = {}
|
||||
self._is_selected = False
|
||||
|
||||
# Widgets
|
||||
self._toolbar = ServerToolbar()
|
||||
self._none_label = self.status_file.get_label()
|
||||
|
||||
|
||||
|
|
@ -60,7 +50,7 @@ class ServerPanel(Gtk.Box):
|
|||
|
||||
|
||||
def get_toolbar(self):
|
||||
return self._toolbar
|
||||
return self.toolbar
|
||||
|
||||
|
||||
def on_output_device_toggled(self, widget, device):
|
||||
|
|
@ -115,13 +105,12 @@ class ServerPanel(Gtk.Box):
|
|||
self._output_buttons[device.get_id()].set_active(device.is_enabled())
|
||||
self._output_buttons[device.get_id()].thaw_notify()
|
||||
else:
|
||||
button = Gtk.CheckButton(device.get_name())
|
||||
button = Gtk.CheckButton.new_with_label(device.get_name())
|
||||
if device.is_enabled():
|
||||
button.set_active(True)
|
||||
handler = button.connect('toggled', self.on_output_device_toggled, device)
|
||||
self.output_devices.insert(button, -1)
|
||||
self._output_buttons[device.get_id()] = button
|
||||
self.output_devices.show_all()
|
||||
|
||||
# Remove devices
|
||||
for id in self._output_buttons.keys():
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue