Commit Graph

547 Commits

Author SHA1 Message Date
lionel 327be8dc28 pavuapplication: fix compilation issue with g++ (Raspbian 4.9.2-10+deb8u2)
Fixes this compilation issue:

pavuapplication.cc: In function ‘int main(int, char**)’:
pavuapplication.cc:146:32: error: use of deleted function ‘PavuApplication::PavuApplication(PavuApplication&&)’
     auto app = PavuApplication();
                                ^
In file included from pavuapplication.cc:29:0:
pavuapplication.h:27:7: note: ‘PavuApplication::PavuApplication(PavuApplication&&)’ is implicitly deleted because the default definition would be ill-formed:
 class PavuApplication : public Gtk::Application {
       ^
In file included from /usr/include/gtkmm-3.0/gtkmm/window.h:32:0,
                 from /usr/include/gtkmm-3.0/gtkmm/dialog.h:30,
                 from /usr/include/gtkmm-3.0/gtkmm/aboutdialog.h:33,
                 from /usr/include/gtkmm-3.0/gtkmm.h:99,
                 from pavucontrol.h:29,
                 from pavuapplication.h:24,
                 from pavuapplication.cc:29:
/usr/include/gtkmm-3.0/gtkmm/application.h:211:3: error: ‘Gtk::Application::Application(const Gtk::Application&)’ is private
   Application(const Application&);
   ^
In file included from pavuapplication.cc:29:0:
pavuapplication.h:27:7: error: within this context
 class PavuApplication : public Gtk::Application {
       ^
In file included from /usr/include/glibmm-2.4/glibmm/wrap.h:26:0,
                 from /usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:26,
                 from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:23,
                 from /usr/include/glibmm-2.4/glibmm.h:91,
                 from /usr/include/gtkmm-3.0/gtkmm.h:87,
                 from pavucontrol.h:29,
                 from pavuapplication.h:24,
                 from pavuapplication.cc:29:
/usr/include/glibmm-2.4/glibmm/objectbase.h:238:3: error: ‘Glib::ObjectBase::ObjectBase(const Glib::ObjectBase&)’ is private
   ObjectBase(const ObjectBase&);
   ^
In file included from pavuapplication.cc:29:0:
pavuapplication.h:27:7: error: within this context
 class PavuApplication : public Gtk::Application {
       ^
2020-02-14 11:35:54 +02:00
Tanu Kaskinen 8303893871 i18n: Add pavucontrol.pot to version control
Since the .pot file can be automatically generated, it hasn't been
included in the git repository so far. However, we're planning[1] to
start using Fedora's Weblate translation service, and it requires the
.pot file to be in the repository.

[1] https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/785
2020-02-13 09:21:15 +02:00
pan93412 c249e89b27 i18n: Update Chinese (Taiwan) translation 2020-01-20 19:03:29 +08:00
Piotr Drąg b3b6cccada i18n: Update Polish translation 2019-12-27 06:47:02 +00:00
Christoph Haag 4f31ec83a8 mainwindow: escape nameLabel
Fixes a warning with the 'Valve VR Radio & HMD Mic' device.
2019-12-22 05:57:20 +00:00
Butterfly 0ae904bd49 i18n: Update Turkish translations file 2019-12-02 13:24:20 +02:00
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
Ammuu5 5fda4bcd85 i18n: Update Finnish translation 2019-11-22 08:29:02 +05:30
gogogogi 4bb1cb5cd7 i18n: Update the Croatian translation 2019-11-12 06:25:27 +00:00
Will Thompson a36506b82e Add keywords to desktop file
In traditional packages, including 'pavucontrol' here is redundant with
Exec.  However, only the first field of Exec is used as a search key,
and in the Flatpak the first field is 'flatpak'. I often search for
'pavucontrol' and fail to find the app as a result.

All the others are terms that seem relevant to finding this app. Most of
them are borrowed from gnome-control-center's sound panel's .desktop
file.
2019-11-07 16:19:27 +00:00
lilydjwg f011f46d7a i18n: update zh_CN.po 2019-10-29 01:24:47 +08:00
Tanu Kaskinen 2a1072cc2b devicewidget: fix the enabling logic of the advanced options expander
The old logic disabled the expander always when a sink didn't have any
ports. That's bad if the sink has no ports but supports configuring
formats. That hasn't caused problems so far, but I have a patch for
module-null-sink that will enable format configuration support, and the
null sink has no ports, so it's affected by this issue.

This patch also changes things so that the expander is completely hidden
when it's disabled instead just setting it non-sensitive. I think that's
better (at least it saves some space).
2019-09-19 15:26:04 +03:00
Tanu Kaskinen 0dd27ba347 mainwindow: set the updating flag later for sinks and sources
The updating flag is used to determine whether a change in some UI
control state is due to a user action or an update from the server. The
flag was set to false too early when processing sink and source updates
from the server. This caused at least unnecessary "set port" commands,
because each update refreshes the port list, which generates change
events in the port list combo box, causing the portChanged callbacks to
be called.

The unnecessary "set port" commands could even confuse the automatic
port selection policies in the server. If the current port wasn't
originally explicitly chosen by the user, then the "set port" command
from pavucontrol will make the server think that the user explicitly
chose that port.
2019-09-19 11:37:11 +03:00
Tanu Kaskinen e6caa8b87a mainwindow: scale icons to sane size
If load_icon() fails, we treat the icon name as a file path and try to
load an image from the path. In case that works, we need to ensure that
the has correct size. Previously that wasn't done, which led to too
large icons.

scale_simple() doesn't do anything if the image is already the correct
size, so we can call it unconditionally.

The exception handling was a bit weird in that the exception types
didn't match the documentation of IconTheme::load_icon() and
Image::set(). I updated the exception types (Image::set() doesn't need
exception handling any more, because now it's called with a Pixbuf
rather than a file name).

Fixes: https://gitlab.freedesktop.org/pulseaudio/pavucontrol/issues/60
2019-07-27 13:53:48 +03:00
Arun Raghavan a6d2c8450a doc: Drop email as a method of patch submission
We prefer Gitlab MRs now.
2019-07-02 10:42:44 +05:30
muzena e57e8986d9 Update Croatian translation 2019-06-23 14:35:33 +02:00
scootergrisen 6e1bdf8ff1 i18n: Update da.po 2019-05-22 13:21:16 +03:00
Moo 10badb393e i18n: Update lt.po 2019-04-08 21:40:13 +00:00
Tanu Kaskinen 57cf49f1e8 prepare for releasing 4.0 2019-03-05 17:37:57 +02:00
Tanu Kaskinen bd606e47b9 i18n: add zh_TW to LINGUAS 2019-03-05 17:37:57 +02:00
Tanu Kaskinen d260bd2aa0 README: a couple of edits for the 4.0 changelog 2019-03-05 17:30:07 +02:00
Piotr Drąg fe4bdd2671 i18n: update Polish translation 2019-03-02 10:24:47 +01:00
Tanu Kaskinen 5f664bc63b channelwidget: ensure that all channel labels have the same width
pavucontrol.glade previously set the channel label width to 15
characters, with the goal of making all channel labels have the same
width. However, with some translations and font settings the configured
width wasn't enough, so sometimes a label was wider than others, and
that made the volume slider widths different too. If the volume sliders
have different widths, it's very hard to visually compare the volumes of
the channels.

This patch removes the fixed width in pavucontrol.glade and solves the
problem by finding the widest label and using that label's width with
all labels.

Fixes: https://gitlab.freedesktop.org/pulseaudio/pavucontrol/issues/51
2019-02-26 15:42:57 +00:00
Tanu Kaskinen f200a10d98 channelwidget: refactor to reduce repetition
DeviceWidget and StreamWidget had some duplicate code to initialize
ChannelWidgets. This patch moves some of the duplicated initialization
code into ChannelWidgets to reduce repetition and to improve
encapsulation.
2019-02-26 15:42:57 +00:00
Tanu Kaskinen 46ce3e418e pavucontrol.glade: right-align channel labels
The channel labels ("Front Left" etc.) that are adjacent to volume
sliders used to be left-aligned, which meant that there was some empty
space (depending on the text width) between the label text and the
volume slider. Right-aligning the labels looks nicer.
2019-02-26 15:42:57 +00:00
Karl Ove Hufthammer 7ce421a80d i18n: Update Norwegian Nynorsk translations
This adds translations for the new volume slider strings.
2019-02-25 16:37:29 +00:00
Karl Ove Hufthammer ce36a44a1d channelwidget: Make volume strings translatable and add missing space
The volume strings (e.g. ‘86% (-3.81dB)’) shown to the right of each
volume slider is now translatable/localisable. (The similar string
‘100% (0dB)’, centred *below* each slider, was already translatable.)
Also, the English strings now include a space between the decibel value
and the unit, e.g. ‘-3.81 dB’ instead of ‘-3.81dB’.

Fixes: https://gitlab.freedesktop.org/pulseaudio/pavucontrol/issues/52
2019-02-25 18:25:09 +02:00
Andreas Rönnquist 1035910f45 Remove closing window by pressing Esc
Disable closing using Esc, to avoid closing the window by mistake.
2019-02-09 07:23:48 +00:00
Tanu Kaskinen 34cd046afd README: add a news item for the upcoming release 2019-01-11 17:23:08 +02:00
Tanu Kaskinen 180608cafc README: remove the page footer
Keeping the footer up to date is extra work with little benefit.
2019-01-11 16:40:00 +02:00
Tanu Kaskinen 84ca4f3655 README: remove reference to an ancient Debian version
It's of little use to know that the initial version was written on an
April 2006 version of Debian testing.
2019-01-11 16:35:54 +02:00
Tanu Kaskinen 4d4dcf6a0e README: remove the "Acknowledgements" section
Acknowledging people's contributions is nice, but I don't like the chore
of keeping the section up to date.
2019-01-11 16:32:52 +02:00
Tanu Kaskinen 6791be3f0f README: add "Bug Reports" and "Contributing Code" sections 2019-01-11 16:31:35 +02:00
Tanu Kaskinen f14cfbae5f README: remove the copyright notice
The copyright notice would need updating, because there are also others
than Lennart and Colin who own copyrights to paprefs, and the years are
out of date. Having to continuously update the copyright years seems
just unnecessary churn to me. People can browse the git history if
they're interested in the copyright details.
2019-01-11 16:21:31 +02:00
Yi-Jyun Pan 62673a0f8e Update Headers 2018-11-24 03:33:28 +00:00
pan93412 91ff74cd77 Update Chinese (Taiwan) Translation 2018-11-24 03:33:28 +00:00
Tanu Kaskinen dfeabf086c drop gtk2 support
When opening pavucontrol.glade with Glade 3.22.1, this message was
shown:

    pavucontrol.glade targets Gtk+ 2.16

    But this version of Glade is for GTK+ 3 only.
    Make sure you can run this project with Glade 3.8 with no deprecated
    widgets first.

I think it's best to just drop the gtk2 support.
2018-11-21 12:55:11 +02:00
Tanu Kaskinen 577246f15a pavucontrol.glade: changes automatically done by Glade
When opening pavucontrol.glade in Glade 3.22.1 and saving the file
without doing any manual changes, these changes are made to the file.
The changes seem harmless, so let's apply them to avoid unnecessary
clutter appearing when doing more important changes in the future.
2018-11-21 12:25:02 +02:00
Tanu Kaskinen 0fa1969108 pavucontrol.glade: object renames automatically done by Glade
When opening pavucontrol.glade with Glade and saving it without any
manual changes, Glade does these object rename to get rid of duplicate
IDs. None of these are referenced by the code, so the renames are
harmless.
2018-11-21 12:17:55 +02:00
Tanu Kaskinen 0047261f23 rename more objects in the quest to get rid of duplicate IDs
Continuing from the previous patch, this patch renames more objects in
pavucontrol.glade to get rid of duplicate IDs. nameLabel and iconImage
actually weren't any more duplicates, because the previous patch renamed
the corresponding IDs for devices and streams, but the card related
objects were renamed nevertheless to be more descriptive and consistent
with the IDs used by the device and stream widgets.
2018-11-21 12:06:08 +02:00
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
Tanu Kaskinen d3b3bee378 pavuapplication: initialize members in the constructor
It seems that without explicit initialization of the members they remain
uninitialized. The lack of initialization caused crashing, because
PavuApplication::on_activate() creates the MainWindow only if mainWindow
is NULL, and if it's some random value instead, on_activate() calls
selectTab() on a non-existent window.

Fixes: https://gitlab.freedesktop.org/pulseaudio/pavucontrol/issues/49
2018-10-18 15:27:10 +03:00
Thomas Lange 8fc715d7d3 i18n: update German translation 2018-10-12 12:10:36 +03:00
Karl Ove Hufthammer 783c4c0d4d i18n: Add Norwegian Nynorsk translation 2018-10-07 14:58:46 +02:00
Tanu Kaskinen 7a813f7a7f update repository links to GitLab 2018-08-07 16:42:36 +03:00
Tuure Savuoja aa51a92b10 i18n: update Finnish (fi) translation for "set as fallback"
Modify translation of "set as fallback" to "aseta oletukseksi". The old
translation meant "set as secondary" which contradicts the behaviour.
2018-05-24 18:31:18 +03:00
Piotr Drąg be2f5431db i18n: update Polish translation
https://bugs.freedesktop.org/show_bug.cgi?id=106284
2018-05-01 18:08:25 +03:00
Nikita Zlobin 7c3e76e7a5 UI form enhancement
Padding around scrollviews inside notebook is removed - bottom panel now top padding as well
and both are visually separated.
2018-03-24 09:03:47 +02:00
Bruno Duyé 1d4280a0d4 i18n: "Définir comme alternative" means "Set as an alternative" ...
... this makes the understanding os the functionality of the button difficult
2018-01-09 18:17:18 +02:00
Masato Hashimoto e09bf65e7a i18n: update the Japanese translation 2018-01-03 17:25:50 +02:00