summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* sound: update the volume-slider after getting a valid streamgnome-3-36Hui Wang2022-01-313-10/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the ubuntu 20.04, we met an issue about the output volume-slider on the machine with the legacy HDA audio driver, the output device is the Speaker first (analog-stereo pa sink), then we connect a hdmi monitor, the HDMI audio is in the output combo-box, we select the hdmi audio (hdmi-stereo pa sink) from the combo-box, the hdmi audio becomes the active output device now, we adjust the output volume from the volume-slider, the slider UI is changed, but the output sound is not changed with the UI. The root cause is when the speaker is active, the pulseaudio only keeps the analog-stereo sink, the sink hdmi-stereo is unlinked, when users select the hdmi audio from UI, the pulseaudio will unlink analo-stereo sink and create hdmi-stereo sink, but before hdmi-stereo is created, the output_device_changed_cb() is called and gvc_mixer_control_get_stream_from_device() returns a NULL since the hdmi-stereo sink is not created yet in the pulseaudio. Because stream is NULL, the output_volume_slider->stream is NULL, users can't change the output volume via the volume-slider. To fix it, we add a output_volume_slider->stream check in the device_update_cb(), if it is NULL, get the stream and set it to volume-slider. In this function, the sink hdmi-stereo is created already, so the stream is not NULL. And this change also applies to input as well. Signed-off-by: Hui Wang <hui.wang@canonical.com>
* display: Add missing parameter checks on CcDisplayConfig methodsRobert Ancell2022-01-311-0/+3
| | | | Closes #945
* sound: clear the value on level_bar when stream is emptyHui Wang2022-01-311-0/+1
| | | | | | | | | | | | | | | | We met an Input Device level_bar display issue on a machine which has no internal mic. At first there is no external mic plugged, so the Input Device list is empty and level_bar is gray color, after we plug an external mic, the level_bar has red color ripples, then we unplug the external mic, the Input Device list changes to empty and we expect the level_bar changes back to gray color, but some bars are still red color. Here clear the self->value to 0 if the stream is empty, then the level_bar will change back to gray color when Input/Output device list is empty. Signed-off-by: Hui Wang <hui.wang@canonical.com>
* meson: drop unused argument for i18n.merge_file()Jan Beich2022-01-3133-37/+0
| | | | | | | | | Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0. panels/applications/meson.build:10:5: ERROR: Function does not take positional arguments. panels/background/meson.build:10:5: ERROR: Function does not take positional arguments. panels/camera/meson.build:10:5: ERROR: Function does not take positional arguments. [...]
* Update Portuguese translationHugo Carvalho2021-04-231-16/+16
|
* Update Portuguese translationHugo Carvalho2021-04-221-102/+111
|
* Update Portuguese translationHugo Carvalho2021-04-141-3914/+5653
|
* 3.36.53.36.5Robert Ancell2020-11-202-1/+35
|
* sharing: Also disable Tracker3Jens Georg2020-11-201-0/+1
| | | | Fixes #1160
* applications: Fix NULL hash table being unreffed.Robert Ancell2020-11-201-4/+4
| | | | | When clicking away from the applications panel you can see: (gnome-control-center:95304): GLib-CRITICAL **: 09:12:52.941: g_hash_table_unref: assertion 'hash_table != NULL' failed
* wacom: Fix a critical warning if loading a cursor failsPhilip Withnall2020-11-201-2/+1
| | | | | | | | It’s possible for `gdk_cursor_new_for_display()` to return `NULL`. It’s OK to pass `NULL` to `gdk_window_set_cursor()`, but not OK to then unref it. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* printers: Fix leak of printer name in callbacks.Robert Ancell2020-11-203-7/+7
| | | | | | printer_set_ppd_async and printer_set_ppd_file_async copy the printer name, but this isn't freed in any cases that use these callback (the string isn't even used at all).
* network: Correctly detect when ethernet devices are hotplugged.Robert Ancell2020-11-201-8/+21
| | | | Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/995
* keyboard: fix gtk_widget_get_can_default assertion errorIan Douglas Scott2020-11-201-0/+1
| | | | Occured when showing the "Replace" button.
* printers: Make printers panel have a smaller minimum width.Robert Ancell2020-11-201-0/+1
| | | | Allow the ink-level to overlap with the buttons.
* sharing: Remove vino preferencesPascal Nowack2020-09-253-157/+0
| | | | They are unused now.
* sharing: Replace vino with gnome-remote-desktop for X11 sessionsPascal Nowack2020-09-251-75/+2
| | | | | | | | | | | | | | | | | | | | vino does not work in Wayland sessions and gnome-settings-daemon removed vino support in [1] which will effectively not start 'vino-server' any more. The replacement for vino is gnome-remote-desktop since it works in both Wayland and X11 sessions. The gnome-remote-desktop sharing panel however is currently only shown for Wayland sessions, which makes it harder to use it for X11 sessions since the user has to login into the Wayland sessions just to be able to enable gnome-remote-desktop. Therefore, also remove vino from g-c-c and replace it with gnome-remote-desktop for X11 sessions, too. [1] https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/135 Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/212 Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/937
* keyboard: Fix behavior of "Replace" when adding custom shortcutIan Douglas Scott2020-09-251-3/+5
| | | | | | In the shortcut editor, the "Replace" button is shown instead of "Set" or "Add" when there is a collision. But this executes the same code as "Set", so when adding a shortcut, it doesn't actually work.
* sound: fix subwoofer sliderArne2020-09-251-1/+1
|
* sound: update the profile list after getting the signal from gvcHui Wang2020-09-251-6/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | In the ubuntu 20.04, we found a regression on HDMI audio. We plug a HDMI/DP monitor, the output device is the speaker in the output device combo box, then we select the HDMI from the combo box, the output device is switched to HDMI audio successfully, but the configuration box is empty. This will not happen in the ubuntu 18.04, the profile will show hdmi-stereo in this situation. So I think this is a regression. When problem happens, I could see the errors from log: Gvc: DEBUG: Matching profile for 'output:analog-stereo' is '(null)' Gvc: DEBUG: Matching profile for 'output:analog-stereo' is '(null)' Gvc: DEBUG: Matching profile for 'output:analog-stereo' is '(null)' Through debugging, I found the cc_profile_combo_box_set_device() is called too early. In the ubuntu 18.04, this function is called after pulseaudio changes the active_profile, but in the ubuntu 20.04, it is called ahead of pulseaudio changes the active_profile. To fix it, add a signal callback function, after pulseaudio changes the active_profile, this callback function will be called, then call cc_profile_combo_box_set_device(). Signed-off-by: Hui Wang <hui.wang@canonical.com>
* Updated Slovenian translationMatej Urbančič2020-08-311-9/+33
|
* Update Chinese (China) translationBoyuan Yang2020-08-301-2096/+2687
|
* Updated Slovenian translationMatej Urbančič2020-08-261-13/+18
|
* Updated Slovenian translationMatej Urbančič2020-08-231-391/+268
|
* details-page.ui: Fixed rows of text collide, increased child's top_attachBin Li2020-08-201-4/+4
| | | | | | after auto_connect_check. Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/933
* user-account: don't segfault trying to get the user initialsSebastien Bacher2020-08-191-1/+7
| | | | | it's possible that act_user_get_real_name returns null, handle that case fixes bug #959
* applications: ensure private types used by the templatejeongsu8162020-08-191-0/+3
| | | | | | | | | on some systems, private types of settings app are not resolved. Error building template class 'CcApplicationsPanel' for an instance of type 'CcApplicationsPanel': Invalid object type 'CcToggleRow' to fix this issue, ensure private types used by the template
* Update Brazilian Portuguese translationRafael Fontenelle2020-07-171-221/+218
|
* printers: Do not authenticate SMB servers when search field is editedElia Geretto2020-07-171-1/+1
| | | | | | | | | | | | | | | When the search field in the "Add Printer" dialog is edited, no authentication with a remote SMB server should be attempted. The server should just be added to the list and marked with "Server requires authentication". The user can then authenticate the server by clicking on it. The behavior described above is probably the intended one when the code was written, since there is no closure registered for the "authentication-required" signal in the function this commit modifies. This commit should simply restore the intended behavior. Resolves: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/755
* network: Fix connection editor blanking when removing manual entryFelix Riemann2020-07-172-4/+4
| | | | | | | | | To delete a manual entry row (IP addresses or routes) the remove_row function started walking the widget hierarchy at the connection editor widget. This caused the entire dialog box getting removed. Begin at the GtkButton instead to actually remove the corresponding line. Fixes #972.
* Update Romanian translationDaniel Șerbănescu2020-07-061-118/+118
|
* 3.36.43.36.4Robert Ancell2020-07-032-1/+17
|
* fingerprint-dialog: Disconnect signals and reset stages on enroll-restartMarco Trevisan (Treviño)2020-06-261-0/+2
| | | | This happens if going to the previous page when enrolling a finger
* fingerprint-dialog: Don't limit the number of maximum enroll stagesMarco Trevisan (Treviño)2020-06-262-133/+37
| | | | | | There are devices with more than 10 enroll stages we should handle, so instead of hardcoding a grid of images, let's just build this dynamically using a flowbox
* fingerprint-dialog: Don't use sync calls for deleting fingerprintsMarco Trevisan (Treviño)2020-06-261-3/+15
| | | | | | | | | | | | | Don't make the UI to block while deleting the saved prints (that might take some time, especially for devices with internal storage) but just use a task with a thread that: - Mark the fingerprint row as unsenstive - Calls the method to delete prints - In the same thread, calls the method to fetch the updated informations - Returns in set_fingerprint_row_cb where we update the UI again Again this would be nicer to be done just using async calls but this is something to do in some bigger refactor.
* user-panel: Only load the fingerprint state onceMarco Trevisan (Treviño)2020-06-261-9/+23
| | | | | | | | | | | | | Don't load the fingerprint information all the times we update the view, but load it during initialization only. The fingerprint state in fact can only change because we requested it through the dialog that we control already and that would update the relevant widgets state anyways. Also, given that the fingerprint settings are visible for the current user anyway, we can track this only with a simple boolean, instead of using a set of UIDs.
* user-panel: Pass a cancellable to the fingerprint operationsMarco Trevisan (Treviño)2020-06-262-5/+23
| | | | And cancel it when changing user and on disposition
* fingerprint-dialog: Make the operations cancellableMarco Trevisan (Treviño)2020-06-263-45/+66
|
* user-panel: Don't wait for fprintd on initializationMarco Trevisan (Treviño)2020-06-263-21/+88
| | | | | | | | | | | | | | | | | When opening the user panel we g-c-c performs lots of sync operations that may cause a noticeable slowdown, especially when a fingerprint device is available, in fact set_fingerprint_label() call leads to: - DBus sync request of the system bus - fprintd dbus-activation + This leads to sync opening of all the devices, that might also cause a slowdown, depending on the devices drivers - Dbus sync calls to the device to get the list of enrolled fingerprints Only after we've a reply, we update the g-c-c UI and continue the execution. The fingerprint dialog code would need some global refactor, but to fix this without big changes, let's just use GTask that runs a thread in wich we do all the sync operations, and once done we finally update the widget state.
* user-panel: Add reference to selected user and clear on disposeMarco Trevisan (Treviño)2020-06-261-3/+4
| | | | | | The object was wrongly unreffed (as ActUserManager has the ownership) on user switch, so add a reference instead when assigning it to our private ref and unref it on dispose.
* Update Kazakh translationBaurzhan Muftakhidinov2020-06-251-558/+757
|
* sound: Stop non-interactive profile changes from triggering changed eventsRobert Ancell2020-06-181-1/+5
| | | | Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1033
* Update Kazakh translationBaurzhan Muftakhidinov2020-06-151-2660/+2996
|
* 3.36.33.36.3Robert Ancell2020-06-032-1/+11
|
* Update Catalan translationJordi Mas2020-05-311-2/+2
|
* Update Japanese translationsicklylife2020-05-211-11/+10
|
* Update Japanese translationsicklylife2020-05-211-95/+95
|
* Update Chinese (Taiwan) translationYi-Jyun Pan2020-05-181-29/+59
|
* Update Chinese (Taiwan) translationYi-Jyun Pan2020-05-181-669/+692
|
* Update Chinese (Taiwan) translationCheng-Chia Tseng2020-05-161-692/+669
|