When adding and editing accounts, the different options that Online
Accounts provides may require different sizes of the dialog. There is,
however, a specific issue where the dialog can't resize because a
provider widget is interefering with the others.
Fix that by making the dialog's stack non-homogeneous, and making sure
to always reset the dialog size before showing it.
https://bugzilla.gnome.org/show_bug.cgi?id=774222
Following the previous commit, this commit effectively brings
back the account removal feature that was temporarily removed
by 4e197b491f.
This is now reimplemented as an in-app notification, and users
now have the option to undo an accidentally removed account.
Some changes by Debarshi Ray.
https://bugzilla.gnome.org/show_bug.cgi?id=774222
After temporarily removing the ability to delete accounts in
4e197b491f, let's start bringing it back again by adding a Remove
Account button to the account editor dialog, as per the recent mockups.
https://bugzilla.gnome.org/show_bug.cgi?id=774222
When adding an account, the old proccess was: use the (removed) toolbar
to open the New Account dialog, select a provider in that dialog, add
the account and see the newly created account in the panel itself.
That approach had issues, e.g. the user would have to close the dialog
if she mistakenly selected a provider. After moving the provider list
to the panel itself, it doesn't make sense anymore to have another
provider list inside the dialog.
Fix this by moving the new account view to the accounts dialog.
https://bugzilla.gnome.org/show_bug.cgi?id=774222
This commit starts moving the contents of the add account dialog
class to the panel itself, by adding a providers listbox below
the list of available account as per the new mockups. As a side effect,
this commit temporarily makes removing an account non-functional.
The next commits are focused on finishing this move and removing
the add account dialog.
https://bugzilla.gnome.org/show_bug.cgi?id=774222
The current implementation of the Online Accounts panel allows only
the account list to scroll. To prepare ouselves for the future
changes, let's make the entire panel scrollable.
https://bugzilla.gnome.org/show_bug.cgi?id=774222
Instead of selecting an account, this commit makes the account
editor dialog only visible through explicit activation of the
account row.
As a side effect, this commit temporarily makes removing an
account non-functional.
https://bugzilla.gnome.org/show_bug.cgi?id=774222
We want to check the IsLocked property whenever we call
show_page_account. ie. when we show an account for the first time, and
also when the displayed account emits account-changed. Hence it is
better to have them together.
https://bugzilla.gnome.org/show_bug.cgi?id=774222
Following the mockups, the Online Accounts panel shall use a modal
dialog to edit online accounts.
This commit moves the current widgets to a dialog, and shows this
dialog whenever an account is selected.
Some changes by Debarshi Ray.
https://bugzilla.gnome.org/show_bug.cgi?id=774222
As part of the port to the redesigned Online Accounts panel,
the main widget to be displayed is a GtkListBox, so we can have
finer control of the UI elements and eventually be able to put
real widgets instead of using cell renderers.
This commit, then, makes the Online Account panel use a listbox
widget in the sidebar. The behavior of the panel was not changed.
Since its using a listbox now, we can drop the custom GoaPanelAccountsModel
class.
https://bugzilla.gnome.org/show_bug.cgi?id=774222
Calling gtk_style_context_set_junction_sides makes no visual
difference. We are using stock GTK+ containers, which should already
be taking care of this.
https://bugzilla.gnome.org/show_bug.cgi?id=774222
It is not ideal to have the UI split across a semi-stable,
cross-module interface boundary. Non-trivial changes to the UI require
changes to the goa_provider_show_account interface. In fact, we were
already not using it the way it was originally intended to be.
Moreover, it prevents us from having a sufficiently different UI for
certain account types.
Instead, let's just pass a vertical GtkBox to the GoaProvider and let
it fill it up whichever way it wants to.
Bump required GOA version for the new goa_provider_show_account
behaviour.
https://bugzilla.gnome.org/show_bug.cgi?id=769213
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
We should be pairing gtk_window_get_size with
gtk_window_set_default_size to avoid inconsistencies between the size
reading and setting code. eg., in recent GTK+ versions,
gtk_window_get_size and gtk_widget_set_size_request differ in their
interpretation of the CSD chrome.
However, gtk_window_set_default_size didn't work with non-resizable
GtkWindows, until now.
https://bugzilla.gnome.org/show_bug.cgi?id=762548
This fixes this leak:
==21491== 384 (40 direct, 344 indirect) bytes in 1 blocks are definitely lost in loss record 18,518 of 19,643
==21491== at 0x8792D3A: g_type_create_instance (gtype.c:1848)
==21491== by 0x8779AC5: g_object_new_internal (gobject.c:1774)
==21491== by 0x8779FD4: g_object_newv (gobject.c:1921)
==21491== by 0x8779676: g_object_new (gobject.c:1614)
==21491== by 0x747DFFC: gtk_list_store_new (gtkliststore.c:424)
==21491== by 0x49C781: goa_panel_add_account_dialog_init (cc-online-accounts-add-account-dialog.c:300)
==21491== by 0x8792E7D: g_type_create_instance (gtype.c:1870)
==21491== by 0x8779AC5: g_object_new_internal (gobject.c:1774)
==21491== by 0x877A71A: g_object_new_valist (gobject.c:2033)
==21491== by 0x87796C5: g_object_new (gobject.c:1617)
==21491== by 0x49CC26: goa_panel_add_account_dialog_new (cc-online-accounts-add-account-dialog.c:380)
==21491== by 0x49B162: get_all_providers_cb (cc-online-accounts-panel.c:701)
==21491== by 0x8426107: g_simple_async_result_complete (gsimpleasyncresult.c:801)
==21491== by 0x8426153: complete_in_idle_cb (gsimpleasyncresult.c:813)
==21491== by 0x8A0C470: g_idle_dispatch (gmain.c:5397)
==21491== by 0x8A09AB8: g_main_dispatch (gmain.c:3122)
==21491== by 0x8A0A8FC: g_main_context_dispatch (gmain.c:3737)
==21491== by 0x8A0AAE0: g_main_context_iterate (gmain.c:3808)
==21491== by 0x8A0ABA4: g_main_context_iteration (gmain.c:3869)
==21491== by 0x846EE55: g_application_run (gapplication.c:2311)
==21491== by 0x44CA4B: main (main.c:57)
https://bugzilla.gnome.org/show_bug.cgi?id=756762
This reverts commit 31a8a99440.
This was meant for bgo#695885 which has stalled for a while, so this
feature has no in-tree user. This commit removes it for now, this can be
readded when users for it materialize.
https://bugzilla.gnome.org/show_bug.cgi?id=751597
Create the scrolled window with vertical scrolling turned off. Turn it
on when there are more than one items in the list.
Note that the immediate parent of the list is a GtkViewport, so we
need to explicitly look for the GtkScrolledWindow.
https://bugzilla.gnome.org/show_bug.cgi?id=745584
This is deprecated in newer automake versions, and this causes warnings
with automake 1.14:
panels/printers/Makefile.am:3: warning: 'INCLUDES' is the old name for
AM_CPPFLAGS' (or '*_CPPFLAGS')
https://bugzilla.gnome.org/show_bug.cgi?id=732189
Set a limit of 40 chars to the label explaining the panel when no
accounts have been added yet. This prevents the label from expanding
itself and the whole window arbitrarily.
https://bugzilla.gnome.org/show_bug.cgi?id=720188