With the old shell gone, there is no need to work around cut off panel
names (bug #647087). As it stands now, it only confuses translators
(invisible characters are hard to, well, see).
https://bugzilla.gnome.org/show_bug.cgi?id=792629
Meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=785414
In order to share the libgd and gvc modules between autotools and
meson, this patch moves their directories to subprojects
directory and updates autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=785414
Since we don't maintain two different shells anymore, there
is no need to maintain the two different sets of categories
in the desktop files.
This commit also drops the "#ifdef CC_ENABLE_ALT_CATEGORIES"
blocks, since the previous commit removed that define.
https://bugzilla.gnome.org/show_bug.cgi?id=790923
While it isn't possible, or even advisable, to make all the list
box rows the same height, using a number of standard heights will
make the control center feel more harmoneous.
Adust the height of the list box rows in Color, Date & Time,
Mouse & Touchpad, Network, Privacy, Region & Language, Sharing
and Universal Access. Makes standard rows that contain labels
and/or controls 58px tall. Some other rows, such as those which
contain two lines of text, are allowed to be taller.
https://bugzilla.gnome.org/show_bug.cgi?id=786384
Ensure that the vertical spacing inside each panel is similar.
This makes the transition between each panel smoother and makes
the control center feel more cohesive.
Settings panels are given 32px above and below their content
and 32px vertical space between major sections. 12px space is
placed below headings.
Bluetooth, displays and printers are not addressed.
https://bugzilla.gnome.org/show_bug.cgi?id=786384
When the Language is changed in the Region panel, a "Restart"
notification is shown, but if the user closes the window without
acting on the restart session notification, there is no way to
get back to it.
This way we create a temporary file in the g_get_user_runtime_dir ()
directory flagging whether we should present the "Restart"
notification.
https://bugzilla.gnome.org/show_bug.cgi?id=702351
In some cases we end up getting an input source row activated without
it being selected. This seems like a GtkListBox bug but we can easily
avoid it.
https://bugzilla.gnome.org/show_bug.cgi?id=783058
GtkListBox might emit the row-selected signal while being destroyed
and our row-selected handler accesses widgets owned by GtkBuilder so,
depending on the order on which the builder destroys its objects, we
could crash on the signal handler when destroying the builder.
Using g_signal_connect_object() avoids this issue by disconnecting us
before our finalize() runs.
https://bugzilla.gnome.org/show_bug.cgi?id=770563
Following the previous patch, this patch adds the new alternative
categories to the panels' Desktop files. These alternative categories
are only relevant for the alternative Shell, and do not break the
current Shell in any way.
https://bugzilla.gnome.org/show_bug.cgi?id=767301
Commit b3be076 added soft hyphens along with a comment for translators
to use those soft hyphens. Except that gettext would only grab the one
line out of the four we wrote for translators to read. Put them all on
the same line so that gettext actually extracts those.
https://bugzilla.gnome.org/show_bug.cgi?id=765778
Note that this fix will not automatically fix translations, which will
need to add soft-hyphens (U+00AD) to their translations themselves, and
will not fix larger fonts for which the split up syllables end up
being bigger than the maximum text width.
It's the best we can do without redesigning the Settings shell, which is
already something planned.
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13
If the GCancellable is cancelled by the finalize() function, the
callback will still be called potentially with an instance of the
panel that's not valid anymore.
To avoid crashing in that case, only access the priv pointer
when we have no error.
https://bugzilla.gnome.org/show_bug.cgi?id=761846
The formats (or 'region') setting might be unset meaning that it's the
same as the language since that's what LC_TIME et al default to when
unset.
We already handle this for the user setting but for the system setting
we're losing that semantic when getting it from localed since we don't
allow priv->system_region to remain unset. This means that when users
change the system language, the system formats will be explicitly set
to the previous value of the system language instead of remaining
unset and thus follow the new value for the system language.
This isn't that bad on multi user systems where we display system
settings separately from user settings, but on single user systems we
change the system values to match the user values which, due to the
above mentioned semantic difference regarding the region setting,
means that when changing the language, the (unset) region will be
displayed as the same as the language but the system region will be
explicitly set to the previous language.
Fix this by making the system region have the same semantic as the
user's, i.e. allow it to remain unset until explicitly set by the
user.
https://bugzilla.gnome.org/show_bug.cgi?id=755648
This is a pre-requisite for using a header bar.
GtkDialog:use-header-bar is a construct-only property, and has no
effect when set from the XML. Therefore, the only option is to turn
the widget into a template and set use-header-bar from C.
There should be no behavioral changes due to this patch.
Bump required GLib version for the G_DECLARE_FINAL_TYPE macro.
https://bugzilla.gnome.org/show_bug.cgi?id=757516
Going back when the back row just gets selected breaks keyboard
navigation. This behavior got introduced by mistake in commit
f28e06a4. Instead, let's just do the add button sensitiveness logic
here. The back row still works when activated.
https://bugzilla.gnome.org/show_bug.cgi?id=754524
For newly created user accounts, AccountsService won't have the
language property set. Instead of defaulting to en_US in that case,
let's fallback to the current locale.
https://bugzilla.gnome.org/show_bug.cgi?id=753828
On systems that have only a few locales installed we might end up
starting with an awkwardly small height. To avoid that we can set our
initial height to be the same as the main window.
https://bugzilla.gnome.org/show_bug.cgi?id=753537
While filtering we're adding all the input source rows to the
GtkListBox. This is a performance issue since GtkListBox doesn't
really cope with a big number of rows.
Instead, we'll filter the locale rows in a way such that we'll show a
locale row for which any input source name matches. From this filtered
locales view, users will still need to activate a locale row to get to
the input source rows view.
https://bugzilla.gnome.org/show_bug.cgi?id=752383
This makes the dialog easier to use via keyboard navigation since
otherwise we would just dismiss the dialog with the current selection
on enter when the user actually intended to change the selection.
https://bugzilla.gnome.org/show_bug.cgi?id=752001
The language input chooser is being created and destroyed every time
it is opened and closed. This is noticeably slow and is hardly
necessary as the values it contains should not change.
To fix this, these changes reuse the same instance of the input chooser
(by hiding and showing it) instead of renewing it.
The input chooser is also now shown using gtk_dialog_run to avoid having
it destroyed from the default delete event.
These changes prevent warnings when unreferencing the default input
source, locale and back rows which are never instanced by some locales
(and thus null).
The language input chooser is being leaked. The reason for the leak
is a "circular reference": the input chooser keeps a GtkBuilder
instance that gets destroyed when the chooser is, itself, destroyed.
However, the input chooser is never destroyed because the GtkBuilder
instance keeps a reference to it.
These changes dismiss the GtkBuilder once it is no longer needed in the
input chooser which fixes the leak.
The first input source gets activated by default when users log in but
we don't currently allow users to set this (other than the awkward
remove all input sources and add them again in the right order).
Allowing user re-ordering of the input source list nicely allows users
to get the default input source they want.
https://bugzilla.gnome.org/show_bug.cgi?id=743400
Currently it looks a bit unpolished that the add/remove buttons on the
other side of the toolbar look linked while this pair doesn't. Note
that the input source settings button isn't always visible but in that
case the layout button will still show up correctly as non-linked.
https://bugzilla.gnome.org/show_bug.cgi?id=743400
When iterating locales in the format chooser,
gnome_get_country_from_locale() is called for each of them to build the
locale label for the list row.
The function creating the label doesn't take into account that
gnome_get_country_from_locale() can return NULL, in which case it will
both:
- display an empty row in the list
- crash when later trying to find a word in a NULL string with strstr()
inside match_all()
Just avoid creating a widget in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=742639