Commit Graph

18 Commits

Author SHA1 Message Date
Tanu Kaskinen ae278b8643 streamwidget: Use a drop-down list instead of a button and a popup for selecting the device
This looks better, requires less code and probably fixes
https://gitlab.freedesktop.org/pulseaudio/pavucontrol/issues/63
2019-11-27 19:54:30 +00:00
Hans de Goede b2362f2223 Reference the widget before returning it from ::create methods
Widgets (unlike Windows and Dialogs) returned by Gtk::Builder::get_widget*
start owned by the GtkBuilder object, the idea being that they will get
added to a container before the scope of the GtkBuilder object ends, and it
thus automatically gets destroyed.

But in the various ::create methods in pavucontrol, a pointer to the widget
gets returned, so that it can be added to a cointainer by the caller.
However as soon as the ::create method exits the GtkBuilder object owning
the widget, and thus also the widget gets destroyed, and we end up returning
free-ed memory.

This commit fixes this by making all ::create methods take a reference on
the widget before returning it, and having all the callers unreference the
widget after adding it to a container.

https://bugs.freedesktop.org/show_bug.cgi?id=83144
https://bugzilla.redhat.com/show_bug.cgi?id=1133339

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2014-09-07 13:51:27 +03:00
Rafał Mużyło 9ce0e0a380 Drop the need to use libglademm 2011-03-03 14:31:14 +00:00
Colin Guthrie f1a23af603 Restructure the class inheritance a bit.
This just shuffles around the streamwidget a bit. The RoleWidget child class is the
exception, so try and gear things around SinkInput/SourceOutput widgets more to
save repeating the same code too much.
2009-06-28 16:38:39 +01:00
Colin Guthrie ac052e1a30 Rename event method to be more indicative of what it does. 2009-06-28 16:00:35 +01:00
Colin Guthrie 61cae8cd40 Rename a variable to make it more generic 2009-06-27 22:37:46 +01:00
Colin Guthrie 7b3083df57 Don't use a hyperlink to display the device, just use a regular button.
I'm not super happy with this style but it's probably more reliable
2009-06-17 23:23:04 +01:00
Colin Guthrie 7a7c1fc7f2 Hide the terminate button.
The terminate button is a last resort and shouldn't be promoted in the UI.

This commit hides it behind a right click menu instead.
This also hides the 'Set as Fallback' label in the glade file.
2009-06-17 22:25:19 +01:00
Colin Guthrie 02b316fcba More changes in the UI to try and make things neater.
This abandons the combo box approach an instead partially reverts to the popup.
We now display a suffix after the stream title saying " on <device>" or " from <device>"
where the <device> part looks like a hyperlink and, when clicked, shows the popup to change the device.

If there is only one device available, we suppress the whole thing and thus avoid confusion.
2009-06-17 08:54:14 +01:00
Colin Guthrie 4bd94fa2b8 Wire up all the new UI code.
This makes the default button work on sinks/sources, allows the drop
down to actually change the sink/source and removes the old menu code.

Some names and such are fixed in the glade file too.
2009-06-17 08:54:12 +01:00
Colin Guthrie 0667b9d5ea Set the correct combo index for display purposes 2009-06-17 08:54:12 +01:00
Colin Guthrie 903c26bd44 Add setter/getter methods for sink/source indexes so we can update our combo boxes current item 2009-06-17 08:54:11 +01:00
Colin Guthrie 255defb371 Remove the kill menu item now we have a dedicated button 2009-06-17 08:54:11 +01:00
Colin Guthrie 798f51f480 Set the pack_start on the deviceCombo 2009-06-17 08:54:11 +01:00
Colin Guthrie d617c39a08 Set the mainwindow pointer via an init() method rather than directly via public member variable.
This allows us to perform other general initialisation task (such as setting the tree model on the device combo)
2009-06-17 08:54:11 +01:00
Colin Guthrie 7b7a12f1d2 Adapt to new UI
The actual wiring up of events and clearing out of old, unused elements is
not complete yet, so this is completely non-functional at present.
2009-06-17 08:54:10 +01:00
Colin Guthrie c6b73de308 Move config.h inclusion to the .cc files 2009-03-18 20:58:17 +00:00
Colin Guthrie dc5498f86a Split sinkinputwidget into it's own files.
Also had to put mainwindow into it's own header for this to work. Full conversion of mainwindow will ultimately follow.
2009-03-16 12:59:01 +00:00