Commit Graph

22 Commits

Author SHA1 Message Date
Tanu Kaskinen c760edaf24 move some widget initializations from MinimalStreamWidget to subclasses
Current Glade versions want object IDs to be unique, but currently
pavucontrol.glade shares some IDs between the top-level windows. I guess
this used to be OK in the past, and the "interface-naming-policy
toplevel-contextual" comment in the beginning of the .glade file
probably has something to do with this. I want to update the .glade file
to be easy to work with current Glade versions, so I will remove the
duplicated object IDs.

The first IDs to change are the "channelsVBox", "nameLabel",
"boldNameLabel" and "iconImage" IDs. These were used by
MinimalStreamWidget to create widgets for both devices and streams, but
now that the IDs are different for devices and streams, the widgets have
to be created by the subclasses.

MinimalStreamWidget doesn't need the Gtk::Builder in its constructor any
more, so remove that parameter to avoid warnings about an unused
variable.
2018-11-21 11:40:02 +02:00
Colin Leroy 335c26c57c devicewidget: Set latency offset's maximum to 5000ms
Airplay hardware has a inherent latency of at least 2 seconds, with
2350ms being a common value.
2017-10-08 20:02:59 +03:00
Ivan Ivanov dd0ccda382 devicewidget, streamwidget: Show only one volume slider when channels are locked 2015-02-26 22:55:46 +01: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
Alam Arias 0d7cbc57a0 added back support for gtkmm-2.4 builds 2013-03-11 13:23:06 +02:00
Arun Raghavan c69cffecdc devicewidget: Move latency offset into an expander
We don't want to flood users with this option, let's just leave it
closed by default for those who need it.
2012-12-17 15:20:42 +05:30
poljar (Damir Jelić) d03f9ffac2 devicewidget: Add a latency offset spinbutton
This change adds the ability to change the latency offset of a port with
pavucontrol.
2012-07-27 09:25:14 +03:00
Colin Guthrie 26d42651c5 Ensure the marker for base volume is set on all channels.
Refs #804
2011-03-28 18:52:27 +01:00
Colin Guthrie c70b048c98 volume: Don't bother setting the steps.
The number of volume steps doesn't really affect our scale, so there
is little value in setting it.
2011-03-09 21:54:05 +00:00
Colin Guthrie 297af52ae5 volume: Support volumes up to 11.
This allows us to set volumes up to ~153% aka +11dB.

Also show the current dB value in the UI - as pavucontrol is a bit more
developer-friendly than other volume UIs displaying this by default makes
sense.
2011-03-09 21:50:29 +00:00
Rafał Mużyło 9ce0e0a380 Drop the need to use libglademm 2011-03-03 14:31:14 +00:00
Colin Guthrie 68e3401350 Update for the latest incarnation of module-device-manager 2009-10-15 13:03:16 +01:00
Colin Guthrie c813bb9e3f Use the correct update mode for device-restore database write 2009-10-15 13:03:16 +01:00
Colin Guthrie 375c2c2d62 Add support for the device-manager module.
Currently this module only really allows for devices to be renamed, so we add a new
dialog that can be activated by right clicking on devices (i.e. sinks/sources).
This dialog allows you to enter a new name which will be set via the extension
provided by the device-manager module.

Future work will allow you to manage (i.e. rename, delete etc) offline devices too.
2009-10-15 13:03:16 +01:00
Lennart Poettering 8a11d0f781 fix event sound generation for volume changes 2009-08-27 05:41:11 +02:00
Colin Guthrie 159609135f Add support for changing ports.
This commit adds a combo box for selecting ports.
Overall this implementation could have taken two paths:
 * Implement port selection as combo box.
 * Implement port selection as a button.

I went for the first option as is done in selecting card profiles over the
second method used for selecting devices for streams. This seems more like
how a config option should be presented as opposed to a runtime type thing.
2009-06-27 18:14:05 +01:00
Colin Guthrie 514a66e0c8 Do not disable the default button when it's set.
I reworked the way this was done so we can easily re-enable this as I think it's clearer when it's inactive
(the difference between toggled and not toggled is pretty minor).

With this abstraction we could reset the tooltip etc. too.
2009-06-17 22:44:02 +01:00
Colin Guthrie ddd7d06dde Move the setBaseVolume()/setSteps() methods to devicewidget (problem found after rebasing) 2009-06-17 08:54:13 +01:00
Colin Guthrie dea5d0a0fe Include config.h in the cc file (after rebase) 2009-06-17 08:54:13 +01:00
Colin Guthrie 4c3acd35e5 Wire up the default toggle button (replaces the old menu) 2009-06-17 08:54:12 +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 644cfddf39 Create a devicewidget based on streamwidget.
This will become the base for Output and Input device tabs (as the streamwidget will have a different UI)
2009-06-17 08:54:10 +01:00