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