When creating a Page, the dialog variable wasn't set and thus
dereferencing a NULL in a later code resulting a crash.
This was introduced in 14b9f65ba4
(cherry picked from commit 2fb0ff250b)
The other checkboxes on this page all have mnemonics. It seems unfair
for the background data usage one to be left out of the party.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
(cherry picked from commit dadf2a4258)
The Add Connection widgets from the connection
editor dialog weren't properly using the available
space, since they don't expand.
Fix that by making them expand and fill the available
space properly. It also avoids blank space by vertically
centering the list.
(cherry picked from commit 6e6e9952b4)
At the default window size, the printer name label is too wide and
collapses the UI into phone mode. (This is the only panel that shows up
in phone mode by default.) Giving the printer name fewer characters
avoids this.
When adding a Shared Folder row to the listbox, we were not settings
it to visible. Causing it to be hidden until the next time the panel
gets populated.
Fixes#580
(cherry picked from commit 1b81221092)
When the user disables the use of location services in the privacy
panel, then the timezone will never be updated automatically. Automatic
timezone may still be enabled though, so we need to allow the user to
change the timezone when location services are disabled or when
automatic timezone updating is disabled.
(cherry picked from commit 8d9affbd6a)
Previously, when you open the connection editor dialog for each
connection, no matter whether you've made any changes or not, the
"Apply" button became sensetive, which is not what we expected.
Fix that by removing the unnecessary call to password_storage_changed()
while constructing the security tab.
Due to an API bug in GNOME Online Accounts, the asynchronous
goa_provider_get_all method doesn't accept a GCancellable argument. This makes
it difficult to cancel an ongoing call when the CcGoaPanel gets destroyed.
This was hacked around by taking a reference on the panel for the duration of
the call. Instead of cancelling a pending call on destruction, it would keep the
panel alive until the call was over.
The hack does not consider the case get_all_providers_cb is called while the
panel is still being initialized. E.g. this happen when create the panel passing
the paramenters "add <provider>" because the constuct properties are set just
after cc_goa_panel_init returns and because goa_provider_add_account will result
in a call to g_main_context_iterate (caused by gtk_dialog_run).
In order to work around this we can call goa_provider_get_all in _constructed()
after all construct properties have been set.
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/401
Since 9d612ff1c7 this is required,
otherwise we never set up the GtkAdjustment and so the scales don't
display any values or widget to make adjustments, meaning they can't be
used.
Also call `notify_volume_cb()` from `update_ranges()` to initialise the
adjustment, since when we set the mixer control we now might not have
set the value.
Closes#652
Some devices have panels with a native resolution in portrait mode. In
these cases the monitor will likely be used in landscape mode.
Accept the modes as if they are landscape rather than portrait. A
further improvement would be to restrict the orientation setting.
Fixes#639
The previous code would make that browser the default handler for all mime types
it supported. This meant Firefox would become the handler for PNG and JPEG images.
Fixes#473
Username policies differ across the distributions. See the discussion on:
https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/359
It is not possible to hard-code some rules here without the need for
downstream modifications. Let's check the validity of usernames dynamically
over "usermod" to prevent this.
Just be careful that this is based on undocumented usermod behavior, which
may change in the future.
Tracker GSettings were previously stored in a global variable. This
seems to have been done to avoid difficulty passing the settings via
callbacks. Global variables are easy to leak and make mistakes with.
Update the code to have better callback handling so the variable can
be stored inside the object.
GVC added additional checks that break where we were using a NULL value instead
of a GvcMixerControl. Solution is to pass this object where appropriate.
(gnome-control-center:833): Gvc-CRITICAL **: 11:09:33.818: gvc_mixer_control_get_vol_max_norm: assertion 'GVC_IS_MIXER_CONTROL (control)' failed
Fixes#636
Sometimes ninja decides to compile tests/interactive-panels/main.c,
which requires shell/resources.h, before shell/resources.h is generated.
The fix is to use 'sources' argument of declare_dependency to properly
declare the dependency on generated headers.
A fix for tests/datetime and panels/datetime is also included in the
commit to fix a similar problem.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/472
Increasing the trough size by setting the min-height caused issue when
the scale was being fine-tuned. Changing the padding seems to have a
similar effect without triggering any such issue (with Adwaita).
Fixes#335
We are currently adding support for Synaptics devices that require 8
steps. Add another row for images which brings us to up to 10
supportable steps for now.
Drop the subtypes, and keep a single udev-based GsdDeviceManager,
which will work on both backends, and should work on all platforms
we care about (?).
Those files are no longer existent in gnome-settings-daemon, so
this module is free to do as it pleases with them, there doesn't
need to exist any synchronization anymore.
This decouples the user interface parts from the control logic,
making it easy for designers to tweak the look & feel of the rows.
Besides, it makes it easier to introduce Drag & Drop capabilities.
g-s-d was changed to use a better black body temperature calculation.
This strongly affects the effect of the color temperature (the default
is changed from 4000K to 2700K). Update the scale to represent a similar
range to default even if the distribution on the scale is quite
different.
So that it fits into 360px. UI wise, the margin at end is almost
always larger than start (due to text wraping). So reducing end
margin may also let the popover content feel more center aligned.
The button doesn't delete the original file - it just removes
the image from the selection. "Remove" is therefore a better word
than "Delete", and the destructive action style isn't appropriate.
Fixes#578
The "Bluetooth" section is actually a catchall section for all
device types we don't know much specifically (Includes, but not
limited to Bluetooth).
Rename/relabel it to something more comprehensive.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/488
This may happen under some conditions. Possibly due to a race condition
(i.e. we did not receive any configuration from mutter yet) or also if
we are not running on GNOME.
Add guards for NULL configuration. This configuration is never
applicable and mostly clears the UI.
Fixes: #604
There's a dedicated icon for drag handles - we should make use of
it. Also, change the color of the handle so it looks like it is
part of the row.
Fixes#590
Remove the size group where mtu label belongs, so that it can request
enough space when it becomes visible. Since the size group is removed,
filler widget is no longer useful. Remove it as well.