gnome-packagekit r300 - in trunk: data help/C/figures po src
- From: rhughes svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-packagekit r300 - in trunk: data help/C/figures po src
- Date: Mon, 22 Sep 2008 13:34:34 +0000 (UTC)
Author: rhughes
Date: Mon Sep 22 13:34:34 2008
New Revision: 300
URL: http://svn.gnome.org/viewvc/gnome-packagekit?rev=300&view=rev
Log:
from git
Modified:
trunk/data/gnome-packagekit.schemas.in
trunk/help/C/figures/gpk-updates-overview.png
trunk/help/C/figures/gpk-updates.png
trunk/po/ChangeLog
trunk/po/POTFILES.in
trunk/po/cy.po
trunk/src/Makefile.am
trunk/src/gpk-application-main.c
trunk/src/gpk-application.c
trunk/src/gpk-application.h
trunk/src/gpk-auto-refresh.c
trunk/src/gpk-auto-refresh.h
trunk/src/gpk-backend-status.c
trunk/src/gpk-check-update.c
trunk/src/gpk-client-run.c
trunk/src/gpk-client.c
trunk/src/gpk-client.h
trunk/src/gpk-common.c
trunk/src/gpk-common.h
trunk/src/gpk-enum.c
trunk/src/gpk-enum.h
trunk/src/gpk-firmware.c
trunk/src/gpk-firmware.h
trunk/src/gpk-inhibit.c
trunk/src/gpk-inhibit.h
trunk/src/gpk-interface.h
trunk/src/gpk-log.c
trunk/src/gpk-prefs.c
trunk/src/gpk-repo.c
trunk/src/gpk-self-test.c
trunk/src/gpk-smart-icon.c
trunk/src/gpk-smart-icon.h
trunk/src/gpk-update-icon.c
trunk/src/gpk-update-viewer.c
trunk/src/gpk-watch.c
trunk/src/gpk-watch.h
Modified: trunk/data/gnome-packagekit.schemas.in
==============================================================================
--- trunk/data/gnome-packagekit.schemas.in (original)
+++ trunk/data/gnome-packagekit.schemas.in Mon Sep 22 13:34:34 2008
@@ -14,6 +14,18 @@
</schema>
<schema>
+ <key>/schemas/apps/gnome-packagekit/prompt_hardware</key>
+ <applyto>/apps/gnome-packagekit/prompt_hardware</applyto>
+ <owner>gnome-packagekit</owner>
+ <type>bool</type>
+ <default>true</default>
+ <locale name="C">
+ <short>Ask the user if additional hardware drivers should be installed</short>
+ <long>Ask the user if additional hardware drivers should be installed</long>
+ </locale>
+ </schema>
+
+ <schema>
<key>/schemas/apps/gnome-packagekit/show_depends</key>
<applyto>/apps/gnome-packagekit/show_depends</applyto>
<owner>gnome-packagekit</owner>
Modified: trunk/help/C/figures/gpk-updates-overview.png
==============================================================================
Binary files. No diff available.
Modified: trunk/help/C/figures/gpk-updates.png
==============================================================================
Binary files. No diff available.
Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in (original)
+++ trunk/po/POTFILES.in Mon Sep 22 13:34:34 2008
@@ -37,6 +37,7 @@
src/gpk-dialog.c
src/gpk-error.c
src/gpk-firmware.c
+src/gpk-hardware.c
src/gpk-inhibit.c
src/gpk-install-catalog.c
src/gpk-install-local-file.c
Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am (original)
+++ trunk/src/Makefile.am Mon Sep 22 13:34:34 2008
@@ -152,6 +152,8 @@
gpk-watch.h \
gpk-firmware.c \
gpk-firmware.h \
+ gpk-hardware.c \
+ gpk-hardware.h \
gpk-inhibit.c \
gpk-inhibit.h \
gpk-dbus.c \
Modified: trunk/src/gpk-application-main.c
==============================================================================
--- trunk/src/gpk-application-main.c (original)
+++ trunk/src/gpk-application-main.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-application.c
==============================================================================
--- trunk/src/gpk-application.c (original)
+++ trunk/src/gpk-application.c Mon Sep 22 13:34:34 2008
@@ -1144,6 +1144,7 @@
const gchar *title = _("No results were found.");
GtkTreeIter iter;
gchar *text;
+ PkBitfield state = 0;
if (application->priv->search_mode == PK_MODE_GROUP ||
application->priv->search_mode == PK_MODE_ALL_PACKAGES) {
@@ -1160,7 +1161,7 @@
text = g_strdup_printf ("%s\n%s", title, message);
gtk_list_store_append (application->priv->packages_store, &iter);
gtk_list_store_set (application->priv->packages_store, &iter,
- PACKAGES_COLUMN_STATE, FALSE,
+ PACKAGES_COLUMN_STATE, state,
PACKAGES_COLUMN_CHECKBOX, FALSE,
PACKAGES_COLUMN_CHECKBOX_ENABLE, FALSE,
PACKAGES_COLUMN_TEXT, text,
@@ -1584,7 +1585,7 @@
package_ids = pk_package_list_to_strv (application->priv->package_list);
if (application->priv->action == PK_ACTION_INSTALL) {
- gpk_client_show_finished (application->priv->gclient, FALSE);
+ gpk_client_set_interaction (application->priv->gclient, GPK_CLIENT_INTERACT_WARNING_CONFIRM_PROGRESS);
ret = gpk_client_install_package_ids (application->priv->gclient, package_ids, NULL);
/* can we show the user the new application? */
if (ret) {
@@ -1599,8 +1600,10 @@
g_free (exec);
}
}
- if (application->priv->action == PK_ACTION_REMOVE)
+ if (application->priv->action == PK_ACTION_REMOVE) {
+ gpk_client_set_interaction (application->priv->gclient, GPK_CLIENT_INTERACT_WARNING_CONFIRM_PROGRESS);
ret = gpk_client_remove_package_ids (application->priv->gclient, package_ids, NULL);
+ }
g_strfreev (package_ids);
/* refresh the search as the items may have changed and the filter has not changed */
@@ -2686,7 +2689,6 @@
application->priv->control = pk_control_new ();
application->priv->gclient = gpk_client_new ();
- gpk_client_show_finished (application->priv->gclient, FALSE);
application->priv->client_search = pk_client_new ();
g_signal_connect (application->priv->client_search, "package",
@@ -2787,6 +2789,7 @@
widget = glade_xml_get_widget (application->priv->glade_xml, "button_apply");
g_signal_connect (widget, "clicked",
G_CALLBACK (gpk_application_button_apply_cb), application);
+ gtk_widget_set_tooltip_text (widget, _("Changes are not applied instantly, this button applies all changes"));
widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_about");
g_signal_connect (widget, "activate",
Modified: trunk/src/gpk-application.h
==============================================================================
--- trunk/src/gpk-application.h (original)
+++ trunk/src/gpk-application.h Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-auto-refresh.c
==============================================================================
--- trunk/src/gpk-auto-refresh.c (original)
+++ trunk/src/gpk-auto-refresh.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -363,7 +363,6 @@
/* we do this to get an icon at startup */
if (!arefresh->priv->sent_get_updates) {
gpk_auto_refresh_signal_get_updates (arefresh);
- gpk_auto_refresh_maybe_get_upgrades (arefresh);
arefresh->priv->sent_get_updates = TRUE;
return TRUE;
}
Modified: trunk/src/gpk-auto-refresh.h
==============================================================================
--- trunk/src/gpk-auto-refresh.h (original)
+++ trunk/src/gpk-auto-refresh.h Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-backend-status.c
==============================================================================
--- trunk/src/gpk-backend-status.c (original)
+++ trunk/src/gpk-backend-status.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-check-update.c
==============================================================================
--- trunk/src/gpk-check-update.c (original)
+++ trunk/src/gpk-check-update.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -200,8 +200,8 @@
"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n"
"02110-1301, USA.")
};
- const char *translators = _("translator-credits");
- char *license_trans;
+ const char *translators = _("translator-credits");
+ char *license_trans;
/* Translators comment: put your own name here to appear in the about dialog. */
if (!strcmp (translators, "translator-credits"))
@@ -216,7 +216,7 @@
gtk_window_set_default_icon_name (GPK_ICON_SOFTWARE_UPDATE);
gtk_show_about_dialog (NULL,
"version", VERSION,
- "copyright", "Copyright \xc2\xa9 2007 Richard Hughes",
+ "copyright", "Copyright \xc2\xa9 2007-2008 Richard Hughes",
"license", license_trans,
"website-label", _("PackageKit Website"),
"website", "www.packagekit.org",
@@ -323,7 +323,7 @@
{
GpkCheckUpdate *cupdate = GPK_CHECK_UPDATE (data);
g_return_if_fail (GPK_IS_CHECK_UPDATE (cupdate));
- gpk_client_set_interaction (cupdate->priv->gclient_update_system, GPK_CLIENT_INTERACT_ALWAYS);
+ gpk_client_set_interaction (cupdate->priv->gclient_update_system, GPK_CLIENT_INTERACT_WARNING_CONFIRM_PROGRESS);
gpk_check_update_update_system (cupdate);
}
@@ -398,12 +398,13 @@
GpkCheckUpdate *cupdate = GPK_CHECK_UPDATE (data);
if (egg_strequal (action, "update-all-packages")) {
+ gpk_client_set_interaction (cupdate->priv->gclient_update_system, GPK_CLIENT_INTERACT_WARNING);
gpk_check_update_update_system (cupdate);
} else if (egg_strequal (action, "update-just-security")) {
/* just update the important updates */
package_ids = pk_package_ids_from_array (cupdate->priv->important_updates_array);
- gpk_client_set_interaction (cupdate->priv->gclient_update_system, GPK_CLIENT_INTERACT_NEVER);
+ gpk_client_set_interaction (cupdate->priv->gclient_update_system, GPK_CLIENT_INTERACT_WARNING);
ret = gpk_client_update_packages (cupdate->priv->gclient_update_system, package_ids, &error);
if (!ret) {
egg_warning ("Individual updates failed: %s", error->message);
@@ -767,7 +768,7 @@
/* convert */
package_ids = pk_package_ids_from_array (security_array);
- gpk_client_set_interaction (cupdate->priv->gclient_update_system, GPK_CLIENT_INTERACT_NEVER);
+ gpk_client_set_interaction (cupdate->priv->gclient_update_system, GPK_CLIENT_INTERACT_WARNING);
ret = gpk_client_update_packages (cupdate->priv->gclient_update_system, package_ids, &error);
if (!ret) {
egg_warning ("Individual updates failed: %s", error->message);
@@ -780,7 +781,7 @@
/* just do everything */
if (update == GPK_UPDATE_ENUM_ALL) {
egg_debug ("we should do the update automatically!");
- gpk_client_set_interaction (cupdate->priv->gclient_update_system, GPK_CLIENT_INTERACT_NEVER);
+ gpk_client_set_interaction (cupdate->priv->gclient_update_system, GPK_CLIENT_INTERACT_WARNING);
g_idle_add ((GSourceFunc) gpk_check_update_update_system, cupdate);
goto out;
}
Modified: trunk/src/gpk-client-run.c
==============================================================================
--- trunk/src/gpk-client-run.c (original)
+++ trunk/src/gpk-client-run.c Mon Sep 22 13:34:34 2008
@@ -111,9 +111,8 @@
gchar *string1, gchar *string2,
gint int1, gint int2, gpointer user_data)
{
- if (egg_strequal (name, "button_action")) {
+ if (egg_strequal (name, "button_action"))
return gtk_button_new_with_mnemonic (_("_Run"));
- }
egg_warning ("name unknown=%s", name);
return NULL;
}
@@ -166,14 +165,11 @@
if (ret) {
exec = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, "TryExec", NULL);
/* try harder */
- if (exec == NULL) {
+ if (exec == NULL)
exec = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, "Exec", NULL);
- }
- /* try harder */
- if (exec == NULL) {
- /* abandon attempt */
+ /* abandon attempt */
+ if (exec == NULL)
goto out;
- }
/* have we the same executable name?
* this helps when there's "f-spot", "fspot --import %f", and "f-spot --view" in 3
@@ -208,9 +204,8 @@
g_free (icon);
icon = NULL;
}
- if (icon == NULL) {
+ if (icon == NULL)
icon = g_strdup (gpk_info_enum_to_icon_name (PK_INFO_ENUM_AVAILABLE));
- }
gtk_list_store_set (list_store, &iter,
GPK_CHOOSER_COLUMN_TEXT, text,
GPK_CHOOSER_COLUMN_FULL_PATH, exec, -1);
@@ -244,8 +239,7 @@
length = g_strv_length (package_ids);
gclient = gpk_client_new ();
/* only show if we need to download a cache */
- gpk_client_set_interaction (gclient, GPK_CLIENT_INTERACT_SOMETIMES);
- gpk_client_show_finished (gclient, FALSE);
+ gpk_client_set_interaction (gclient, GPK_CLIENT_INTERACT_NEVER);
for (i=0; i<length; i++) {
package_id = package_ids[i];
@@ -329,6 +323,7 @@
/* add all the apps */
len = gpk_client_add_package_ids (package_ids);
if (len == 0) {
+ egg_debug ("no executable file for %s", package_ids[0]);
goto out;
}
@@ -344,9 +339,8 @@
/* hide window */
widget = glade_xml_get_widget (glade_xml, "window_simple");
- if (GTK_IS_WIDGET (widget)) {
+ if (GTK_IS_WIDGET (widget))
gtk_widget_hide (widget);
- }
g_object_unref (glade_xml);
@@ -364,9 +358,8 @@
{
EggTest *test = (EggTest *) data;
- if (egg_test_start (test, "GpkClientRun") == FALSE) {
+ if (!egg_test_start (test, "GpkClientRun"))
return;
- }
egg_test_end (test);
}
#endif
Modified: trunk/src/gpk-client.c
==============================================================================
--- trunk/src/gpk-client.c (original)
+++ trunk/src/gpk-client.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -89,9 +89,10 @@
PkBitfield roles;
gboolean using_secondary_client;
gboolean retry_untrusted_value;
- gboolean show_finished;
+ gboolean show_confirm;
gboolean show_progress;
- GpkClientInteract interact;
+ gboolean show_finished;
+ gboolean show_warning;
gchar **files_array;
PkExitEnum exit;
GdkWindow *parent_window;
@@ -166,31 +167,16 @@
}
/**
- * gpk_client_show_finished:
- *
- * You probably don't need to use this function, use gpk_client_set_interaction() instead
- **/
-void
-gpk_client_show_finished (GpkClient *gclient, gboolean enabled)
-{
- g_return_if_fail (GPK_IS_CLIENT (gclient));
- gclient->priv->show_finished = enabled;
-}
-
-/**
* gpk_client_set_interaction:
**/
void
-gpk_client_set_interaction (GpkClient *gclient, GpkClientInteract interact)
+gpk_client_set_interaction (GpkClient *gclient, PkBitfield interact)
{
g_return_if_fail (GPK_IS_CLIENT (gclient));
- gclient->priv->interact = interact;
- /* only start showing if we always show */
- gclient->priv->show_progress = (interact == GPK_CLIENT_INTERACT_ALWAYS);
-
- /* normally, if we don't want to show progress then we don't want finished */
- if (gclient->priv->show_progress)
- gclient->priv->show_finished = FALSE;
+ gclient->priv->show_confirm = pk_bitfield_contain (interact, GPK_CLIENT_INTERACT_CONFIRM);
+ gclient->priv->show_progress = pk_bitfield_contain (interact, GPK_CLIENT_INTERACT_PROGRESS);
+ gclient->priv->show_finished = pk_bitfield_contain (interact, GPK_CLIENT_INTERACT_FINISHED);
+ gclient->priv->show_warning = pk_bitfield_contain (interact, GPK_CLIENT_INTERACT_WARNING);
}
/**
@@ -295,9 +281,8 @@
}
/* trim off extra newlines */
- if (message_text->len != 0) {
+ if (message_text->len != 0)
g_string_set_size (message_text, message_text->len-1);
- }
/* do we do the notification? */
ret = gconf_client_get_bool (gclient->priv->gconf_client, GPK_CONF_NOTIFY_UPDATE_COMPLETE, NULL);
@@ -334,6 +319,7 @@
gpk_client_finished_cb (PkClient *client, PkExitEnum exit, guint runtime, GpkClient *gclient)
{
PkRoleEnum role = PK_ROLE_ENUM_UNKNOWN;
+ PkPackageList *list;
g_return_if_fail (GPK_IS_CLIENT (gclient));
@@ -356,10 +342,12 @@
goto out;
}
- if (exit == PK_EXIT_ENUM_SUCCESS &&
- gclient->priv->show_finished) {
- gpk_client_dialog_set_message (gclient->priv->dialog, "");
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_FINISHED, 0, 0);
+ if (exit == PK_EXIT_ENUM_SUCCESS && gclient->priv->show_finished) {
+ list = pk_client_get_package_list (client);
+ gpk_client_dialog_set_message (gclient->priv->dialog, _("The following packages were installed:"));
+ gpk_client_dialog_set_package_list (gclient->priv->dialog, list);
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_FINISHED, GPK_CLIENT_DIALOG_PACKAGE_LIST, 0);
+ g_object_unref (list);
gclient->priv->finished_timer_id = g_timeout_add_seconds (GPK_CLIENT_FINISHED_AUTOCLOSE_DELAY,
gpk_install_finished_timeout, gclient);
} else {
@@ -384,7 +372,7 @@
g_return_val_if_fail (GPK_IS_CLIENT (gclient), FALSE);
/* do we force progress? */
- if (gclient->priv->interact == GPK_CLIENT_INTERACT_SOMETIMES) {
+ if (!gclient->priv->show_progress) {
if (status == PK_STATUS_ENUM_DOWNLOAD_REPOSITORY ||
status == PK_STATUS_ENUM_DOWNLOAD_PACKAGELIST ||
status == PK_STATUS_ENUM_DOWNLOAD_FILELIST ||
@@ -392,7 +380,6 @@
status == PK_STATUS_ENUM_DOWNLOAD_GROUP ||
status == PK_STATUS_ENUM_DOWNLOAD_UPDATEINFO ||
status == PK_STATUS_ENUM_REFRESH_CACHE) {
- gclient->priv->show_progress = TRUE;
gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_PROGRESS, 0, 0);
}
}
@@ -609,6 +596,9 @@
const gchar *message = _("Unknown error. Please refer to the detailed report and report in bugzilla.");
const gchar *details = NULL;
+ if (!gclient->priv->show_warning)
+ return;
+
/* print a proper error if we have it */
if (error != NULL) {
if (error->code == PK_CLIENT_ERROR_FAILED_AUTH ||
@@ -821,7 +811,6 @@
((statbuf.st_mode & S_IXUSR) && euid == statbuf.st_uid) ||
((statbuf.st_mode & S_IXGRP) && egid == statbuf.st_gid)))
return FALSE;
-
return TRUE;
}
return FALSE;
@@ -858,7 +847,8 @@
g_ptr_array_add (array_missing, g_strdup (data));
}
- if (array_missing->len > 0) {
+ /* optional */
+ if (gclient->priv->show_confirm && array_missing->len > 0) {
title = ngettext (_("Do you want to copy this file?"),
_("Do you want to copy these files?"), array_missing->len);
message_part = ngettext (_("One package file has to be copied to a non-private location so it can be installed:"),
@@ -871,12 +861,11 @@
gpk_client_dialog_set_message (gclient->priv->dialog, message);
gpk_client_dialog_set_image (gclient->priv->dialog, "dialog-warning");
gpk_client_dialog_set_action (gclient->priv->dialog, _("Copy file"));
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, 0, gclient->priv->timestamp);
-
g_free (message);
- /* did we click no or exit the window? */
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, 0, gclient->priv->timestamp);
button = gpk_client_dialog_run (gclient->priv->dialog);
+ /* did we click no or exit the window? */
if (button != GTK_RESPONSE_OK) {
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "Aborted the copy");
ret = FALSE;
@@ -1128,9 +1117,11 @@
array = pk_strv_to_ptr_array (files_rel);
/* check the user wanted to call this method */
- ret = gpk_client_install_local_files_verify (gclient, array, error);
- if (!ret)
- goto out;
+ if (gclient->priv->show_confirm) {
+ ret = gpk_client_install_local_files_verify (gclient, array, error);
+ if (!ret)
+ goto out;
+ }
/* check all files exist and are readable by the local user */
ret = gpk_client_install_local_files_check_exists (gclient, array, error);
@@ -1151,7 +1142,8 @@
/* set title */
gpk_client_dialog_set_window_title (gclient->priv->dialog, _("Installing files"));
gpk_client_dialog_set_title (gclient->priv->dialog, _("Install local file"));
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_FINISHED, 0, 0);
+ if (gclient->priv->show_progress)
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_PROGRESS, 0, 0);
/* wait */
g_main_loop_run (gclient->priv->loop);
@@ -1212,6 +1204,12 @@
goto skip_checks;
}
+ /* optional */
+ if (!gclient->priv->show_confirm) {
+ egg_debug ("skip confirm as not allowed to interact with user");
+ goto skip_checks;
+ }
+
/* get the packages we depend on */
gpk_client_dialog_set_title (gclient->priv->dialog, _("Finding packages we require"));
@@ -1221,7 +1219,6 @@
gpk_client_error_msg (gclient, _("Failed to reset resolve client"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
g_error_free (error_local);
- ret = FALSE;
goto out;
}
@@ -1231,7 +1228,6 @@
gpk_client_error_msg (gclient, _("Could not work out what packages would also be removed"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
g_error_free (error_local);
- ret = FALSE;
goto out;
}
@@ -1265,9 +1261,9 @@
gpk_client_dialog_set_message (gclient->priv->dialog, message);
gpk_client_dialog_set_action (gclient->priv->dialog, _("Remove"));
gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, GPK_CLIENT_DIALOG_PACKAGE_LIST, gclient->priv->timestamp);
- button = gpk_client_dialog_run (gclient->priv->dialog);
g_free (title);
g_free (message);
+ button = gpk_client_dialog_run (gclient->priv->dialog);
/* did we click no or exit the window? */
if (button != GTK_RESPONSE_OK) {
@@ -1283,7 +1279,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
- ret = FALSE;
+ g_error_free (error_local);
goto out;
}
@@ -1297,8 +1293,10 @@
}
/* setup the UI */
- if (gclient->priv->show_progress)
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_PROGRESS, 0, 0);
+ if (gclient->priv->show_progress) {
+ gpk_client_dialog_set_message (gclient->priv->dialog, "");
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_PROGRESS, GPK_CLIENT_DIALOG_PACKAGE_PADDING, 0);
+ }
/* wait for an answer */
g_main_loop_run (gclient->priv->loop);
@@ -1354,6 +1352,12 @@
goto skip_checks;
}
+ /* optional */
+ if (!gclient->priv->show_confirm) {
+ egg_debug ("skip confirm as not allowed to interact with user");
+ goto skip_checks;
+ }
+
/* get the packages we depend on */
gpk_client_dialog_set_title (gclient->priv->dialog, _("Finding packages we depend on"));
@@ -1415,13 +1419,15 @@
gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
g_error_free (error_local);
- return FALSE;
+ goto out;
}
/* try to install the package_id */
gpk_client_dialog_set_window_title (gclient->priv->dialog, _("Installing packages"));
- if (gclient->priv->show_progress)
+ if (gclient->priv->show_progress) {
+ gpk_client_dialog_set_message (gclient->priv->dialog, "");
gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_PROGRESS, GPK_CLIENT_DIALOG_PACKAGE_PADDING, 0);
+ }
ret = pk_client_install_packages (gclient->priv->client_action, package_ids, &error_local);
if (!ret) {
@@ -1471,6 +1477,12 @@
g_return_val_if_fail (GPK_IS_CLIENT (gclient), FALSE);
g_return_val_if_fail (packages != NULL, FALSE);
+ /* optional */
+ if (!gclient->priv->show_confirm) {
+ egg_debug ("skip confirm as not allowed to interact with user");
+ goto skip_checks;
+ }
+
string = g_string_new ("");
len = g_strv_length (packages);
for (i=0; i<len; i++)
@@ -1493,6 +1505,7 @@
goto out;
}
+skip_checks:
/* set title */
gpk_client_dialog_set_title (gclient->priv->dialog, _("Searching for packages"));
gpk_client_dialog_set_image_status (gclient->priv->dialog, PK_STATUS_ENUM_WAIT);
@@ -1504,6 +1517,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Failed to reset resolve client"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -1512,6 +1526,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Incorrect response from search"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -1519,15 +1534,18 @@
list = pk_client_get_package_list (gclient->priv->client_resolve);
len = pk_package_list_get_size (list);
if (len == 0) {
- text = pk_package_ids_to_text (packages, ",");
- title = g_strdup_printf (_("Could not find %s"), text);
- gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find package"));
- gpk_client_dialog_set_message (gclient->priv->dialog, _("The packages could not be found in any software source"));
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
- gpk_client_dialog_run (gclient->priv->dialog);
+ if (gclient->priv->show_warning) {
+ text = pk_package_ids_to_text (packages, ",");
+ title = g_strdup_printf (_("Could not find %s"), text);
+ gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find package"));
+ gpk_client_dialog_set_message (gclient->priv->dialog, _("The packages could not be found in any software source"));
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
+ gpk_client_dialog_run (gclient->priv->dialog);
+ g_free (text);
+ g_free (title);
+ }
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "no package found");
- g_free (text);
- g_free (title);
+ ret = FALSE;
goto out;
}
@@ -1545,25 +1563,31 @@
/* already installed? */
if (already_installed) {
- text = pk_package_ids_to_text (packages, ",");
- title = g_strdup_printf (_("Failed to install %s"), text);
- gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install package"));
- gpk_client_dialog_set_message (gclient->priv->dialog, _("The package is already installed"));
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
- gpk_client_dialog_run (gclient->priv->dialog);
+ if (gclient->priv->show_warning) {
+ text = pk_package_ids_to_text (packages, ",");
+ title = g_strdup_printf (_("Failed to install %s"), text);
+ gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install package"));
+ gpk_client_dialog_set_message (gclient->priv->dialog, _("The package is already installed"));
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
+ gpk_client_dialog_run (gclient->priv->dialog);
+ g_free (text);
+ g_free (title);
+ }
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "package already found");
- g_free (text);
- g_free (title);
+ ret = FALSE;
goto out;
}
/* got junk? */
if (id == NULL) {
- gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install package"));
- gpk_client_dialog_set_message (gclient->priv->dialog, _("Incorrect response from search"));
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
- gpk_client_dialog_run (gclient->priv->dialog);
+ if (gclient->priv->show_warning) {
+ gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install package"));
+ gpk_client_dialog_set_message (gclient->priv->dialog, _("Incorrect response from search"));
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
+ gpk_client_dialog_run (gclient->priv->dialog);
+ }
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "package already found");
+ ret = FALSE;
goto out;
}
@@ -1576,12 +1600,11 @@
if (!ret) {
/* copy error message */
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
out:
- if (error_local != NULL)
- g_error_free (error_local);
g_strfreev (package_ids);
return ret;
}
@@ -1615,6 +1638,12 @@
g_return_val_if_fail (GPK_IS_CLIENT (gclient), FALSE);
g_return_val_if_fail (full_path != NULL, FALSE);
+ /* optional */
+ if (!gclient->priv->show_confirm) {
+ egg_debug ("skip confirm as not allowed to interact with user");
+ goto skip_checks;
+ }
+
/* check user wanted operation */
message = g_strdup_printf ("%s\n\nâ %s\n\n%s", _("The following file is required:"),
full_path, _("Do you want to search for this now?"));
@@ -1628,11 +1657,26 @@
goto out;
}
+skip_checks:
+ /* set title */
+ gpk_client_dialog_set_title (gclient->priv->dialog, _("Searching for file"));
+ gpk_client_dialog_set_image_status (gclient->priv->dialog, PK_STATUS_ENUM_WAIT);
+
+ /* reset */
+ ret = pk_client_reset (gclient->priv->client_resolve, &error_local);
+ if (!ret) {
+ gpk_client_error_msg (gclient, _("Failed to reset resolve client"), error_local);
+ gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
+ goto out;
+ }
+
+ /* do search */
ret = pk_client_search_file (gclient->priv->client_resolve, PK_FILTER_ENUM_NONE, full_path, &error_local);
if (!ret) {
gpk_client_error_msg (gclient, _("Failed to search for file"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
- ret = FALSE;
+ g_error_free (error_local);
goto out;
}
@@ -1640,10 +1684,12 @@
list = pk_client_get_package_list (gclient->priv->client_resolve);
len = pk_package_list_get_size (list);
if (len == 0) {
- gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find package"));
- gpk_client_dialog_set_message (gclient->priv->dialog, _("The file could not be found in any packages"));
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
- gpk_client_dialog_run (gclient->priv->dialog);
+ if (gclient->priv->show_warning) {
+ gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find package"));
+ gpk_client_dialog_set_message (gclient->priv->dialog, _("The file could not be found in any packages"));
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
+ gpk_client_dialog_run (gclient->priv->dialog);
+ }
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "no files found");
ret = FALSE;
goto out;
@@ -1663,13 +1709,15 @@
/* already installed? */
if (already_installed) {
- text = g_strdup_printf (_("The %s package already provides the file %s"), id->name, full_path);
- gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install file"));
- gpk_client_dialog_set_message (gclient->priv->dialog, text);
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
- gpk_client_dialog_run (gclient->priv->dialog);
+ if (gclient->priv->show_warning) {
+ text = g_strdup_printf (_("The %s package already provides the file %s"), id->name, full_path);
+ gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install file"));
+ gpk_client_dialog_set_message (gclient->priv->dialog, text);
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
+ gpk_client_dialog_run (gclient->priv->dialog);
+ g_free (text);
+ }
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "already provided");
- g_free (text);
ret = FALSE;
goto out;
}
@@ -1812,6 +1860,12 @@
goto out;
}
+ /* optional */
+ if (!gclient->priv->show_confirm) {
+ egg_debug ("skip confirm as not allowed to interact with user");
+ goto skip_checks;
+ }
+
/* confirm */
ret = gpk_client_install_gstreamer_codecs_confirm (gclient, codec_name_strings);
if (!ret) {
@@ -1820,6 +1874,7 @@
goto out;
}
+skip_checks:
/* set title */
gpk_client_dialog_set_title (gclient->priv->dialog, _("Searching for codecs"));
gpk_client_dialog_set_image_status (gclient->priv->dialog, PK_STATUS_ENUM_WAIT);
@@ -1842,11 +1897,14 @@
egg_debug ("codec description=%s", parts[1]);
obj_new = gpk_client_install_gstreamer_codec_part (gclient, parts[0], parts[1], &error_local);
if (obj_new == NULL) {
- gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to search for codec"));
- gpk_client_dialog_set_message (gclient->priv->dialog, _("Could not find codec in any configured software source"));
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
- gpk_client_dialog_run (gclient->priv->dialog);
+ if (gclient->priv->show_warning) {
+ gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to search for codec"));
+ gpk_client_dialog_set_message (gclient->priv->dialog, _("Could not find codec in any configured software source"));
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
+ gpk_client_dialog_run (gclient->priv->dialog);
+ }
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
ret = FALSE;
}
if (obj_new != NULL)
@@ -1863,6 +1921,12 @@
if (!ret)
goto out;
+ /* optional */
+ if (!gclient->priv->show_confirm) {
+ egg_debug ("skip confirm as not allowed to interact with user");
+ goto skip_checks2;
+ }
+
gpk_client_dialog_set_package_list (gclient->priv->dialog, list);
gpk_client_dialog_set_title (gclient->priv->dialog, _("Install the following codecs"));
gpk_client_dialog_set_message (gclient->priv->dialog, _("Do you want to install these packages now?"));
@@ -1879,6 +1943,7 @@
goto out;
}
+skip_checks2:
/* convert to list of package id's */
package_ids = pk_package_list_to_strv (list);
ret = gpk_client_install_package_ids (gclient, package_ids, error);
@@ -1925,6 +1990,12 @@
goto out;
}
+ /* optional */
+ if (!gclient->priv->show_confirm) {
+ egg_debug ("skip confirm as not allowed to interact with user");
+ goto skip_checks;
+ }
+
/* make sure the user wants to do action */
message = g_strdup_printf ("%s\n\nâ %s\n\n%s",
_("An additional program is required to open this type of file:"),
@@ -1939,6 +2010,7 @@
goto out;
}
+skip_checks:
/* set title */
gpk_client_dialog_set_title (gclient->priv->dialog, _("Searching for file handlers"));
gpk_client_dialog_set_image_status (gclient->priv->dialog, PK_STATUS_ENUM_WAIT);
@@ -1952,6 +2024,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Failed to reset resolve client"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -1961,7 +2034,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Failed to search for provides"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
- ret = FALSE;
+ g_error_free (error_local);
goto out;
}
@@ -1969,10 +2042,12 @@
list = pk_client_get_package_list (gclient->priv->client_resolve);
len = pk_package_list_get_size (list);
if (len == 0) {
- gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find software"));
- gpk_client_dialog_set_message (gclient->priv->dialog, _("No new applications can be found to handle this type of file"));
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
- gpk_client_dialog_run (gclient->priv->dialog);
+ if (gclient->priv->show_warning) {
+ gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find software"));
+ gpk_client_dialog_set_message (gclient->priv->dialog, _("No new applications can be found to handle this type of file"));
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
+ gpk_client_dialog_run (gclient->priv->dialog);
+ }
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "nothing was found to handle mime type");
ret = FALSE;
goto out;
@@ -1984,10 +2059,12 @@
/* selected nothing */
if (package_id == NULL) {
- gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install software"));
- gpk_client_dialog_set_message (gclient->priv->dialog, _("No applications were chosen to be installed"));
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
- gpk_client_dialog_run (gclient->priv->dialog);
+ if (gclient->priv->show_warning) {
+ gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install software"));
+ gpk_client_dialog_set_message (gclient->priv->dialog, _("No applications were chosen to be installed"));
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
+ gpk_client_dialog_run (gclient->priv->dialog);
+ }
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "user chose nothing");
ret = FALSE;
goto out;
@@ -2036,6 +2113,12 @@
goto out;
}
+ /* optional */
+ if (!gclient->priv->show_confirm) {
+ egg_debug ("skip confirm as not allowed to interact with user");
+ goto skip_checks;
+ }
+
/* check user wanted operation */
message = g_strdup_printf ("%s\n\n%s", _("An additional font is required to view this file correctly"),
_("Do you want to search for a suitable font now?"));
@@ -2049,6 +2132,7 @@
goto out;
}
+skip_checks:
/* set title */
gpk_client_dialog_set_title (gclient->priv->dialog, _("Searching for fonts"));
gpk_client_dialog_set_image_status (gclient->priv->dialog, PK_STATUS_ENUM_WAIT);
@@ -2062,6 +2146,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Failed to reset resolve client"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -2071,7 +2156,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Failed to search for provides"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
- ret = FALSE;
+ g_error_free (error_local);
goto out;
}
@@ -2079,15 +2164,23 @@
list = pk_client_get_package_list (gclient->priv->client_resolve);
len = pk_package_list_get_size (list);
if (len == 0) {
- gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find font"));
- gpk_client_dialog_set_message (gclient->priv->dialog, _("No new fonts can be found for this document"));
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
- gpk_client_dialog_run (gclient->priv->dialog);
- gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, NULL);
+ if (gclient->priv->show_warning) {
+ gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find font"));
+ gpk_client_dialog_set_message (gclient->priv->dialog, _("No new fonts can be found for this document"));
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
+ gpk_client_dialog_run (gclient->priv->dialog);
+ }
+ gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "failed to find font");
ret = FALSE;
goto out;
}
+ /* optional */
+ if (!gclient->priv->show_confirm) {
+ egg_debug ("skip confirm as not allowed to interact with user");
+ goto skip_checks2;
+ }
+
gpk_client_dialog_set_package_list (gclient->priv->dialog, list);
gpk_client_dialog_set_title (gclient->priv->dialog, _("Install the following fonts"));
gpk_client_dialog_set_message (gclient->priv->dialog, _("Do you want to install these packages now?"));
@@ -2104,6 +2197,7 @@
goto out;
}
+skip_checks2:
/* convert to list of package id's */
package_ids = pk_package_list_to_strv (list);
ret = gpk_client_install_package_ids (gclient, package_ids, error);
@@ -2160,6 +2254,12 @@
len = g_strv_length (filenames);
+ /* optional */
+ if (!gclient->priv->show_confirm) {
+ egg_debug ("skip confirm as not allowed to interact with user");
+ goto skip_checks;
+ }
+
title = ngettext (_("Do you want to install this catalog?"),
_("Do you want to install these catalogs?"), len);
message = g_strjoinv ("\n", filenames);
@@ -2176,6 +2276,7 @@
if (button != GTK_RESPONSE_OK)
return FALSE;
+skip_checks:
/* set title */
gpk_client_dialog_set_title (gclient->priv->dialog, _("Install catalogs"));
gpk_client_set_status (gclient, PK_STATUS_ENUM_WAIT);
@@ -2194,15 +2295,23 @@
len = pk_package_list_get_size (list);
if (len == 0) {
/* show UI */
- gpk_client_dialog_set_title (gclient->priv->dialog, _("No packages need to be installed"));
- gpk_client_dialog_set_message (gclient->priv->dialog, "");
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, gclient->priv->timestamp);
- gpk_client_dialog_run (gclient->priv->dialog);
+ if (gclient->priv->show_warning) {
+ gpk_client_dialog_set_title (gclient->priv->dialog, _("No packages need to be installed"));
+ gpk_client_dialog_set_message (gclient->priv->dialog, "");
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, gclient->priv->timestamp);
+ gpk_client_dialog_run (gclient->priv->dialog);
+ }
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "No packages need to be installed");
ret = FALSE;
goto out;
}
+ /* optional */
+ if (!gclient->priv->show_confirm) {
+ egg_debug ("skip confirm as not allowed to interact with user");
+ goto skip_checks2;
+ }
+
/* process package list */
string = g_string_new (_("The following packages are marked to be installed from the catalog:"));
g_string_append (string, "\n\n");
@@ -2223,7 +2332,7 @@
gpk_client_dialog_set_message (gclient->priv->dialog, text);
gpk_client_dialog_set_image (gclient->priv->dialog, "dialog-question");
gpk_client_dialog_set_action (gclient->priv->dialog, _("Install"));
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, gclient->priv->timestamp);
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, 0, gclient->priv->timestamp);
button = gpk_client_dialog_run (gclient->priv->dialog);
g_free (text);
@@ -2235,6 +2344,7 @@
goto out;
}
+skip_checks2:
/* convert to list of package id's */
package_ids = pk_package_list_to_strv (list);
ret = gpk_client_install_package_ids (gclient, package_ids, error);
@@ -2265,6 +2375,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -2275,9 +2386,9 @@
ret = pk_client_update_system (gclient->priv->client_action, &error_local);
if (!ret) {
/* display and set */
- text = g_strdup_printf ("%s: %s", _("Failed to update system"), message);
gpk_client_error_msg (gclient, _("Failed to update system"), error_local);
- gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, message);
+ gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -2312,8 +2423,6 @@
ret = gpk_client_set_error_from_exit_enum (gclient->priv->exit, error);
out:
- if (error_local != NULL)
- g_error_free (error_local);
g_free (message);
g_free (text);
return ret;
@@ -2337,6 +2446,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -2348,7 +2458,8 @@
if (!ret) {
/* display and set */
gpk_client_error_msg (gclient, _("Failed to update package lists"), error_local);
- gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, message);
+ gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -2363,8 +2474,6 @@
ret = gpk_client_set_error_from_exit_enum (gclient->priv->exit, error);
out:
- if (error_local != NULL)
- g_error_free (error_local);
g_free (message);
g_free (text);
return ret;
@@ -2388,7 +2497,7 @@
gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
g_error_free (error_local);
- return FALSE;
+ goto out;
}
/* wrap update, but handle all the GPG and EULA stuff */
@@ -2396,6 +2505,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Failed to get updates"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -2430,7 +2540,7 @@
/* are we not able to do this? */
if (!pk_bitfield_contain (gclient->priv->roles, PK_ROLE_ENUM_GET_DISTRO_UPGRADES)) {
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "Backend does not support GetDistroUpgrades");
- return FALSE;
+ return NULL;
}
/* reset */
@@ -2439,7 +2549,7 @@
gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
g_error_free (error_local);
- return FALSE;
+ return NULL;
}
/* clear old data */
@@ -2453,6 +2563,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Getting update lists failed"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -2495,6 +2606,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Getting file list failed"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -2510,9 +2622,6 @@
ret = gpk_client_set_error_from_exit_enum (gclient->priv->exit, error);
out:
- if (error_local != NULL)
- g_error_free (error_local);
-
/* return the file list */
return g_strdupv (gclient->priv->files_array);
}
@@ -2525,7 +2634,6 @@
{
gboolean ret = TRUE;
GError *error_local = NULL;
- gchar *message = NULL;
g_return_val_if_fail (GPK_IS_CLIENT (gclient), FALSE);
@@ -2534,6 +2642,7 @@
if (!ret) {
gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -2542,7 +2651,8 @@
if (!ret) {
/* display and set */
gpk_client_error_msg (gclient, _("Failed to update packages"), error_local);
- gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, message);
+ gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+ g_error_free (error_local);
goto out;
}
@@ -2558,9 +2668,6 @@
ret = gpk_client_set_error_from_exit_enum (gclient->priv->exit, error);
out:
- if (error_local != NULL)
- g_error_free (error_local);
- g_free (message);
return ret;
}
@@ -2659,7 +2766,7 @@
g_return_val_if_fail (GPK_IS_CLIENT (gclient), FALSE);
/* go back to the UI */
- gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_PROGRESS, 0, 0);
+ gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_PROGRESS, GPK_CLIENT_DIALOG_PACKAGE_PADDING, 0);
gclient->priv->using_secondary_client = FALSE;
egg_debug ("trying to requeue install");
@@ -2900,9 +3007,10 @@
gclient->priv->application = NULL;
gclient->priv->using_secondary_client = FALSE;
gclient->priv->exit = PK_EXIT_ENUM_FAILED;
- gclient->priv->interact = GPK_CLIENT_INTERACT_NEVER;
- gclient->priv->show_finished = TRUE;
+ gclient->priv->show_confirm = TRUE;
gclient->priv->show_progress = TRUE;
+ gclient->priv->show_finished = TRUE;
+ gclient->priv->show_warning = TRUE;
gclient->priv->finished_timer_id = 0;
gclient->priv->timestamp = 0;
gclient->priv->loop = g_main_loop_new (NULL, FALSE);
Modified: trunk/src/gpk-client.h
==============================================================================
--- trunk/src/gpk-client.h (original)
+++ trunk/src/gpk-client.h Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -24,6 +24,7 @@
#include <glib-object.h>
#include <gtk/gtk.h>
+#include <pk-bitfield.h>
#include <pk-package-list.h>
G_BEGIN_DECLS
@@ -53,12 +54,19 @@
*/
typedef enum
{
- GPK_CLIENT_INTERACT_ALWAYS,
- GPK_CLIENT_INTERACT_SOMETIMES,
- GPK_CLIENT_INTERACT_NEVER,
+ GPK_CLIENT_INTERACT_CONFIRM,
+ GPK_CLIENT_INTERACT_PROGRESS,
+ GPK_CLIENT_INTERACT_FINISHED,
+ GPK_CLIENT_INTERACT_WARNING,
GPK_CLIENT_INTERACT_UNKNOWN
} GpkClientInteract;
+#define GPK_CLIENT_INTERACT_NEVER 0
+#define GPK_CLIENT_INTERACT_ALWAYS pk_bitfield_from_enums (GPK_CLIENT_INTERACT_WARNING, GPK_CLIENT_INTERACT_CONFIRM, GPK_CLIENT_INTERACT_PROGRESS, GPK_CLIENT_INTERACT_FINISHED, -1)
+#define GPK_CLIENT_INTERACT_WARNING_CONFIRM_PROGRESS pk_bitfield_from_enums (GPK_CLIENT_INTERACT_WARNING, GPK_CLIENT_INTERACT_CONFIRM, GPK_CLIENT_INTERACT_PROGRESS, -1)
+#define GPK_CLIENT_INTERACT_WARNING pk_bitfield_from_enums (GPK_CLIENT_INTERACT_WARNING, -1)
+#define GPK_CLIENT_INTERACT_WARNING_PROGRESS pk_bitfield_from_enums (GPK_CLIENT_INTERACT_WARNING, GPK_CLIENT_INTERACT_PROGRESS, -1)
+
typedef struct _GpkClientPrivate GpkClientPrivate;
typedef struct _GpkClient GpkClient;
typedef struct _GpkClientClass GpkClientClass;
@@ -112,10 +120,8 @@
gboolean gpk_client_update_packages (GpkClient *gclient,
gchar **package_ids,
GError **error);
-void gpk_client_show_finished (GpkClient *gclient,
- gboolean enabled);
void gpk_client_set_interaction (GpkClient *gclient,
- GpkClientInteract interact);
+ PkBitfield interact);
PkPackageList *gpk_client_get_updates (GpkClient *gclient,
GError **error);
const GPtrArray *gpk_client_get_distro_upgrades (GpkClient *gclient,
Modified: trunk/src/gpk-common.c
==============================================================================
--- trunk/src/gpk-common.c (original)
+++ trunk/src/gpk-common.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -245,6 +245,7 @@
status == PK_STATUS_ENUM_DOWNLOAD_CHANGELOG ||
status == PK_STATUS_ENUM_DOWNLOAD_GROUP ||
status == PK_STATUS_ENUM_DOWNLOAD_UPDATEINFO ||
+ status == PK_STATUS_ENUM_GENERATE_PACKAGE_LIST ||
status == PK_STATUS_ENUM_LOADING_CACHE ||
status == PK_STATUS_ENUM_REPACKAGING) {
name = "pk-action-refresh-cache";
@@ -256,7 +257,8 @@
status == PK_STATUS_ENUM_UPDATE) {
name = "pk-action-installing";
delay = 150;
- } else if (status == PK_STATUS_ENUM_QUERY) {
+ } else if (status == PK_STATUS_ENUM_QUERY ||
+ status == PK_STATUS_ENUM_SCAN_APPLICATIONS) {
name = "pk-action-searching";
delay = 150;
} else if (status == PK_STATUS_ENUM_WAIT) {
Modified: trunk/src/gpk-common.h
==============================================================================
--- trunk/src/gpk-common.h (original)
+++ trunk/src/gpk-common.h Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -49,6 +49,7 @@
#define GPK_CONF_UPDATE_BATTERY "/apps/gnome-packagekit/update_battery"
#define GPK_CONF_SHOW_DEPENDS "/apps/gnome-packagekit/show_depends"
#define GPK_CONF_PROMPT_FIRMWARE "/apps/gnome-packagekit/prompt_firmware"
+#define GPK_CONF_PROMPT_HARDWARE "/apps/gnome-packagekit/prompt_hardware"
#define GPK_CONF_REPO_SHOW_DETAILS "/apps/gnome-packagekit/repo/show_details"
#define GPK_CONF_APPLICATION_FILTER_BASENAME "/apps/gnome-packagekit/application/filter_basename"
Modified: trunk/src/gpk-enum.c
==============================================================================
--- trunk/src/gpk-enum.c (original)
+++ trunk/src/gpk-enum.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -32,7 +32,7 @@
#include "gpk-common.h"
/* icon names */
-static PkEnumMatch enum_info_icon_name[] = {
+static const PkEnumMatch enum_info_icon_name[] = {
{PK_INFO_ENUM_UNKNOWN, "help-browser"}, /* fall though value */
{PK_INFO_ENUM_INSTALLED, "pk-package-installed"},
{PK_INFO_ENUM_AVAILABLE, "pk-package-available"},
@@ -54,7 +54,7 @@
{0, NULL}
};
-static PkEnumMatch enum_status_icon_name[] = {
+static const PkEnumMatch enum_status_icon_name[] = {
{PK_STATUS_ENUM_UNKNOWN, "help-browser"}, /* fall though value */
{PK_STATUS_ENUM_WAIT, "pk-wait"},
{PK_STATUS_ENUM_SETUP, "pk-setup"},
@@ -82,10 +82,12 @@
{PK_STATUS_ENUM_DOWNLOAD_UPDATEINFO, "pk-refresh-cache"},
{PK_STATUS_ENUM_REPACKAGING, "pk-package-cleanup"},
{PK_STATUS_ENUM_LOADING_CACHE, "pk-refresh-cache"},
+ {PK_STATUS_ENUM_SCAN_APPLICATIONS, "pk-package-search"}, /* TODO: need better icon */
+ {PK_STATUS_ENUM_GENERATE_PACKAGE_LIST, "pk-refresh-cache"}, /* TODO: need better icon */
{0, NULL}
};
-static PkEnumMatch enum_role_icon_name[] = {
+static const PkEnumMatch enum_role_icon_name[] = {
{PK_ROLE_ENUM_UNKNOWN, "help-browser"}, /* fall though value */
{PK_ROLE_ENUM_CANCEL, "process-stop.svg"},
{PK_ROLE_ENUM_RESOLVE, "pk-package-search"},
@@ -114,7 +116,7 @@
{0, NULL}
};
-static PkEnumMatch enum_group_icon_name[] = {
+static const PkEnumMatch enum_group_icon_name[] = {
{PK_GROUP_ENUM_UNKNOWN, "help-browser"}, /* fall though value */
{PK_GROUP_ENUM_ACCESSIBILITY, "preferences-desktop-accessibility"},
{PK_GROUP_ENUM_ACCESSORIES, "applications-accessories"},
@@ -151,7 +153,7 @@
{0, NULL}
};
-static PkEnumMatch enum_restart_icon_name[] = {
+static const PkEnumMatch enum_restart_icon_name[] = {
{PK_RESTART_ENUM_UNKNOWN, "help-browser"}, /* fall though value */
{PK_RESTART_ENUM_NONE, "dialog-information"},
{PK_RESTART_ENUM_SYSTEM, "dialog-error"},
@@ -160,7 +162,7 @@
{0, NULL}
};
-static PkEnumMatch enum_message_icon_name[] = {
+static const PkEnumMatch enum_message_icon_name[] = {
{PK_MESSAGE_ENUM_UNKNOWN, "help-browser"}, /* fall though value */
{PK_MESSAGE_ENUM_BROKEN_MIRROR, "dialog-error"},
{PK_MESSAGE_ENUM_CONNECTION_REFUSED, "dialog-error"},
@@ -177,7 +179,7 @@
{0, NULL}
};
-static PkEnumMatch enum_freq[] = {
+static const PkEnumMatch enum_freq[] = {
{GPK_FREQ_ENUM_UNKNOWN, "unknown"}, /* fall though value */
{GPK_FREQ_ENUM_HOURLY, "hourly"},
{GPK_FREQ_ENUM_DAILY, "daily"},
@@ -186,7 +188,7 @@
{0, NULL}
};
-static PkEnumMatch enum_update[] = {
+static const PkEnumMatch enum_update[] = {
{GPK_UPDATE_ENUM_UNKNOWN, "unknown"}, /* fall though value */
{GPK_UPDATE_ENUM_ALL, "all"},
{GPK_UPDATE_ENUM_SECURITY, "security"},
@@ -787,6 +789,12 @@
case PK_STATUS_ENUM_LOADING_CACHE:
text = _("Loading cache");
break;
+ case PK_STATUS_ENUM_SCAN_APPLICATIONS:
+ text = _("Scanning installed applications");
+ break;
+ case PK_STATUS_ENUM_GENERATE_PACKAGE_LIST:
+ text = _("Generating package lists");
+ break;
default:
egg_warning ("status unrecognised: %s", pk_status_enum_to_text (status));
}
Modified: trunk/src/gpk-enum.h
==============================================================================
--- trunk/src/gpk-enum.h (original)
+++ trunk/src/gpk-enum.h Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-firmware.c
==============================================================================
--- trunk/src/gpk-firmware.c (original)
+++ trunk/src/gpk-firmware.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -85,6 +85,7 @@
/* try to install each firmware file */
for (i=0; i<array->len; i++) {
filename = egg_str_list_index (array, i);
+ gpk_client_set_interaction (gclient, GPK_CLIENT_INTERACT_WARNING_PROGRESS);
ret = gpk_client_install_provide_file (gclient, filename, &error);
if (!ret) {
egg_warning ("failed to install provide file: %s", error->message);
Modified: trunk/src/gpk-firmware.h
==============================================================================
--- trunk/src/gpk-firmware.h (original)
+++ trunk/src/gpk-firmware.h Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-inhibit.c
==============================================================================
--- trunk/src/gpk-inhibit.c (original)
+++ trunk/src/gpk-inhibit.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-inhibit.h
==============================================================================
--- trunk/src/gpk-inhibit.h (original)
+++ trunk/src/gpk-inhibit.h Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-interface.h
==============================================================================
--- trunk/src/gpk-interface.h (original)
+++ trunk/src/gpk-interface.h Mon Sep 22 13:34:34 2008
@@ -53,7 +53,7 @@
#endif /* !G_ENABLE_DEBUG */
-/* NONE:UINT,UINT,STRING,POINTER (/tmp/dbus-binding-tool-c-marshallers.096QHU:1) */
+/* NONE:UINT,UINT,STRING,POINTER (/tmp/dbus-binding-tool-c-marshallers.52MTHU:1) */
extern void dbus_glib_marshal_gpk_dbus_VOID__UINT_UINT_STRING_POINTER (GClosure *closure,
GValue *return_value,
guint n_param_values,
@@ -101,7 +101,7 @@
}
#define dbus_glib_marshal_gpk_dbus_NONE__UINT_UINT_STRING_POINTER dbus_glib_marshal_gpk_dbus_VOID__UINT_UINT_STRING_POINTER
-/* NONE:UINT,UINT,BOXED,POINTER (/tmp/dbus-binding-tool-c-marshallers.096QHU:2) */
+/* NONE:UINT,UINT,BOXED,POINTER (/tmp/dbus-binding-tool-c-marshallers.52MTHU:2) */
extern void dbus_glib_marshal_gpk_dbus_VOID__UINT_UINT_BOXED_POINTER (GClosure *closure,
GValue *return_value,
guint n_param_values,
Modified: trunk/src/gpk-log.c
==============================================================================
--- trunk/src/gpk-log.c (original)
+++ trunk/src/gpk-log.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-prefs.c
==============================================================================
--- trunk/src/gpk-prefs.c (original)
+++ trunk/src/gpk-prefs.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-repo.c
==============================================================================
--- trunk/src/gpk-repo.c (original)
+++ trunk/src/gpk-repo.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-self-test.c
==============================================================================
--- trunk/src/gpk-self-test.c (original)
+++ trunk/src/gpk-self-test.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-smart-icon.c
==============================================================================
--- trunk/src/gpk-smart-icon.c (original)
+++ trunk/src/gpk-smart-icon.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-smart-icon.h
==============================================================================
--- trunk/src/gpk-smart-icon.h (original)
+++ trunk/src/gpk-smart-icon.h Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
Modified: trunk/src/gpk-update-icon.c
==============================================================================
--- trunk/src/gpk-update-icon.c (original)
+++ trunk/src/gpk-update-icon.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -40,6 +40,7 @@
#include "gpk-check-update.h"
#include "gpk-watch.h"
#include "gpk-firmware.h"
+#include "gpk-hardware.h"
#include "gpk-dbus.h"
#include "gpk-interface.h"
#include "gpk-common.h"
@@ -116,6 +117,9 @@
GpkWatch *watch = NULL;
GpkDbus *dbus = NULL;
GpkFirmware *firmware = NULL;
+ /*
+ GpkHardware *hardware = NULL;
+ */
GOptionContext *context;
GError *error = NULL;
gboolean ret;
@@ -173,6 +177,9 @@
cupdate = gpk_check_update_new ();
watch = gpk_watch_new ();
firmware = gpk_firmware_new ();
+ /*
+ hardware = gpk_hardware_new ();
+ */
/* find out when we are replaced */
monitor = egg_dbus_monitor_new ();
@@ -207,6 +214,9 @@
g_object_unref (cupdate);
g_object_unref (watch);
g_object_unref (firmware);
+ /*
+ g_object_unref (hardware);
+ */
g_object_unref (monitor);
return 0;
Modified: trunk/src/gpk-update-viewer.c
==============================================================================
--- trunk/src/gpk-update-viewer.c (original)
+++ trunk/src/gpk-update-viewer.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -186,7 +186,7 @@
gtk_widget_hide (widget);
gpk_update_viewer_set_page (PAGE_LAST);
- gpk_client_set_interaction (gclient, GPK_CLIENT_INTERACT_ALWAYS);
+ gpk_client_set_interaction (gclient, GPK_CLIENT_INTERACT_WARNING_PROGRESS);
ret = gpk_client_update_system (gclient, NULL);
/* did we succeed updating the system */
@@ -265,7 +265,7 @@
/* set correct view */
gpk_update_viewer_set_page (PAGE_LAST);
package_ids = pk_package_ids_from_array (array);
- gpk_client_set_interaction (gclient, GPK_CLIENT_INTERACT_ALWAYS);
+ gpk_client_set_interaction (gclient, GPK_CLIENT_INTERACT_WARNING_PROGRESS);
ret = gpk_client_update_packages (gclient, package_ids, NULL);
g_strfreev (package_ids);
@@ -414,7 +414,7 @@
GError *error = NULL;
/* refresh the cache */
- gpk_client_set_interaction (gclient, GPK_CLIENT_INTERACT_ALWAYS);
+ gpk_client_set_interaction (gclient, GPK_CLIENT_INTERACT_WARNING_PROGRESS);
polkit_gnome_action_set_sensitive (refresh_action, FALSE);
ret = gpk_client_refresh_cache (gclient, &error);
polkit_gnome_action_set_sensitive (refresh_action, TRUE);
@@ -1926,7 +1926,6 @@
/* install stuff using the gnome helpers */
gclient = gpk_client_new ();
- gpk_client_show_finished (gclient, FALSE);
/* use custom widgets */
glade_set_custom_handler (gpk_update_viewer_create_custom_widget, NULL);
Modified: trunk/src/gpk-watch.c
==============================================================================
--- trunk/src/gpk-watch.c (original)
+++ trunk/src/gpk-watch.c Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -210,24 +210,35 @@
/* get the most important icon */
value = pk_bitfield_contain_priority (status,
- PK_STATUS_ENUM_REFRESH_CACHE,
- PK_STATUS_ENUM_LOADING_CACHE,
- PK_STATUS_ENUM_CANCEL,
- PK_STATUS_ENUM_INSTALL,
- PK_STATUS_ENUM_REMOVE,
- PK_STATUS_ENUM_CLEANUP,
- PK_STATUS_ENUM_OBSOLETE,
- PK_STATUS_ENUM_SETUP,
- PK_STATUS_ENUM_UPDATE,
- PK_STATUS_ENUM_DOWNLOAD,
- PK_STATUS_ENUM_QUERY,
- PK_STATUS_ENUM_INFO,
- PK_STATUS_ENUM_WAIT,
- PK_STATUS_ENUM_DEP_RESOLVE,
- PK_STATUS_ENUM_ROLLBACK,
- PK_STATUS_ENUM_COMMIT,
- PK_STATUS_ENUM_REQUEST,
- PK_STATUS_ENUM_FINISHED, -1);
+ PK_STATUS_ENUM_REFRESH_CACHE,
+ PK_STATUS_ENUM_LOADING_CACHE,
+ PK_STATUS_ENUM_CANCEL,
+ PK_STATUS_ENUM_INSTALL,
+ PK_STATUS_ENUM_REMOVE,
+ PK_STATUS_ENUM_CLEANUP,
+ PK_STATUS_ENUM_OBSOLETE,
+ PK_STATUS_ENUM_SETUP,
+ PK_STATUS_ENUM_RUNNING,
+ PK_STATUS_ENUM_UPDATE,
+ PK_STATUS_ENUM_DOWNLOAD,
+ PK_STATUS_ENUM_DOWNLOAD_REPOSITORY,
+ PK_STATUS_ENUM_DOWNLOAD_PACKAGELIST,
+ PK_STATUS_ENUM_DOWNLOAD_FILELIST,
+ PK_STATUS_ENUM_DOWNLOAD_CHANGELOG,
+ PK_STATUS_ENUM_DOWNLOAD_GROUP,
+ PK_STATUS_ENUM_DOWNLOAD_UPDATEINFO,
+ PK_STATUS_ENUM_QUERY,
+ PK_STATUS_ENUM_INFO,
+ PK_STATUS_ENUM_DEP_RESOLVE,
+ PK_STATUS_ENUM_ROLLBACK,
+ PK_STATUS_ENUM_TEST_COMMIT,
+ PK_STATUS_ENUM_COMMIT,
+ PK_STATUS_ENUM_REQUEST,
+ PK_STATUS_ENUM_SIG_CHECK,
+ PK_STATUS_ENUM_CLEANUP,
+ PK_STATUS_ENUM_REPACKAGING,
+ PK_STATUS_ENUM_WAIT,
+ PK_STATUS_ENUM_FINISHED, -1);
/* only set if in the list and not unknown */
if (value != PK_STATUS_ENUM_UNKNOWN && value != -1) {
@@ -248,11 +259,10 @@
if (pk_task_list_contains_role (tlist, PK_ROLE_ENUM_REFRESH_CACHE) ||
pk_task_list_contains_role (tlist, PK_ROLE_ENUM_UPDATE_PACKAGES) ||
- pk_task_list_contains_role (tlist, PK_ROLE_ENUM_UPDATE_SYSTEM)) {
+ pk_task_list_contains_role (tlist, PK_ROLE_ENUM_UPDATE_SYSTEM))
watch->priv->show_refresh_in_menu = FALSE;
- } else {
+ else
watch->priv->show_refresh_in_menu = TRUE;
- }
gpk_watch_refresh_icon (watch);
gpk_watch_refresh_tooltip (watch);
@@ -570,7 +580,7 @@
gtk_window_set_default_icon_name (GPK_ICON_SOFTWARE_LOG);
gtk_show_about_dialog (NULL,
"version", VERSION,
- "copyright", "Copyright \xc2\xa9 2007 Richard Hughes",
+ "copyright", "Copyright \xc2\xa9 2007-2008 Richard Hughes",
"license", license_trans,
"website-label", _("PackageKit Website"),
"website", "www.packagekit.org",
@@ -641,7 +651,6 @@
egg_debug ("refresh cache");
gpk_client_set_interaction (watch->priv->gclient, GPK_CLIENT_INTERACT_ALWAYS);
- gpk_client_show_finished (watch->priv->gclient, FALSE);
ret = gpk_client_refresh_cache (watch->priv->gclient, &error);
if (!ret) {
egg_warning ("%s", error->message);
@@ -679,7 +688,7 @@
/* launch the UI */
gclient = gpk_client_new ();
- gpk_client_show_finished (gclient, FALSE);
+ gpk_client_set_interaction (gclient, GPK_CLIENT_INTERACT_WARNING_PROGRESS);
g_signal_connect (gclient, "quit", G_CALLBACK (pk_monitor_action_unref_cb), watch);
gpk_client_monitor_tid (gclient, tid);
}
Modified: trunk/src/gpk-watch.h
==============================================================================
--- trunk/src/gpk-watch.h (original)
+++ trunk/src/gpk-watch.h Mon Sep 22 13:34:34 2008
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2008 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]