app: Don't show arch column if it's not interesting

Flatpak already doesn't show the architecture column in the output of
"flatpak list" if every flatpak has the same architecture. This commit
does the same for the table printed for install/update/uninstall
operations, except if the user specifies an arch on the command line.

Fixes https://github.com/flatpak/flatpak/issues/2794

Closes: #2930
Approved by: matthiasclasen
This commit is contained in:
Matthew Leeds 2019-05-28 14:44:46 -07:00 committed by Atomic Bot
parent c29d9ebcf7
commit 3af605dd39
5 changed files with 15 additions and 5 deletions

View File

@ -152,7 +152,7 @@ install_bundle (FlatpakDir *dir,
if (opt_noninteractive)
transaction = flatpak_quiet_transaction_new (dir, error);
else
transaction = flatpak_cli_transaction_new (dir, opt_yes, TRUE, error);
transaction = flatpak_cli_transaction_new (dir, opt_yes, TRUE, opt_arch != NULL, error);
if (transaction == NULL)
return FALSE;
@ -225,7 +225,7 @@ install_from (FlatpakDir *dir,
if (opt_noninteractive)
transaction = flatpak_quiet_transaction_new (dir, error);
else
transaction = flatpak_cli_transaction_new (dir, opt_yes, TRUE, error);
transaction = flatpak_cli_transaction_new (dir, opt_yes, TRUE, opt_arch != NULL, error);
if (transaction == NULL)
return FALSE;
@ -446,7 +446,7 @@ flatpak_builtin_install (int argc, char **argv, GCancellable *cancellable, GErro
if (opt_noninteractive)
transaction = flatpak_quiet_transaction_new (dir, error);
else
transaction = flatpak_cli_transaction_new (dir, opt_yes, TRUE, error);
transaction = flatpak_cli_transaction_new (dir, opt_yes, TRUE, opt_arch != NULL, error);
if (transaction == NULL)
return FALSE;

View File

@ -351,7 +351,7 @@ flatpak_builtin_uninstall (int argc, char **argv, GCancellable *cancellable, GEr
if (opt_noninteractive)
transaction = flatpak_quiet_transaction_new (udir->dir, error);
else
transaction = flatpak_cli_transaction_new (udir->dir, opt_yes, TRUE, error);
transaction = flatpak_cli_transaction_new (udir->dir, opt_yes, TRUE, opt_arch != NULL, error);
if (transaction == NULL)
return FALSE;

View File

@ -131,7 +131,7 @@ flatpak_builtin_update (int argc,
if (opt_noninteractive)
transaction = flatpak_quiet_transaction_new (dir, error);
else
transaction = flatpak_cli_transaction_new (dir, opt_yes, FALSE, error);
transaction = flatpak_cli_transaction_new (dir, opt_yes, FALSE, opt_arch != NULL, error);
if (transaction == NULL)
return FALSE;

View File

@ -36,6 +36,7 @@ struct _FlatpakCliTransaction
gboolean disable_interaction;
gboolean stop_on_first_error;
gboolean non_default_arch;
GError *first_operation_error;
int rows;
@ -873,12 +874,18 @@ transaction_ready (FlatpakTransaction *transaction)
printer = self->printer = flatpak_table_printer_new ();
i = 0;
flatpak_table_printer_set_column_title (printer, i++, " ");
flatpak_table_printer_set_column_title (printer, i++, " ");
flatpak_table_printer_set_column_expand (printer, i, TRUE);
flatpak_table_printer_set_column_title (printer, i++, _("ID"));
flatpak_table_printer_set_column_expand (printer, i, TRUE);
if (!self->non_default_arch)
flatpak_table_printer_set_column_skip_unique (printer, i, TRUE);
flatpak_table_printer_set_column_title (printer, i++, _("Arch"));
flatpak_table_printer_set_column_expand (printer, i, TRUE);
flatpak_table_printer_set_column_title (printer, i++, _("Branch"));
@ -1060,6 +1067,7 @@ FlatpakTransaction *
flatpak_cli_transaction_new (FlatpakDir *dir,
gboolean disable_interaction,
gboolean stop_on_first_error,
gboolean non_default_arch,
GError **error)
{
g_autoptr(FlatpakInstallation) installation = NULL;
@ -1080,6 +1088,7 @@ flatpak_cli_transaction_new (FlatpakDir *dir,
self->disable_interaction = disable_interaction;
self->stop_on_first_error = stop_on_first_error;
self->non_default_arch = non_default_arch;
flatpak_transaction_add_default_dependency_sources (FLATPAK_TRANSACTION (self));

View File

@ -30,6 +30,7 @@ G_DECLARE_FINAL_TYPE (FlatpakCliTransaction, flatpak_cli_transaction, FLATPAK, C
FlatpakTransaction * flatpak_cli_transaction_new (FlatpakDir * dir,
gboolean disable_interaction,
gboolean stop_on_first_error,
gboolean non_default_arch,
GError **error);
#endif /* __FLATPAK_CLI_TRANSACTION_H__ */