localed will not update the LC_* variables if they are not given. This
means that should the user switch the formats away from LANG and then
back, they will not be reset appropriately.
Simply always setting the variables even if the match will fix this.
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.
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
setlocale() is not threadsafe except when used only to query the locale
without changing it. Let's use uselocale() instead, which changes the
locale only on the calling thread. Much better.
This was broken in a86cf1eca2 (3.32) when the input options dialog was converted
into a GtkPopover. Previously two GSettings objects were used, with one set to
'delay-apply' mode. The input source option didn't apply the changes.
The 'delay-apply' mode is from the original commit d3852fc831, however code was
simplified in b3199dd to only set one setting. This meant that the delay is no
longer necessary.
Fixes#440
Put the widget's content into a HdyColumn, itself into a
GtkScrolledWindow. This allows the panel to reach narrower sizes.
This deliberately doesn't adapt the indentation of the contained widget
to help this commit to be more readable and easier to review, it will be
adapted in the next commit.
- Move more code into the .ui file
- Don't save the dialog between runs - it's cheap to generate on demand
- Hold references on data passed to dialog
- Connect signals in "swapped" form
- Use standard naming format for signal callbacks
The previous code had a number of issues:
- It used a shared 'op' enum value for the operation - a second operation would
overwrite this.
- It acted on the row selected at the time the operation was requested - this
could have changed by the time the operation occurred.
Solved by passing all the required data though the async methods.
The row widgets are not full GtkWidgets. This means they are harder
to understand, use g_object_set_data which looses type safety and
cause the one .c file to be overly large.
Update this code to use a CcInputRow widget that uses GTK+ best
practice.
Creating the restart file leaked GFile objects. It also stored the path in the
object, which is unnecessary as it can just be generated on demand.
This leak has was introduced when the feature was in
db551f1c5d
There was a GCancellable used for IBus operations that was generated each time
an operation was done. The cancellable was only used to cancel such operations
when the panel is closed. We can just use the shared cancellable for this.