[gnome-packagekit] trivial: remove the static stuff in gpk-application.c and make a structure to pass around
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-packagekit] trivial: remove the static stuff in gpk-application.c and make a structure to pass around
- Date: Fri, 11 May 2012 16:15:26 +0000 (UTC)
commit 411bb48ebdd4bda1447d0325a0e8f660db0dfef6
Author: Richard Hughes <richard hughsie com>
Date: Thu May 10 16:22:23 2012 +0100
trivial: remove the static stuff in gpk-application.c and make a structure to pass around
src/gpk-application.c | 1566 +++++++++++++++++++++++++------------------------
1 files changed, 785 insertions(+), 781 deletions(-)
---
diff --git a/src/gpk-application.c b/src/gpk-application.c
index e9e974b..d380688 100644
--- a/src/gpk-application.c
+++ b/src/gpk-application.c
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007-2010 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2007-2012 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -72,33 +72,36 @@ typedef enum {
GPK_ACTION_UNKNOWN
} GpkActionMode;
-static EggMarkdown *markdown = NULL;
-static gboolean has_package = FALSE; /* if we got a package in the search */
-static gboolean search_in_progress = FALSE;
-static GCancellable *cancellable = NULL;
-static gchar *homepage_url = NULL;
-static gchar *search_group = NULL;
-static gchar *search_text = NULL;
-static GHashTable *repos = NULL;
-static GpkActionMode action = GPK_ACTION_UNKNOWN;
-static GpkHelperRun *helper_run = NULL;
-static GpkSearchMode search_mode = GPK_MODE_UNKNOWN;
-static GpkSearchType search_type = GPK_SEARCH_UNKNOWN;
-static GSettings *settings = NULL;
-static GtkBuilder *builder = NULL;
-static GtkListStore *details_store = NULL;
-static GtkListStore *packages_store = NULL;
-static GtkTreeStore *groups_store = NULL;
-static guint details_event_id = 0;
-static guint status_id = 0;
-static PkBitfield filters_current = 0;
-static PkBitfield groups = 0;
-static PkBitfield roles = 0;
-static PkControl *control = NULL;
-static PkDesktop *desktop = NULL;
-static PkPackageSack *package_sack = NULL;
-static PkStatusEnum status_last = PK_STATUS_ENUM_UNKNOWN;
-static PkTask *task = NULL;
+typedef struct {
+ EggMarkdown *markdown;
+ gboolean has_package;
+ gboolean search_in_progress;
+ GCancellable *cancellable;
+ gchar *homepage_url;
+ gchar *search_group;
+ gchar *search_text;
+ GHashTable *repos;
+ GpkActionMode action;
+ GpkHelperRun *helper_run;
+ GpkSearchMode search_mode;
+ GpkSearchType search_type;
+ GtkApplication *application;
+ GSettings *settings;
+ GtkBuilder *builder;
+ GtkListStore *details_store;
+ GtkListStore *packages_store;
+ GtkTreeStore *groups_store;
+ guint details_event_id;
+ guint status_id;
+ PkBitfield filters_current;
+ PkBitfield groups;
+ PkBitfield roles;
+ PkControl *control;
+ PkDesktop *desktop;
+ PkPackageSack *package_sack;
+ PkStatusEnum status_last;
+ PkTask *task;
+} GpkApplicationPrivate;
enum {
GPK_STATE_INSTALLED,
@@ -134,7 +137,7 @@ enum {
DETAIL_COLUMN_LAST
};
-static void gpk_application_perform_search (gpointer user_data);
+static void gpk_application_perform_search (GpkApplicationPrivate *priv);
/**
* gpk_application_state_get_icon:
@@ -210,10 +213,10 @@ gpk_application_set_text_buffer (GtkWidget *widget, const gchar *text)
* gpk_application_allow_install:
**/
static void
-gpk_application_allow_install (gboolean allow)
+gpk_application_allow_install (GpkApplicationPrivate *priv, gboolean allow)
{
GtkWidget *widget;
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_install"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_install"));
gtk_widget_set_sensitive (widget, allow);
}
@@ -221,10 +224,10 @@ gpk_application_allow_install (gboolean allow)
* gpk_application_allow_remove:
**/
static void
-gpk_application_allow_remove (gboolean allow)
+gpk_application_allow_remove (GpkApplicationPrivate *priv, gboolean allow)
{
GtkWidget *widget;
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_remove"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_remove"));
gtk_widget_set_sensitive (widget, allow);
}
@@ -232,7 +235,7 @@ gpk_application_allow_remove (gboolean allow)
* gpk_application_packages_checkbox_invert:
**/
static void
-gpk_application_packages_checkbox_invert (gpointer user_data)
+gpk_application_packages_checkbox_invert (GpkApplicationPrivate *priv)
{
GtkTreeView *treeview;
GtkTreeModel *model;
@@ -246,7 +249,7 @@ gpk_application_packages_checkbox_invert (gpointer user_data)
gchar **split;
/* get the selection and add */
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_packages"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_packages"));
selection = gtk_tree_view_get_selection (treeview);
ret = gtk_tree_selection_get_selected (selection, &model, &iter);
if (!ret) {
@@ -265,7 +268,7 @@ gpk_application_packages_checkbox_invert (gpointer user_data)
/* use the application icon if not selected */
if (!pk_bitfield_contain (state, GPK_STATE_IN_LIST)) {
split = pk_package_id_split (package_id);
- icon = gpk_desktop_guess_icon_name (desktop, split[PK_PACKAGE_ID_NAME]);
+ icon = gpk_desktop_guess_icon_name (priv->desktop, split[PK_PACKAGE_ID_NAME]);
g_strfreev (split);
}
@@ -287,14 +290,14 @@ gpk_application_packages_checkbox_invert (gpointer user_data)
* gpk_application_get_checkbox_enable:
**/
static gboolean
-gpk_application_get_checkbox_enable (PkBitfield state)
+gpk_application_get_checkbox_enable (GpkApplicationPrivate *priv, PkBitfield state)
{
gboolean enable_installed = TRUE;
gboolean enable_available = TRUE;
- if (action == GPK_ACTION_INSTALL)
+ if (priv->action == GPK_ACTION_INSTALL)
enable_installed = FALSE;
- else if (action == GPK_ACTION_REMOVE)
+ else if (priv->action == GPK_ACTION_REMOVE)
enable_available = FALSE;
if (pk_bitfield_contain (state, GPK_STATE_INSTALLED))
@@ -306,7 +309,7 @@ gpk_application_get_checkbox_enable (PkBitfield state)
* gpk_application_set_buttons_apply_clear:
**/
static void
-gpk_application_set_buttons_apply_clear (gpointer user_data)
+gpk_application_set_buttons_apply_clear (GpkApplicationPrivate *priv)
{
GtkWidget *widget;
GtkTreeView *treeview;
@@ -320,25 +323,25 @@ gpk_application_set_buttons_apply_clear (gpointer user_data)
GPtrArray *array;
/* okay to apply? */
- array = pk_package_sack_get_array (package_sack);
+ array = pk_package_sack_get_array (priv->package_sack);
len = array->len;
g_ptr_array_unref (array);
if (len == 0) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_apply"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_apply"));
gtk_widget_set_sensitive (widget, FALSE);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_clear"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_clear"));
gtk_widget_set_sensitive (widget, FALSE);
- action = GPK_ACTION_NONE;
+ priv->action = GPK_ACTION_NONE;
} else {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_apply"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_apply"));
gtk_widget_set_sensitive (widget, TRUE);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_clear"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_clear"));
gtk_widget_set_sensitive (widget, TRUE);
}
/* correct the enabled state */
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_packages"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_packages"));
model = gtk_tree_view_get_model (treeview);
valid = gtk_tree_model_get_iter_first (model, &iter);
@@ -353,7 +356,7 @@ gpk_application_set_buttons_apply_clear (gpointer user_data)
if (package_id == NULL) {
enabled = FALSE;
} else {
- enabled = gpk_application_get_checkbox_enable (state);
+ enabled = gpk_application_get_checkbox_enable (priv, state);
}
g_free (package_id);
@@ -367,7 +370,7 @@ gpk_application_set_buttons_apply_clear (gpointer user_data)
* gpk_application_get_selected_package:
**/
static gboolean
-gpk_application_get_selected_package (gchar **package_id, gchar **summary)
+gpk_application_get_selected_package (GpkApplicationPrivate *priv, gchar **package_id, gchar **summary)
{
GtkTreeView *treeview;
GtkTreeModel *model;
@@ -376,7 +379,7 @@ gpk_application_get_selected_package (gchar **package_id, gchar **summary)
gboolean ret;
/* get the selection and add */
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_packages"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_packages"));
selection = gtk_tree_view_get_selection (treeview);
ret = gtk_tree_selection_get_selected (selection, &model, &iter);
if (!ret) {
@@ -403,7 +406,7 @@ out:
* gpk_application_install:
**/
static gboolean
-gpk_application_install (gpointer user_data)
+gpk_application_install (GpkApplicationPrivate *priv)
{
gboolean ret;
gchar *package_id_selected = NULL;
@@ -411,23 +414,23 @@ gpk_application_install (gpointer user_data)
PkPackage *package;
/* get selection */
- ret = gpk_application_get_selected_package (&package_id_selected, &summary_selected);
+ ret = gpk_application_get_selected_package (priv, &package_id_selected, &summary_selected);
if (!ret) {
g_warning ("no package selected");
goto out;
}
/* changed mind, or wrong mode */
- if (action == GPK_ACTION_REMOVE) {
- ret = pk_package_sack_remove_package_by_id (package_sack, package_id_selected);
+ if (priv->action == GPK_ACTION_REMOVE) {
+ ret = pk_package_sack_remove_package_by_id (priv->package_sack, package_id_selected);
if (ret) {
g_debug ("removed %s from package array", package_id_selected);
/* correct buttons */
- gpk_application_allow_install (FALSE);
- gpk_application_allow_remove (TRUE);
- gpk_application_packages_checkbox_invert (NULL);
- gpk_application_set_buttons_apply_clear (NULL);
+ gpk_application_allow_install (priv, FALSE);
+ gpk_application_allow_remove (priv, TRUE);
+ gpk_application_packages_checkbox_invert (priv);
+ gpk_application_set_buttons_apply_clear (priv);
return TRUE;
}
g_warning ("wrong mode and not in array");
@@ -435,14 +438,14 @@ gpk_application_install (gpointer user_data)
}
/* already added */
- package = pk_package_sack_find_by_id (package_sack, package_id_selected);
+ package = pk_package_sack_find_by_id (priv->package_sack, package_id_selected);
if (package != NULL) {
g_warning ("already added");
goto out;
}
/* set mode */
- action = GPK_ACTION_INSTALL;
+ priv->action = GPK_ACTION_INSTALL;
/* add to array */
package = pk_package_new ();
@@ -451,14 +454,14 @@ gpk_application_install (gpointer user_data)
"info", PK_INFO_ENUM_AVAILABLE,
"summary", summary_selected,
NULL);
- pk_package_sack_add_package (package_sack, package);
+ pk_package_sack_add_package (priv->package_sack, package);
g_object_unref (package);
/* correct buttons */
- gpk_application_allow_install (FALSE);
- gpk_application_allow_remove (TRUE);
- gpk_application_packages_checkbox_invert (NULL);
- gpk_application_set_buttons_apply_clear (NULL);
+ gpk_application_allow_install (priv, FALSE);
+ gpk_application_allow_remove (priv, TRUE);
+ gpk_application_packages_checkbox_invert (priv);
+ gpk_application_set_buttons_apply_clear (priv);
out:
g_free (package_id_selected);
g_free (summary_selected);
@@ -469,9 +472,9 @@ out:
* gpk_application_menu_homepage_cb:
**/
static void
-gpk_application_menu_homepage_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_homepage_cb (GtkAction *action, GpkApplicationPrivate *priv)
{
- gpk_gnome_open (homepage_url);
+ gpk_gnome_open (priv->homepage_url);
}
/**
@@ -487,7 +490,7 @@ gpk_application_strcmp_indirect (gchar **a, gchar **b)
* gpk_application_get_files_cb:
**/
static void
-gpk_application_get_files_cb (PkClient *client, GAsyncResult *res, gpointer user_data)
+gpk_application_get_files_cb (PkClient *client, GAsyncResult *res, GpkApplicationPrivate *priv)
{
gboolean ret;
gchar **files = NULL;
@@ -518,7 +521,7 @@ gpk_application_get_files_cb (PkClient *client, GAsyncResult *res, gpointer user
/* if obvious message, don't tell the user */
if (pk_error_get_code (error_code) != PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window, gpk_error_enum_to_localised_text (pk_error_get_code (error_code)),
gpk_error_enum_to_localised_message (pk_error_get_code (error_code)), pk_error_get_details (error_code));
}
@@ -534,7 +537,7 @@ gpk_application_get_files_cb (PkClient *client, GAsyncResult *res, gpointer user
item = g_ptr_array_index (array, 0);
/* get selection */
- ret = gpk_application_get_selected_package (&package_id_selected, NULL);
+ ret = gpk_application_get_selected_package (priv, &package_id_selected, NULL);
if (!ret) {
g_warning ("no package selected");
goto out;
@@ -556,7 +559,7 @@ gpk_application_get_files_cb (PkClient *client, GAsyncResult *res, gpointer user
"%i files installed by %s",
array_sort->len), array_sort->len, split[PK_PACKAGE_ID_NAME]);
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
dialog = gtk_message_dialog_new (window, GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", title);
gpk_dialog_embed_file_list_widget (GTK_DIALOG (dialog), array_sort);
@@ -584,28 +587,28 @@ out:
* gpk_application_status_changed_timeout_cb:
**/
static gboolean
-gpk_application_status_changed_timeout_cb (gpointer user_data)
+gpk_application_status_changed_timeout_cb (GpkApplicationPrivate *priv)
{
const gchar *text;
GtkWidget *widget;
/* set the text and show */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "label_status"));
- text = gpk_status_enum_to_localised_text (status_last);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "label_status"));
+ text = gpk_status_enum_to_localised_text (priv->status_last);
gtk_label_set_label (GTK_LABEL (widget), text);
/* set icon */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "image_status"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "image_status"));
gtk_image_set_from_icon_name (GTK_IMAGE (widget),
- gpk_status_enum_to_icon_name (status_last),
+ gpk_status_enum_to_icon_name (priv->status_last),
GTK_ICON_SIZE_BUTTON);
/* show containing box */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "hbox_status"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "hbox_status"));
gtk_widget_show (widget);
/* never repeat */
- status_id = 0;
+ priv->status_id = 0;
return FALSE;
}
@@ -613,7 +616,7 @@ gpk_application_status_changed_timeout_cb (gpointer user_data)
* gpk_application_progress_cb:
**/
static void
-gpk_application_progress_cb (PkProgress *progress, PkProgressType type, gpointer user_data)
+gpk_application_progress_cb (PkProgress *progress, PkProgressType type, GpkApplicationPrivate *priv)
{
PkStatusEnum status;
gint percentage;
@@ -631,43 +634,43 @@ gpk_application_progress_cb (PkProgress *progress, PkProgressType type, gpointer
if (status == PK_STATUS_ENUM_FINISHED) {
/* re-enable UI */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "treeview_packages"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_packages"));
gtk_widget_set_sensitive (widget, TRUE);
/* make apply button sensitive */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_apply"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_apply"));
gtk_widget_set_sensitive (widget, TRUE);
/* we've not yet shown, so don't bother */
- if (status_id > 0) {
- g_source_remove (status_id);
- status_id = 0;
+ if (priv->status_id > 0) {
+ g_source_remove (priv->status_id);
+ priv->status_id = 0;
}
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "hbox_status"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "hbox_status"));
gtk_widget_hide (widget);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "progressbar_progress"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "progressbar_progress"));
gtk_widget_hide (widget);
goto out;
}
/* already pending show */
- if (status_id > 0)
+ if (priv->status_id > 0)
goto out;
/* only show after some time in the transaction */
- status_id =
+ priv->status_id =
g_timeout_add (GPK_UI_STATUS_SHOW_DELAY,
(GSourceFunc) gpk_application_status_changed_timeout_cb,
- NULL);
- g_source_set_name_by_id (status_id,
+ priv);
+ g_source_set_name_by_id (priv->status_id,
"[GpkApplication] status-changed");
/* save for the callback */
- status_last = status;
+ priv->status_last = status;
} else if (type == PK_PROGRESS_TYPE_PERCENTAGE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "progressbar_progress"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "progressbar_progress"));
if (percentage > 0) {
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (widget), (gfloat) percentage / 100.0f);
gtk_widget_show (widget);
@@ -676,7 +679,7 @@ gpk_application_progress_cb (PkProgress *progress, PkProgressType type, gpointer
}
} else if (type == PK_PROGRESS_TYPE_ALLOW_CANCEL) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_cancel"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_cancel"));
gtk_widget_set_sensitive (widget, allow_cancel);
}
out:
@@ -687,27 +690,27 @@ out:
* gpk_application_menu_files_cb:
**/
static void
-gpk_application_menu_files_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_files_cb (GtkAction *action, GpkApplicationPrivate *priv)
{
gboolean ret;
gchar **package_ids = NULL;
gchar *package_id_selected = NULL;
/* get selection */
- ret = gpk_application_get_selected_package (&package_id_selected, NULL);
+ ret = gpk_application_get_selected_package (priv, &package_id_selected, NULL);
if (!ret) {
g_warning ("no package selected");
goto out;
}
/* ensure new action succeeds */
- g_cancellable_reset (cancellable);
+ g_cancellable_reset (priv->cancellable);
/* set correct view */
package_ids = pk_package_ids_from_id (package_id_selected);
- pk_client_get_files_async (PK_CLIENT (task), package_ids, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_get_files_cb, NULL);
+ pk_client_get_files_async (PK_CLIENT (priv->task), package_ids, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_get_files_cb, priv);
out:
g_free (package_id_selected);
g_strfreev (package_ids);
@@ -717,7 +720,7 @@ out:
* gpk_application_remove:
**/
static gboolean
-gpk_application_remove (gpointer user_data)
+gpk_application_remove (GpkApplicationPrivate *priv)
{
gboolean ret;
gchar *package_id_selected = NULL;
@@ -725,23 +728,23 @@ gpk_application_remove (gpointer user_data)
PkPackage *package;
/* get selection */
- ret = gpk_application_get_selected_package (&package_id_selected, &summary_selected);
+ ret = gpk_application_get_selected_package (priv, &package_id_selected, &summary_selected);
if (!ret) {
g_warning ("no package selected");
goto out;
}
/* changed mind, or wrong mode */
- if (action == GPK_ACTION_INSTALL) {
- ret = pk_package_sack_remove_package_by_id (package_sack, package_id_selected);
+ if (priv->action == GPK_ACTION_INSTALL) {
+ ret = pk_package_sack_remove_package_by_id (priv->package_sack, package_id_selected);
if (ret) {
g_debug ("removed %s from package array", package_id_selected);
/* correct buttons */
- gpk_application_allow_install (TRUE);
- gpk_application_allow_remove (FALSE);
- gpk_application_packages_checkbox_invert (NULL);
- gpk_application_set_buttons_apply_clear (NULL);
+ gpk_application_allow_install (priv, TRUE);
+ gpk_application_allow_remove (priv, FALSE);
+ gpk_application_packages_checkbox_invert (priv);
+ gpk_application_set_buttons_apply_clear (priv);
return TRUE;
}
g_warning ("wrong mode and not in array");
@@ -749,27 +752,27 @@ gpk_application_remove (gpointer user_data)
}
/* already added */
- ret = (pk_package_sack_find_by_id (package_sack, package_id_selected) == NULL);
+ ret = (pk_package_sack_find_by_id (priv->package_sack, package_id_selected) == NULL);
if (!ret) {
g_warning ("already added");
goto out;
}
- action = GPK_ACTION_REMOVE;
+ priv->action = GPK_ACTION_REMOVE;
package = pk_package_new ();
pk_package_set_id (package, package_id_selected, NULL);
g_object_set (package,
"info", PK_INFO_ENUM_INSTALLED,
"summary", summary_selected,
NULL);
- pk_package_sack_add_package (package_sack, package);
+ pk_package_sack_add_package (priv->package_sack, package);
g_object_unref (package);
/* correct buttons */
- gpk_application_allow_install (TRUE);
- gpk_application_allow_remove (FALSE);
- gpk_application_packages_checkbox_invert (NULL);
- gpk_application_set_buttons_apply_clear (NULL);
+ gpk_application_allow_install (priv, TRUE);
+ gpk_application_allow_remove (priv, FALSE);
+ gpk_application_packages_checkbox_invert (priv);
+ gpk_application_set_buttons_apply_clear (priv);
out:
g_free (package_id_selected);
g_free (summary_selected);
@@ -780,25 +783,25 @@ out:
* gpk_application_menu_install_cb:
**/
static void
-gpk_application_menu_install_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_install_cb (GtkAction *action, GpkApplicationPrivate *priv)
{
- gpk_application_install (NULL);
+ gpk_application_install (priv);
}
/**
* gpk_application_menu_remove_cb:
**/
static void
-gpk_application_menu_remove_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_remove_cb (GtkAction *action, GpkApplicationPrivate *priv)
{
- gpk_application_remove (NULL);
+ gpk_application_remove (priv);
}
/**
* gpk_application_menu_run_cb:
**/
static void
-gpk_application_menu_run_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_run_cb (GtkAction *action, GpkApplicationPrivate *priv)
{
gchar **package_ids;
GtkTreeView *treeview;
@@ -810,7 +813,7 @@ gpk_application_menu_run_cb (GtkAction *_action, gpointer user_data)
gchar *package_id = NULL;
/* get selection */
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_packages"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_packages"));
selection = gtk_tree_view_get_selection (treeview);
ret = gtk_tree_selection_get_selected (selection, &model, &iter);
if (!ret) {
@@ -827,7 +830,7 @@ gpk_application_menu_run_cb (GtkAction *_action, gpointer user_data)
if (pk_bitfield_contain (state, GPK_STATE_INSTALLED)) {
/* run this single package id */
package_ids = pk_package_ids_from_id (package_id);
- gpk_helper_run_show (helper_run, package_ids);
+ gpk_helper_run_show (priv->helper_run, package_ids);
g_strfreev (package_ids);
}
g_free (package_id);
@@ -837,7 +840,7 @@ gpk_application_menu_run_cb (GtkAction *_action, gpointer user_data)
* gpk_application_get_requires_cb:
**/
static void
-gpk_application_get_requires_cb (PkClient *client, GAsyncResult *res, gpointer user_data)
+gpk_application_get_requires_cb (PkClient *client, GAsyncResult *res, GpkApplicationPrivate *priv)
{
PkResults *results;
GError *error = NULL;
@@ -867,7 +870,7 @@ gpk_application_get_requires_cb (PkClient *client, GAsyncResult *res, gpointer u
/* if obvious message, don't tell the user */
if (pk_error_get_code (error_code) != PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window, gpk_error_enum_to_localised_text (pk_error_get_code (error_code)),
gpk_error_enum_to_localised_message (pk_error_get_code (error_code)), pk_error_get_details (error_code));
}
@@ -875,7 +878,7 @@ gpk_application_get_requires_cb (PkClient *client, GAsyncResult *res, gpointer u
}
/* get selection */
- ret = gpk_application_get_selected_package (&package_id_selected, NULL);
+ ret = gpk_application_get_selected_package (priv, &package_id_selected, NULL);
if (!ret) {
g_warning ("no package selected");
goto out;
@@ -885,7 +888,7 @@ gpk_application_get_requires_cb (PkClient *client, GAsyncResult *res, gpointer u
array = pk_results_get_package_array (results);
/* empty array */
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
if (array->len == 0) {
gpk_error_dialog_modal (window,
/* TRANSLATORS: no packages returned */
@@ -932,29 +935,29 @@ out:
* gpk_application_menu_requires_cb:
**/
static void
-gpk_application_menu_requires_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_requires_cb (GtkAction *action, GpkApplicationPrivate *priv)
{
gboolean ret;
gchar **package_ids = NULL;
gchar *package_id_selected = NULL;
/* get selection */
- ret = gpk_application_get_selected_package (&package_id_selected, NULL);
+ ret = gpk_application_get_selected_package (priv, &package_id_selected, NULL);
if (!ret) {
g_warning ("no package selected");
goto out;
}
/* ensure new action succeeds */
- g_cancellable_reset (cancellable);
+ g_cancellable_reset (priv->cancellable);
/* get the requires */
package_ids = pk_package_ids_from_id (package_id_selected);
- pk_client_get_requires_async (PK_CLIENT (task),
+ pk_client_get_requires_async (PK_CLIENT (priv->task),
pk_bitfield_value (PK_FILTER_ENUM_NONE),
- package_ids, TRUE, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_get_requires_cb, NULL);
+ package_ids, TRUE, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_get_requires_cb, priv);
out:
g_free (package_id_selected);
g_strfreev (package_ids);
@@ -964,7 +967,7 @@ out:
* gpk_application_get_depends_cb:
**/
static void
-gpk_application_get_depends_cb (PkClient *client, GAsyncResult *res, gpointer user_data)
+gpk_application_get_depends_cb (PkClient *client, GAsyncResult *res, GpkApplicationPrivate *priv)
{
PkResults *results;
GError *error = NULL;
@@ -994,7 +997,7 @@ gpk_application_get_depends_cb (PkClient *client, GAsyncResult *res, gpointer us
/* if obvious message, don't tell the user */
if (pk_error_get_code (error_code) != PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window, gpk_error_enum_to_localised_text (pk_error_get_code (error_code)),
gpk_error_enum_to_localised_message (pk_error_get_code (error_code)), pk_error_get_details (error_code));
}
@@ -1005,14 +1008,14 @@ gpk_application_get_depends_cb (PkClient *client, GAsyncResult *res, gpointer us
array = pk_results_get_package_array (results);
/* get selection */
- ret = gpk_application_get_selected_package (&package_id_selected, NULL);
+ ret = gpk_application_get_selected_package (priv, &package_id_selected, NULL);
if (!ret) {
g_warning ("no package selected");
goto out;
}
/* empty array */
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
if (array->len == 0) {
gpk_error_dialog_modal (window,
/* TRANSLATORS: no packages returned */
@@ -1059,29 +1062,29 @@ out:
* gpk_application_menu_depends_cb:
**/
static void
-gpk_application_menu_depends_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_depends_cb (GtkAction *_action, GpkApplicationPrivate *priv)
{
gboolean ret;
gchar **package_ids = NULL;
gchar *package_id_selected = NULL;
/* get selection */
- ret = gpk_application_get_selected_package (&package_id_selected, NULL);
+ ret = gpk_application_get_selected_package (priv, &package_id_selected, NULL);
if (!ret) {
g_warning ("no package selected");
goto out;
}
/* ensure new action succeeds */
- g_cancellable_reset (cancellable);
+ g_cancellable_reset (priv->cancellable);
/* get the depends */
package_ids = pk_package_ids_from_id (package_id_selected);
- pk_client_get_depends_async (PK_CLIENT (task),
+ pk_client_get_depends_async (PK_CLIENT (priv->task),
pk_bitfield_value (PK_FILTER_ENUM_NONE),
- package_ids, TRUE, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_get_depends_cb, NULL);
+ package_ids, TRUE, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_get_depends_cb, priv);
out:
g_free (package_id_selected);
g_strfreev (package_ids);
@@ -1091,7 +1094,7 @@ out:
* gpk_application_get_full_repo_name:
**/
static const gchar *
-gpk_application_get_full_repo_name (const gchar *data)
+gpk_application_get_full_repo_name (GpkApplicationPrivate *priv, const gchar *data)
{
const gchar *repo_name;
@@ -1103,7 +1106,7 @@ gpk_application_get_full_repo_name (const gchar *data)
}
/* try to find in cached repo array */
- repo_name = (const gchar *) g_hash_table_lookup (repos, data);
+ repo_name = (const gchar *) g_hash_table_lookup (priv->repos, data);
if (repo_name == NULL) {
g_warning ("no repo name, falling back to %s", data);
return data;
@@ -1115,7 +1118,7 @@ gpk_application_get_full_repo_name (const gchar *data)
* gpk_application_add_detail_item:
**/
static void
-gpk_application_add_detail_item (const gchar *title, const gchar *text, const gchar *uri)
+gpk_application_add_detail_item (GpkApplicationPrivate *priv, const gchar *title, const gchar *text, const gchar *uri)
{
gchar *markup;
GtkTreeView *treeview;
@@ -1123,17 +1126,17 @@ gpk_application_add_detail_item (const gchar *title, const gchar *text, const gc
GtkTreeSelection *selection;
/* we don't need to clear anymore */
- if (details_event_id > 0) {
- g_source_remove (details_event_id);
- details_event_id = 0;
+ if (priv->details_event_id > 0) {
+ g_source_remove (priv->details_event_id);
+ priv->details_event_id = 0;
}
/* format */
markup = g_strdup_printf ("<b>%s:</b>", title);
g_debug ("%s %s %s", markup, text, uri);
- gtk_list_store_append (details_store, &iter);
- gtk_list_store_set (details_store, &iter,
+ gtk_list_store_append (priv->details_store, &iter);
+ gtk_list_store_set (priv->details_store, &iter,
DETAIL_COLUMN_TITLE, markup,
DETAIL_COLUMN_TEXT, text,
DETAIL_COLUMN_URI, uri,
@@ -1141,7 +1144,7 @@ gpk_application_add_detail_item (const gchar *title, const gchar *text, const gc
g_free (markup);
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_detail"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_detail"));
selection = gtk_tree_view_get_selection (treeview);
gtk_tree_selection_set_mode (selection, GTK_SELECTION_NONE);
gtk_tree_view_columns_autosize (treeview);
@@ -1151,19 +1154,19 @@ gpk_application_add_detail_item (const gchar *title, const gchar *text, const gc
* gpk_application_clear_details_really:
**/
static gboolean
-gpk_application_clear_details_really (gpointer user_data)
+gpk_application_clear_details_really (GpkApplicationPrivate *priv)
{
GtkWidget *widget;
/* hide details */
- gtk_list_store_clear (details_store);
+ gtk_list_store_clear (priv->details_store);
/* clear the old text */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "textview_description"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "textview_description"));
gpk_application_set_text_buffer (widget, NULL);
/* hide dead widgets */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "scrolledwindow_detail"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "scrolledwindow_detail"));
gtk_widget_hide (widget);
/* never repeat */
@@ -1174,14 +1177,14 @@ gpk_application_clear_details_really (gpointer user_data)
* gpk_application_clear_details:
**/
static void
-gpk_application_clear_details (gpointer user_data)
+gpk_application_clear_details (GpkApplicationPrivate *priv)
{
/* only clear the last data if it takes a little while, else we flicker the display */
- if (details_event_id > 0)
- g_source_remove (details_event_id);
- details_event_id =
- g_timeout_add (200, (GSourceFunc) gpk_application_clear_details_really, NULL);
- g_source_set_name_by_id (details_event_id,
+ if (priv->details_event_id > 0)
+ g_source_remove (priv->details_event_id);
+ priv->details_event_id =
+ g_timeout_add (200, (GSourceFunc) gpk_application_clear_details_really, priv);
+ g_source_set_name_by_id (priv->details_event_id,
"[GpkApplication] clear-details");
}
@@ -1189,22 +1192,22 @@ gpk_application_clear_details (gpointer user_data)
* gpk_application_clear_packages:
**/
static void
-gpk_application_clear_packages (gpointer user_data)
+gpk_application_clear_packages (GpkApplicationPrivate *priv)
{
/* clear existing array */
- gtk_list_store_clear (packages_store);
- has_package = FALSE;
+ gtk_list_store_clear (priv->packages_store);
+ priv->has_package = FALSE;
}
/**
* gpk_application_text_format_display:
**/
static gchar *
-gpk_application_text_format_display (const gchar *ascii)
+gpk_application_text_format_display (GpkApplicationPrivate *priv, const gchar *ascii)
{
gchar *text;
- egg_markdown_set_output (markdown, EGG_MARKDOWN_OUTPUT_TEXT);
- text = egg_markdown_parse (markdown, ascii);
+ egg_markdown_set_output (priv->markdown, EGG_MARKDOWN_OUTPUT_TEXT);
+ text = egg_markdown_parse (priv->markdown, ascii);
return text;
}
@@ -1212,7 +1215,7 @@ gpk_application_text_format_display (const gchar *ascii)
* gpk_application_add_item_to_results:
**/
static void
-gpk_application_add_item_to_results (PkPackage *item)
+gpk_application_add_item_to_results (GpkApplicationPrivate *priv, PkPackage *item)
{
GtkTreeIter iter;
gchar *summary_markup;
@@ -1238,14 +1241,14 @@ gpk_application_add_item_to_results (PkPackage *item)
NULL);
/* format if required */
- egg_markdown_set_output (markdown, EGG_MARKDOWN_OUTPUT_PANGO);
- summary_markup = egg_markdown_parse (markdown, summary);
+ egg_markdown_set_output (priv->markdown, EGG_MARKDOWN_OUTPUT_PANGO);
+ summary_markup = egg_markdown_parse (priv->markdown, summary);
/* mark as got so we don't warn */
- has_package = TRUE;
+ priv->has_package = TRUE;
/* are we in the package array? */
- in_queue = (pk_package_sack_find_by_id (package_sack, package_id) != NULL);
+ in_queue = (pk_package_sack_find_by_id (priv->package_sack, package_id) != NULL);
installed = (info == PK_INFO_ENUM_INSTALLED) || (info == PK_INFO_ENUM_COLLECTION_INSTALLED);
if (installed)
@@ -1259,7 +1262,7 @@ gpk_application_add_item_to_results (PkPackage *item)
/* use the application icon if available */
split = pk_package_id_split (package_id);
- icon = gpk_desktop_guess_icon_name (desktop, split[PK_PACKAGE_ID_NAME]);
+ icon = gpk_desktop_guess_icon_name (priv->desktop, split[PK_PACKAGE_ID_NAME]);
g_strfreev (split);
if (icon == NULL)
icon = gpk_application_state_get_icon (state);
@@ -1267,16 +1270,16 @@ gpk_application_add_item_to_results (PkPackage *item)
checkbox = gpk_application_state_get_checkbox (state);
/* use two lines */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "window_manager"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "window_manager"));
text = gpk_package_id_format_twoline (gtk_widget_get_style_context (widget),
package_id,
summary_markup);
/* can we modify this? */
- enabled = gpk_application_get_checkbox_enable (state);
+ enabled = gpk_application_get_checkbox_enable (priv, state);
- gtk_list_store_append (packages_store, &iter);
- gtk_list_store_set (packages_store, &iter,
+ gtk_list_store_append (priv->packages_store, &iter);
+ gtk_list_store_set (priv->packages_store, &iter,
PACKAGES_COLUMN_STATE, state,
PACKAGES_COLUMN_CHECKBOX, checkbox,
PACKAGES_COLUMN_CHECKBOX_VISIBLE, enabled,
@@ -1302,7 +1305,7 @@ gpk_application_add_item_to_results (PkPackage *item)
* gpk_application_suggest_better_search:
**/
static void
-gpk_application_suggest_better_search (gpointer user_data)
+gpk_application_suggest_better_search (GpkApplicationPrivate *priv)
{
const gchar *message = NULL;
/* TRANSLATORS: no results were found for this search */
@@ -1311,16 +1314,16 @@ gpk_application_suggest_better_search (gpointer user_data)
gchar *text;
PkBitfield state = 0;
- if (search_mode == GPK_MODE_GROUP ||
- search_mode == GPK_MODE_ALL_PACKAGES) {
+ if (priv->search_mode == GPK_MODE_GROUP ||
+ priv->search_mode == GPK_MODE_ALL_PACKAGES) {
/* TRANSLATORS: be helpful, but this shouldn't happen */
message = _("Try entering a package name in the search bar.");
- } else if (search_mode == GPK_MODE_SELECTED) {
+ } else if (priv->search_mode == GPK_MODE_SELECTED) {
/* TRANSLATORS: nothing in the package queue */
message = _("There are no packages queued to be installed or removed.");
} else {
- if (search_type == GPK_SEARCH_NAME ||
- search_type == GPK_SEARCH_FILE)
+ if (priv->search_type == GPK_SEARCH_NAME ||
+ priv->search_type == GPK_SEARCH_FILE)
/* TRANSLATORS: tell the user to switch to details search mode */
message = _("Try searching package descriptions by clicking the icon next to the search text.");
else
@@ -1329,8 +1332,8 @@ gpk_application_suggest_better_search (gpointer user_data)
}
text = g_strdup_printf ("%s\n%s", title, message);
- gtk_list_store_append (packages_store, &iter);
- gtk_list_store_set (packages_store, &iter,
+ gtk_list_store_append (priv->packages_store, &iter);
+ gtk_list_store_set (priv->packages_store, &iter,
PACKAGES_COLUMN_STATE, state,
PACKAGES_COLUMN_CHECKBOX, FALSE,
PACKAGES_COLUMN_CHECKBOX_VISIBLE, FALSE,
@@ -1345,9 +1348,9 @@ gpk_application_suggest_better_search (gpointer user_data)
* gpk_application_perform_search_idle_cb:
**/
static gboolean
-gpk_application_perform_search_idle_cb (gpointer user_data)
+gpk_application_perform_search_idle_cb (GpkApplicationPrivate *priv)
{
- gpk_application_perform_search (NULL);
+ gpk_application_perform_search (priv);
return FALSE;
}
@@ -1358,7 +1361,7 @@ gpk_application_perform_search_idle_cb (gpointer user_data)
* results we cancel the search and start getting the package details.
**/
static void
-gpk_application_select_exact_match (const gchar *text)
+gpk_application_select_exact_match (GpkApplicationPrivate *priv, const gchar *text)
{
GtkTreeView *treeview;
gboolean valid;
@@ -1370,7 +1373,7 @@ gpk_application_select_exact_match (const gchar *text)
gchar **split;
/* get the first iter in the array */
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_packages"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_packages"));
model = gtk_tree_view_get_model (treeview);
valid = gtk_tree_model_get_iter_first (model, &iter);
@@ -1402,7 +1405,7 @@ gpk_application_select_exact_match (const gchar *text)
* gpk_application_run_installed:
**/
static void
-gpk_application_run_installed (PkResults *results)
+gpk_application_run_installed (GpkApplicationPrivate *priv, PkResults *results)
{
guint i;
GPtrArray *array;
@@ -1434,7 +1437,7 @@ gpk_application_run_installed (PkResults *results)
/* this is async */
package_ids = pk_ptr_array_to_strv (package_ids_array);
- gpk_helper_run_show (helper_run, package_ids);
+ gpk_helper_run_show (priv->helper_run, package_ids);
out:
g_strfreev (package_ids);
@@ -1447,10 +1450,10 @@ out:
* gpk_application_finished_cb:
**/
static void
-gpk_application_finished_cb (PkClient *client, PkExitEnum exit_enum, guint runtime, gpointer user_data)
+gpk_application_finished_cb (PkClient *client, PkExitEnum exit_enum, guint runtime, GpkApplicationPrivate *priv)
{
-// widget = GTK_WIDGET (gtk_builder_get_object (builder, "progressbar_progress"));
+// widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "progressbar_progress"));
// gtk_widget_hide (widget);
}
@@ -1460,31 +1463,31 @@ gpk_application_finished_cb (PkClient *client, PkExitEnum exit_enum, guint runti
* gpk_application_cancel_cb:
**/
static void
-gpk_application_cancel_cb (GtkWidget *button_widget, gpointer user_data)
+gpk_application_cancel_cb (GtkWidget *button_widget, GpkApplicationPrivate *priv)
{
- g_cancellable_cancel (cancellable);
+ g_cancellable_cancel (priv->cancellable);
/* switch buttons around */
- search_mode = GPK_MODE_UNKNOWN;
+ priv->search_mode = GPK_MODE_UNKNOWN;
}
/**
* gpk_application_set_button_find_sensitivity:
**/
static void
-gpk_application_set_button_find_sensitivity (gpointer user_data)
+gpk_application_set_button_find_sensitivity (GpkApplicationPrivate *priv)
{
gboolean sensitive;
GtkWidget *widget;
const gchar *search;
/* get the text in the search bar */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "entry_text"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_text"));
search = gtk_entry_get_text (GTK_ENTRY (widget));
/* only sensitive if not in the middle of a search and has valid text */
- sensitive = !search_in_progress && !egg_strzero (search);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_find"));
+ sensitive = !priv->search_in_progress && !egg_strzero (search);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_find"));
gtk_widget_set_sensitive (widget, sensitive);
}
@@ -1492,7 +1495,7 @@ gpk_application_set_button_find_sensitivity (gpointer user_data)
* gpk_application_search_cb:
**/
static void
-gpk_application_search_cb (PkClient *client, GAsyncResult *res, gpointer user_data)
+gpk_application_search_cb (PkClient *client, GAsyncResult *res, GpkApplicationPrivate *priv)
{
PkResults *results;
GError *error = NULL;
@@ -1518,7 +1521,7 @@ gpk_application_search_cb (PkClient *client, GAsyncResult *res, gpointer user_da
/* if obvious message, don't tell the user */
if (pk_error_get_code (error_code) != PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window, gpk_error_enum_to_localised_text (pk_error_get_code (error_code)),
gpk_error_enum_to_localised_message (pk_error_get_code (error_code)), pk_error_get_details (error_code));
}
@@ -1529,37 +1532,37 @@ gpk_application_search_cb (PkClient *client, GAsyncResult *res, gpointer user_da
array = pk_results_get_package_array (results);
for (i=0; i<array->len; i++) {
item = g_ptr_array_index (array, i);
- gpk_application_add_item_to_results (item);
+ gpk_application_add_item_to_results (priv, item);
}
/* were there no entries found? */
- if (!has_package)
- gpk_application_suggest_better_search (NULL);
+ if (!priv->has_package)
+ gpk_application_suggest_better_search (priv);
/* if there is an exact match, select it */
- gpk_application_select_exact_match (search_text);
+ gpk_application_select_exact_match (priv, priv->search_text);
/* focus back to the text extry */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "entry_text"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_text"));
gtk_widget_grab_focus (widget);
/* reset UI */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "treeview_groups"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_groups"));
gtk_widget_set_sensitive (widget, TRUE);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "textview_description"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "textview_description"));
gtk_widget_set_sensitive (widget, TRUE);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "treeview_detail"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_detail"));
gtk_widget_set_sensitive (widget, TRUE);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "entry_text"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_text"));
gtk_widget_set_sensitive (widget, TRUE);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_apply"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_apply"));
gtk_widget_set_sensitive (widget, TRUE);
- gpk_application_set_buttons_apply_clear (NULL);
+ gpk_application_set_buttons_apply_clear (priv);
out:
/* mark find button sensitive */
- search_in_progress = FALSE;
- gpk_application_set_button_find_sensitivity (NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "scrolledwindow_groups"));
+ priv->search_in_progress = FALSE;
+ gpk_application_set_button_find_sensitivity (priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "scrolledwindow_groups"));
gtk_widget_set_sensitive (widget, TRUE);
if (error_code != NULL)
@@ -1574,7 +1577,7 @@ out:
* gpk_application_perform_search_name_details_file:
**/
static void
-gpk_application_perform_search_name_details_file (gpointer user_data)
+gpk_application_perform_search_name_details_file (GpkApplicationPrivate *priv)
{
GtkEntry *entry;
GtkWindow *window;
@@ -1582,21 +1585,21 @@ gpk_application_perform_search_name_details_file (gpointer user_data)
gboolean ret;
gchar **searches = NULL;
- entry = GTK_ENTRY (gtk_builder_get_object (builder, "entry_text"));
- g_free (search_text);
- search_text = g_strdup (gtk_entry_get_text (entry));
+ entry = GTK_ENTRY (gtk_builder_get_object (priv->builder, "entry_text"));
+ g_free (priv->search_text);
+ priv->search_text = g_strdup (gtk_entry_get_text (entry));
/* have we got input? */
- if (egg_strzero (search_text)) {
+ if (egg_strzero (priv->search_text)) {
g_debug ("no input");
goto out;
}
- ret = !egg_strzero (search_text);
+ ret = !egg_strzero (priv->search_text);
if (!ret) {
g_debug ("invalid input text, will fail");
/* TODO - make the dialog turn red... */
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window,
/* TRANSLATORS: title: invalid text in the search bar */
_("Invalid search text"),
@@ -1604,42 +1607,42 @@ gpk_application_perform_search_name_details_file (gpointer user_data)
_("The search text contains invalid characters"), NULL);
goto out;
}
- g_debug ("find %s", search_text);
+ g_debug ("find %s", priv->search_text);
/* mark find button insensitive */
- search_in_progress = TRUE;
- gpk_application_set_button_find_sensitivity (NULL);
+ priv->search_in_progress = TRUE;
+ gpk_application_set_button_find_sensitivity (priv);
/* ensure new action succeeds */
- g_cancellable_reset (cancellable);
+ g_cancellable_reset (priv->cancellable);
/* do the search */
- searches = g_strsplit (search_text, " ", -1);
- if (search_type == GPK_SEARCH_NAME) {
- pk_task_search_names_async (task,
- filters_current,
- searches, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_search_cb, NULL);
- } else if (search_type == GPK_SEARCH_DETAILS) {
- pk_task_search_details_async (task,
- filters_current,
- searches, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_search_cb, NULL);
- } else if (search_type == GPK_SEARCH_FILE) {
- pk_task_search_files_async (task,
- filters_current,
- searches, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_search_cb, NULL);
+ searches = g_strsplit (priv->search_text, " ", -1);
+ if (priv->search_type == GPK_SEARCH_NAME) {
+ pk_task_search_names_async (priv->task,
+ priv->filters_current,
+ searches, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_search_cb, priv);
+ } else if (priv->search_type == GPK_SEARCH_DETAILS) {
+ pk_task_search_details_async (priv->task,
+ priv->filters_current,
+ searches, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_search_cb, priv);
+ } else if (priv->search_type == GPK_SEARCH_FILE) {
+ pk_task_search_files_async (priv->task,
+ priv->filters_current,
+ searches, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_search_cb, priv);
} else {
g_warning ("invalid search type");
goto out;
}
if (!ret) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window,
/* TRANSLATORS: title: we failed to execute the method */
_("The search could not be completed"),
@@ -1656,27 +1659,27 @@ out:
* gpk_application_perform_search_others:
**/
static void
-gpk_application_perform_search_others (gpointer user_data)
+gpk_application_perform_search_others (GpkApplicationPrivate *priv)
{
gchar **search_groups;
/* ensure new action succeeds */
- g_cancellable_reset (cancellable);
+ g_cancellable_reset (priv->cancellable);
- search_in_progress = TRUE;
+ priv->search_in_progress = TRUE;
- if (search_mode == GPK_MODE_GROUP) {
- search_groups = g_strsplit (search_group, " ", -1);
- pk_client_search_groups_async (PK_CLIENT(task),
- filters_current, search_groups, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_search_cb, NULL);
+ if (priv->search_mode == GPK_MODE_GROUP) {
+ search_groups = g_strsplit (priv->search_group, " ", -1);
+ pk_client_search_groups_async (PK_CLIENT(priv->task),
+ priv->filters_current, search_groups, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_search_cb, priv);
g_strfreev (search_groups);
} else {
- pk_client_get_packages_async (PK_CLIENT(task),
- filters_current, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_search_cb, NULL);
+ pk_client_get_packages_async (PK_CLIENT(priv->task),
+ priv->filters_current, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_search_cb, priv);
}
}
@@ -1684,25 +1687,25 @@ gpk_application_perform_search_others (gpointer user_data)
* gpk_application_populate_selected:
**/
static gboolean
-gpk_application_populate_selected (gpointer user_data)
+gpk_application_populate_selected (GpkApplicationPrivate *priv)
{
guint i;
PkPackage *package;
GPtrArray *array;
/* get size */
- array = pk_package_sack_get_array (package_sack);
+ array = pk_package_sack_get_array (priv->package_sack);
/* nothing in queue */
if (array->len == 0) {
- gpk_application_suggest_better_search (NULL);
+ gpk_application_suggest_better_search (priv);
goto out;
}
/* dump queue to package window */
for (i=0; i<array->len; i++) {
package = g_ptr_array_index (array, i);
- gpk_application_add_item_to_results (package);
+ gpk_application_add_item_to_results (priv, package);
}
out:
@@ -1714,37 +1717,37 @@ out:
* gpk_application_perform_search:
**/
static void
-gpk_application_perform_search (gpointer user_data)
+gpk_application_perform_search (GpkApplicationPrivate *priv)
{
GtkWidget *widget;
/*if we are in the middle of a search, just return*/
- if (search_in_progress == TRUE)
+ if (priv->search_in_progress == TRUE)
return;
/* just shown the welcome screen */
- if (search_mode == GPK_MODE_UNKNOWN)
+ if (priv->search_mode == GPK_MODE_UNKNOWN)
return;
- if (search_mode == GPK_MODE_NAME_DETAILS_FILE ||
- search_mode == GPK_MODE_GROUP ||
- search_mode == GPK_MODE_SELECTED) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder,
+ if (priv->search_mode == GPK_MODE_NAME_DETAILS_FILE ||
+ priv->search_mode == GPK_MODE_GROUP ||
+ priv->search_mode == GPK_MODE_SELECTED) {
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"scrolledwindow_groups"));
gtk_widget_set_sensitive (widget, FALSE);
}
g_debug ("CLEAR search");
- gpk_application_clear_details (NULL);
- gpk_application_clear_packages (NULL);
-
- if (search_mode == GPK_MODE_NAME_DETAILS_FILE) {
- gpk_application_perform_search_name_details_file (NULL);
- } else if (search_mode == GPK_MODE_GROUP ||
- search_mode == GPK_MODE_ALL_PACKAGES) {
- gpk_application_perform_search_others (NULL);
- } else if (search_mode == GPK_MODE_SELECTED) {
- gpk_application_populate_selected (NULL);
+ gpk_application_clear_details (priv);
+ gpk_application_clear_packages (priv);
+
+ if (priv->search_mode == GPK_MODE_NAME_DETAILS_FILE) {
+ gpk_application_perform_search_name_details_file (priv);
+ } else if (priv->search_mode == GPK_MODE_GROUP ||
+ priv->search_mode == GPK_MODE_ALL_PACKAGES) {
+ gpk_application_perform_search_others (priv);
+ } else if (priv->search_mode == GPK_MODE_SELECTED) {
+ gpk_application_populate_selected (priv);
} else {
g_debug ("doing nothing");
}
@@ -1754,10 +1757,10 @@ gpk_application_perform_search (gpointer user_data)
* gpk_application_find_cb:
**/
static void
-gpk_application_find_cb (GtkWidget *button_widget, gpointer user_data)
+gpk_application_find_cb (GtkWidget *button_widget, GpkApplicationPrivate *priv)
{
- search_mode = GPK_MODE_NAME_DETAILS_FILE;
- gpk_application_perform_search (NULL);
+ priv->search_mode = GPK_MODE_NAME_DETAILS_FILE;
+ gpk_application_perform_search (priv);
}
/**
@@ -1765,7 +1768,7 @@ gpk_application_find_cb (GtkWidget *button_widget, gpointer user_data)
* @event: The event type, unused.
**/
static gboolean
-gpk_application_quit (GtkApplication *application)
+gpk_application_quit (GpkApplicationPrivate *priv)
{
GPtrArray *array;
gint len;
@@ -1774,12 +1777,12 @@ gpk_application_quit (GtkApplication *application)
GtkWidget *dialog;
/* do we have any items queued for removal or installation? */
- array = pk_package_sack_get_array (package_sack);
+ array = pk_package_sack_get_array (priv->package_sack);
len = array->len;
g_ptr_array_unref (array);
if (len != 0) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
dialog = gtk_message_dialog_new (window, GTK_DIALOG_MODAL,
GTK_MESSAGE_WARNING, GTK_BUTTONS_CANCEL,
/* TRANSLATORS: title: warn the user they are quitting with unapplied changes */
@@ -1800,8 +1803,8 @@ gpk_application_quit (GtkApplication *application)
}
/* we might have visual stuff running, close them down */
- g_cancellable_cancel (cancellable);
- g_application_release (G_APPLICATION (application));
+ g_cancellable_cancel (priv->cancellable);
+ g_application_release (G_APPLICATION (priv->application));
return TRUE;
}
@@ -1809,29 +1812,29 @@ gpk_application_quit (GtkApplication *application)
* gpk_application_menu_quit_cb:
**/
static void
-gpk_application_menu_quit_cb (GtkAction *_action, GtkApplication *application)
+gpk_application_menu_quit_cb (GtkAction *action, GpkApplicationPrivate *priv)
{
- gpk_application_quit (application);
+ gpk_application_quit (priv);
}
/**
* gpk_application_text_changed_cb:
**/
static gboolean
-gpk_application_text_changed_cb (GtkEntry *entry, GdkEventKey *event, gpointer user_data)
+gpk_application_text_changed_cb (GtkEntry *entry, GpkApplicationPrivate *priv)
{
GtkTreeView *treeview;
GtkTreeSelection *selection;
/* clear group selection if we have the tab */
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_SEARCH_GROUP)) {
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_groups"));
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_SEARCH_GROUP)) {
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_groups"));
selection = gtk_tree_view_get_selection (treeview);
gtk_tree_selection_unselect_all (selection);
}
/* mark find button sensitive */
- gpk_application_set_button_find_sensitivity (NULL);
+ gpk_application_set_button_find_sensitivity (priv);
return FALSE;
}
@@ -1839,7 +1842,7 @@ gpk_application_text_changed_cb (GtkEntry *entry, GdkEventKey *event, gpointer u
* gpk_application_packages_installed_clicked_cb:
**/
static void
-gpk_application_packages_installed_clicked_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer data)
+gpk_application_packages_installed_clicked_cb (GtkCellRendererToggle *cell, gchar *path_str, GpkApplicationPrivate *priv)
{
GtkTreeView *treeview;
GtkTreeModel *model;
@@ -1848,7 +1851,7 @@ gpk_application_packages_installed_clicked_cb (GtkCellRendererToggle *cell, gcha
GtkTreeSelection *selection;
PkBitfield state;
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_packages"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_packages"));
model = gtk_tree_view_get_model (treeview);
path = gtk_tree_path_new_from_string (path_str);
@@ -1863,20 +1866,20 @@ gpk_application_packages_installed_clicked_cb (GtkCellRendererToggle *cell, gcha
gtk_tree_selection_select_iter (selection, &iter);
if (gpk_application_state_get_checkbox (state)) {
- gpk_application_remove (NULL);
+ gpk_application_remove (priv);
} else {
- gpk_application_install (NULL);
+ gpk_application_install (priv);
}
gtk_tree_path_free (path);
}
-static void gpk_application_packages_treeview_clicked_cb (GtkTreeSelection *selection, gpointer user_data);
+static void gpk_application_packages_treeview_clicked_cb (GtkTreeSelection *selection, GpkApplicationPrivate *priv);
/**
* gpk_application_button_help_cb:
**/
static void
-gpk_application_button_help_cb (GtkWidget *widget_button, gpointer user_data)
+gpk_application_button_help_cb (GtkWidget *widget_button, GpkApplicationPrivate *priv)
{
gpk_gnome_help ("add-remove");
}
@@ -1885,7 +1888,7 @@ gpk_application_button_help_cb (GtkWidget *widget_button, gpointer user_data)
* gpk_application_button_clear_cb:
**/
static void
-gpk_application_button_clear_cb (GtkWidget *widget_button, gpointer user_data)
+gpk_application_button_clear_cb (GtkWidget *widget_button, GpkApplicationPrivate *priv)
{
GtkTreeView *treeview;
gboolean valid;
@@ -1898,7 +1901,7 @@ gpk_application_button_clear_cb (GtkWidget *widget_button, gpointer user_data)
gboolean ret;
/* get the first iter in the array */
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_packages"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_packages"));
model = gtk_tree_view_get_model (treeview);
valid = gtk_tree_model_get_iter_first (model, &iter);
@@ -1923,20 +1926,20 @@ gpk_application_button_clear_cb (GtkWidget *widget_button, gpointer user_data)
}
/* clear queue */
- pk_package_sack_clear (package_sack);
+ pk_package_sack_clear (priv->package_sack);
/* force a button refresh */
selection = gtk_tree_view_get_selection (treeview);
- gpk_application_packages_treeview_clicked_cb (selection, NULL);
+ gpk_application_packages_treeview_clicked_cb (selection, priv);
- gpk_application_set_buttons_apply_clear (NULL);
+ gpk_application_set_buttons_apply_clear (priv);
}
/**
* gpk_application_install_packages_cb:
**/
static void
-gpk_application_install_packages_cb (PkTask *_task, GAsyncResult *res, gpointer user_data)
+gpk_application_install_packages_cb (PkTask *task, GAsyncResult *res, GpkApplicationPrivate *priv)
{
PkResults *results;
GError *error = NULL;
@@ -1959,7 +1962,7 @@ gpk_application_install_packages_cb (PkTask *_task, GAsyncResult *res, gpointer
/* if obvious message, don't tell the user */
if (pk_error_get_code (error_code) != PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window, gpk_error_enum_to_localised_text (pk_error_get_code (error_code)),
gpk_error_enum_to_localised_message (pk_error_get_code (error_code)), pk_error_get_details (error_code));
}
@@ -1967,16 +1970,16 @@ gpk_application_install_packages_cb (PkTask *_task, GAsyncResult *res, gpointer
}
/* idle add in the background */
- idle_id = g_idle_add ((GSourceFunc) gpk_application_perform_search_idle_cb, NULL);
+ idle_id = g_idle_add ((GSourceFunc) gpk_application_perform_search_idle_cb, priv);
g_source_set_name_by_id (idle_id, "[GpkApplication] search");
/* find applications that were installed, and offer to run them */
- gpk_application_run_installed (results);
+ gpk_application_run_installed (priv, results);
/* clear if success */
- pk_package_sack_clear (package_sack);
- action = GPK_ACTION_NONE;
- gpk_application_set_buttons_apply_clear (NULL);
+ pk_package_sack_clear (priv->package_sack);
+ priv->action = GPK_ACTION_NONE;
+ gpk_application_set_buttons_apply_clear (priv);
out:
if (error_code != NULL)
g_object_unref (error_code);
@@ -1988,7 +1991,7 @@ out:
* gpk_application_remove_packages_cb:
**/
static void
-gpk_application_remove_packages_cb (PkTask *_task, GAsyncResult *res, gpointer user_data)
+gpk_application_remove_packages_cb (PkTask *task, GAsyncResult *res, GpkApplicationPrivate *priv)
{
PkResults *results;
GError *error = NULL;
@@ -2011,7 +2014,7 @@ gpk_application_remove_packages_cb (PkTask *_task, GAsyncResult *res, gpointer u
/* if obvious message, don't tell the user */
if (pk_error_get_code (error_code) != PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window, gpk_error_enum_to_localised_text (pk_error_get_code (error_code)),
gpk_error_enum_to_localised_message (pk_error_get_code (error_code)), pk_error_get_details (error_code));
}
@@ -2019,13 +2022,13 @@ gpk_application_remove_packages_cb (PkTask *_task, GAsyncResult *res, gpointer u
}
/* idle add in the background */
- idle_id = g_idle_add ((GSourceFunc) gpk_application_perform_search_idle_cb, NULL);
+ idle_id = g_idle_add ((GSourceFunc) gpk_application_perform_search_idle_cb, priv);
g_source_set_name_by_id (idle_id, "[GpkApplication] search");
/* clear if success */
- pk_package_sack_clear (package_sack);
- action = GPK_ACTION_NONE;
- gpk_application_set_buttons_apply_clear (NULL);
+ pk_package_sack_clear (priv->package_sack);
+ priv->action = GPK_ACTION_NONE;
+ gpk_application_set_buttons_apply_clear (priv);
out:
if (error_code != NULL)
g_object_unref (error_code);
@@ -2037,43 +2040,43 @@ out:
* gpk_application_button_apply_cb:
**/
static void
-gpk_application_button_apply_cb (GtkWidget *widget, gpointer user_data)
+gpk_application_button_apply_cb (GtkWidget *widget, GpkApplicationPrivate *priv)
{
gchar **package_ids = NULL;
gboolean autoremove;
/* ensure new action succeeds */
- g_cancellable_reset (cancellable);
+ g_cancellable_reset (priv->cancellable);
- package_ids = pk_package_sack_get_ids (package_sack);
- if (action == GPK_ACTION_INSTALL) {
+ package_ids = pk_package_sack_get_ids (priv->package_sack);
+ if (priv->action == GPK_ACTION_INSTALL) {
/* install */
- pk_task_install_packages_async (task, package_ids, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_install_packages_cb, NULL);
+ pk_task_install_packages_async (priv->task, package_ids, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_install_packages_cb, priv);
/* make package array insensitive */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "treeview_packages"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_packages"));
gtk_widget_set_sensitive (widget, FALSE);
/* make apply button insensitive */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_apply"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_apply"));
gtk_widget_set_sensitive (widget, FALSE);
- } else if (action == GPK_ACTION_REMOVE) {
- autoremove = g_settings_get_boolean (settings, GPK_SETTINGS_ENABLE_AUTOREMOVE);
+ } else if (priv->action == GPK_ACTION_REMOVE) {
+ autoremove = g_settings_get_boolean (priv->settings, GPK_SETTINGS_ENABLE_AUTOREMOVE);
/* remove */
- pk_task_remove_packages_async (task, package_ids, TRUE, autoremove, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_remove_packages_cb, NULL);
+ pk_task_remove_packages_async (priv->task, package_ids, TRUE, autoremove, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_remove_packages_cb, priv);
/* make package array insensitive */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "treeview_packages"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_packages"));
gtk_widget_set_sensitive (widget, FALSE);
/* make apply button insensitive */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_apply"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_apply"));
gtk_widget_set_sensitive (widget, FALSE);
}
g_strfreev (package_ids);
@@ -2081,17 +2084,17 @@ gpk_application_button_apply_cb (GtkWidget *widget, gpointer user_data)
}
static void
-gpk_application_packages_add_columns (gpointer user_data)
+gpk_application_packages_add_columns (GpkApplicationPrivate *priv)
{
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
GtkTreeView *treeview;
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_packages"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_packages"));
/* column for installed toggles */
renderer = gtk_cell_renderer_toggle_new ();
- g_signal_connect (renderer, "toggled", G_CALLBACK (gpk_application_packages_installed_clicked_cb), NULL);
+ g_signal_connect (renderer, "toggled", G_CALLBACK (gpk_application_packages_installed_clicked_cb), priv);
/* TRANSLATORS: column for installed status */
column = gtk_tree_view_column_new_with_attributes (_("Installed"), renderer,
@@ -2144,7 +2147,7 @@ gpk_application_groups_add_columns (GtkTreeView *treeview)
* gpk_application_groups_treeview_changed_cb:
**/
static void
-gpk_application_groups_treeview_changed_cb (GtkTreeSelection *selection, gpointer user_data)
+gpk_application_groups_treeview_changed_cb (GtkTreeSelection *selection, GpkApplicationPrivate *priv)
{
GtkTreeModel *model;
GtkTreeIter iter;
@@ -2154,20 +2157,20 @@ gpk_application_groups_treeview_changed_cb (GtkTreeSelection *selection, gpointe
/* hide details */
g_debug ("CLEAR tv changed");
- gpk_application_clear_details (NULL);
- gpk_application_clear_packages (NULL);
+ gpk_application_clear_details (priv);
+ gpk_application_clear_packages (priv);
/* clear the search text if we clicked the group array */
- entry = GTK_ENTRY (gtk_builder_get_object (builder, "entry_text"));
+ entry = GTK_ENTRY (gtk_builder_get_object (priv->builder, "entry_text"));
gtk_entry_set_text (entry, "");
/* This will only work in single or browse selection mode! */
if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
- g_free (search_group);
+ g_free (priv->search_group);
gtk_tree_model_get (model, &iter,
- GROUPS_COLUMN_ID, &search_group,
+ GROUPS_COLUMN_ID, &priv->search_group,
GROUPS_COLUMN_ACTIVE, &active, -1);
- g_debug ("selected row is: %s (%i)", search_group, active);
+ g_debug ("selected row is: %s (%i)", priv->search_group, active);
/* don't search parent groups */
if (!active) {
@@ -2180,15 +2183,15 @@ gpk_application_groups_treeview_changed_cb (GtkTreeSelection *selection, gpointe
}
/* GetPackages? */
- if (g_strcmp0 (search_group, "all-packages") == 0)
- search_mode = GPK_MODE_ALL_PACKAGES;
- else if (g_strcmp0 (search_group, "selected") == 0)
- search_mode = GPK_MODE_SELECTED;
+ if (g_strcmp0 (priv->search_group, "all-packages") == 0)
+ priv->search_mode = GPK_MODE_ALL_PACKAGES;
+ else if (g_strcmp0 (priv->search_group, "selected") == 0)
+ priv->search_mode = GPK_MODE_SELECTED;
else
- search_mode = GPK_MODE_GROUP;
+ priv->search_mode = GPK_MODE_GROUP;
/* actually do the search */
- gpk_application_perform_search (NULL);
+ gpk_application_perform_search (priv);
}
}
@@ -2196,7 +2199,7 @@ gpk_application_groups_treeview_changed_cb (GtkTreeSelection *selection, gpointe
* gpk_application_get_details_cb:
**/
static void
-gpk_application_get_details_cb (PkClient *client, GAsyncResult *res, gpointer user_data)
+gpk_application_get_details_cb (PkClient *client, GAsyncResult *res, GpkApplicationPrivate *priv)
{
PkResults *results;
GError *error = NULL;
@@ -2233,7 +2236,7 @@ gpk_application_get_details_cb (PkClient *client, GAsyncResult *res, gpointer us
/* if obvious message, don't tell the user */
if (pk_error_get_code (error_code) != PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window, gpk_error_enum_to_localised_text (pk_error_get_code (error_code)),
gpk_error_enum_to_localised_message (pk_error_get_code (error_code)), pk_error_get_details (error_code));
}
@@ -2251,10 +2254,10 @@ gpk_application_get_details_cb (PkClient *client, GAsyncResult *res, gpointer us
item = g_ptr_array_index (array, 0);
/* hide to start */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "scrolledwindow_detail"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "scrolledwindow_detail"));
gtk_widget_show (widget);
- gtk_list_store_clear (details_store);
+ gtk_list_store_clear (priv->details_store);
/* get data */
g_object_get (item,
@@ -2272,10 +2275,10 @@ gpk_application_get_details_cb (PkClient *client, GAsyncResult *res, gpointer us
/* if a collection, mark as such */
if (g_strcmp0 (split[PK_PACKAGE_ID_DATA], "meta") == 0)
/* TRANSLATORS: the type of package is a collection (metagroup) */
- gpk_application_add_detail_item (_("Type"), _("Collection"), NULL);
+ gpk_application_add_detail_item (priv, _("Type"), _("Collection"), NULL);
/* homepage */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_homepage"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_homepage"));
if (egg_strzero (url) == FALSE) {
gtk_widget_set_sensitive (widget, TRUE);
@@ -2285,11 +2288,11 @@ gpk_application_get_details_cb (PkClient *client, GAsyncResult *res, gpointer us
g_free (text);
/* TRANSLATORS: add an entry to go to the project home page */
- gpk_application_add_detail_item (_("Project"), _("Homepage"), url);
+ gpk_application_add_detail_item (priv, _("Project"), _("Homepage"), url);
/* save the url for the button */
- g_free (homepage_url);
- homepage_url = g_strdup (url);
+ g_free (priv->homepage_url);
+ priv->homepage_url = g_strdup (url);
} else {
gtk_widget_set_sensitive (widget, FALSE);
@@ -2299,18 +2302,18 @@ gpk_application_get_details_cb (PkClient *client, GAsyncResult *res, gpointer us
if (group != PK_GROUP_ENUM_UNKNOWN) {
group_text = gpk_group_enum_to_localised_text (group);
/* TRANSLATORS: the group the package belongs in */
- gpk_application_add_detail_item (_("Group"), group_text, NULL);
+ gpk_application_add_detail_item (priv, _("Group"), group_text, NULL);
}
/* group */
if (!egg_strzero (license)) {
/* TRANSLATORS: the licence string for the package */
- gpk_application_add_detail_item (_("License"), license, NULL);
+ gpk_application_add_detail_item (priv, _("License"), license, NULL);
}
/* set the description */
- text = gpk_application_text_format_display (description);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "textview_description"));
+ text = gpk_application_text_format_display (priv, description);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "textview_description"));
gpk_application_set_text_buffer (widget, text);
g_free (text);
@@ -2320,22 +2323,22 @@ gpk_application_get_details_cb (PkClient *client, GAsyncResult *res, gpointer us
value = g_format_size (size);
if (g_strcmp0 (split[PK_PACKAGE_ID_DATA], "meta") == 0)
/* TRANSLATORS: the size of the meta package */
- gpk_application_add_detail_item (_("Size"), value, NULL);
+ gpk_application_add_detail_item (priv, _("Size"), value, NULL);
else if (installed)
/* TRANSLATORS: the installed size in bytes of the package */
- gpk_application_add_detail_item (_("Installed size"), value, NULL);
+ gpk_application_add_detail_item (priv, _("Installed size"), value, NULL);
else
/* TRANSLATORS: the download size of the package */
- gpk_application_add_detail_item (_("Download size"), value, NULL);
+ gpk_application_add_detail_item (priv, _("Download size"), value, NULL);
g_free (value);
}
/* set the repo text, or hide if installed */
if (!installed && g_strcmp0 (split[PK_PACKAGE_ID_DATA], "meta") != 0) {
/* get the full name of the repo from the repo_id */
- repo_name = gpk_application_get_full_repo_name (split[PK_PACKAGE_ID_DATA]);
+ repo_name = gpk_application_get_full_repo_name (priv, split[PK_PACKAGE_ID_DATA]);
/* TRANSLATORS: where the package came from, the software source name */
- gpk_application_add_detail_item (_("Source"), repo_name, NULL);
+ gpk_application_add_detail_item (priv, _("Source"), repo_name, NULL);
}
out:
g_free (package_id);
@@ -2355,7 +2358,7 @@ out:
* gpk_application_packages_treeview_clicked_cb:
**/
static void
-gpk_application_packages_treeview_clicked_cb (GtkTreeSelection *selection, gpointer user_data)
+gpk_application_packages_treeview_clicked_cb (GtkTreeSelection *selection, GpkApplicationPrivate *priv)
{
GtkWidget *widget;
GtkTreeModel *model;
@@ -2372,13 +2375,13 @@ gpk_application_packages_treeview_clicked_cb (GtkTreeSelection *selection, gpoin
g_debug ("no row selected");
/* we cannot now add it */
- gpk_application_allow_install (FALSE);
- gpk_application_allow_remove (FALSE);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_selection"));
+ gpk_application_allow_install (priv, FALSE);
+ gpk_application_allow_remove (priv, FALSE);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_selection"));
gtk_widget_hide (widget);
/* hide details */
- gpk_application_clear_details (NULL);
+ gpk_application_clear_details (priv);
goto out;
}
@@ -2393,7 +2396,7 @@ gpk_application_packages_treeview_clicked_cb (GtkTreeSelection *selection, gpoin
}
/* show the menu item */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_selection"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_selection"));
gtk_widget_show (widget);
show_install = (state == 0 ||
@@ -2401,31 +2404,31 @@ gpk_application_packages_treeview_clicked_cb (GtkTreeSelection *selection, gpoin
show_remove = (state == pk_bitfield_value (GPK_STATE_INSTALLED) ||
state == pk_bitfield_value (GPK_STATE_IN_LIST));
- if (action == GPK_ACTION_INSTALL && !pk_bitfield_contain (state, GPK_STATE_IN_LIST))
+ if (priv->action == GPK_ACTION_INSTALL && !pk_bitfield_contain (state, GPK_STATE_IN_LIST))
show_remove = FALSE;
- if (action == GPK_ACTION_REMOVE && !pk_bitfield_contain (state, GPK_STATE_IN_LIST))
+ if (priv->action == GPK_ACTION_REMOVE && !pk_bitfield_contain (state, GPK_STATE_IN_LIST))
show_install = FALSE;
/* only show buttons if we are in the correct mode */
- gpk_application_allow_install (show_install);
- gpk_application_allow_remove (show_remove);
+ gpk_application_allow_install (priv, show_install);
+ gpk_application_allow_remove (priv, show_remove);
/* hide details */
- gpk_application_clear_details (NULL);
+ gpk_application_clear_details (priv);
/* only show run menuitem for installed programs */
ret = pk_bitfield_contain (state, GPK_STATE_INSTALLED);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_run"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_run"));
gtk_widget_set_sensitive (widget, ret);
/* ensure new action succeeds */
- g_cancellable_reset (cancellable);
+ g_cancellable_reset (priv->cancellable);
/* get the details */
package_ids = pk_package_ids_from_id (package_id);
- pk_client_get_details_async (PK_CLIENT(task), package_ids, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_get_details_cb, NULL);
+ pk_client_get_details_async (PK_CLIENT(priv->task), package_ids, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_get_details_cb, priv);
out:
g_free (package_id);
g_strfreev (package_ids);
@@ -2435,12 +2438,12 @@ out:
* gpk_application_notify_network_state_cb:
**/
static void
-gpk_application_notify_network_state_cb (PkControl *_control, GParamSpec *pspec, gpointer user_data)
+gpk_application_notify_network_state_cb (PkControl *_control, GParamSpec *pspec, GpkApplicationPrivate *priv)
{
PkNetworkEnum state;
/* show icon? */
- g_object_get (control,
+ g_object_get (priv->control,
"network-state", &state,
NULL);
g_debug ("state=%i", state);
@@ -2450,17 +2453,17 @@ gpk_application_notify_network_state_cb (PkControl *_control, GParamSpec *pspec,
* gpk_application_group_add_data:
**/
static void
-gpk_application_group_add_data (PkGroupEnum group)
+gpk_application_group_add_data (GpkApplicationPrivate *priv, PkGroupEnum group)
{
GtkTreeIter iter;
const gchar *icon_name;
const gchar *text;
- gtk_tree_store_append (groups_store, &iter, NULL);
+ gtk_tree_store_append (priv->groups_store, &iter, NULL);
text = gpk_group_enum_to_localised_text (group);
icon_name = gpk_group_enum_to_icon_name (group);
- gtk_tree_store_set (groups_store, &iter,
+ gtk_tree_store_set (priv->groups_store, &iter,
GROUPS_COLUMN_NAME, text,
GROUPS_COLUMN_SUMMARY, NULL,
GROUPS_COLUMN_ID, pk_group_enum_to_string (group),
@@ -2473,12 +2476,12 @@ gpk_application_group_add_data (PkGroupEnum group)
* gpk_application_group_add_selected:
**/
static void
-gpk_application_group_add_selected (gpointer user_data)
+gpk_application_group_add_selected (GpkApplicationPrivate *priv)
{
GtkTreeIter iter;
- gtk_tree_store_append (groups_store, &iter, NULL);
- gtk_tree_store_set (groups_store, &iter,
+ gtk_tree_store_append (priv->groups_store, &iter, NULL);
+ gtk_tree_store_set (priv->groups_store, &iter,
/* TRANSLATORS: this is a menu group of packages in the queue */
GROUPS_COLUMN_NAME, _("Selected packages"),
GROUPS_COLUMN_SUMMARY, NULL,
@@ -2492,7 +2495,7 @@ gpk_application_group_add_selected (gpointer user_data)
* gpk_application_popup_position_menu:
**/
static void
-gpk_application_popup_position_menu (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data)
+gpk_application_popup_position_menu (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, GpkApplicationPrivate *priv)
{
GtkWidget *widget;
GdkWindow *window;
@@ -2500,7 +2503,7 @@ gpk_application_popup_position_menu (GtkMenu *menu, gint *x, gint *y, gboolean *
gint menu_xpos = 0;
gint menu_ypos = 0;
- widget = GTK_WIDGET (user_data);
+ widget = GTK_WIDGET (menu);
/* find the location */
window = gtk_widget_get_window (widget);
@@ -2517,21 +2520,21 @@ gpk_application_popup_position_menu (GtkMenu *menu, gint *x, gint *y, gboolean *
* gpk_application_menu_search_by_name:
**/
static void
-gpk_application_menu_search_by_name (GtkMenuItem *item, gpointer data)
+gpk_application_menu_search_by_name (GtkMenuItem *item, GpkApplicationPrivate *priv)
{
GtkWidget *widget;
/* change type */
- search_type = GPK_SEARCH_NAME;
- g_debug ("set search type=%i", search_type);
+ priv->search_type = GPK_SEARCH_NAME;
+ g_debug ("set search type=%i", priv->search_type);
/* save default to GSettings */
- g_settings_set_enum (settings,
+ g_settings_set_enum (priv->settings,
GPK_SETTINGS_SEARCH_MODE,
- search_type);
+ priv->search_type);
/* set the new icon */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "entry_text"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_text"));
/* TRANSLATORS: entry tooltip: basic search */
gtk_widget_set_tooltip_text (widget, _("Searching by name"));
gtk_entry_set_icon_from_stock (GTK_ENTRY (widget), GTK_ENTRY_ICON_PRIMARY, GTK_STOCK_FIND);
@@ -2541,21 +2544,21 @@ gpk_application_menu_search_by_name (GtkMenuItem *item, gpointer data)
* gpk_application_menu_search_by_description:
**/
static void
-gpk_application_menu_search_by_description (GtkMenuItem *item, gpointer data)
+gpk_application_menu_search_by_description (GtkMenuItem *item, GpkApplicationPrivate *priv)
{
GtkWidget *widget;
/* set type */
- search_type = GPK_SEARCH_DETAILS;
- g_debug ("set search type=%i", search_type);
+ priv->search_type = GPK_SEARCH_DETAILS;
+ g_debug ("set search type=%i", priv->search_type);
/* save default to GSettings */
- g_settings_set_enum (settings,
+ g_settings_set_enum (priv->settings,
GPK_SETTINGS_SEARCH_MODE,
- search_type);
+ priv->search_type);
/* set the new icon */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "entry_text"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_text"));
/* TRANSLATORS: entry tooltip: detailed search */
gtk_widget_set_tooltip_text (widget, _("Searching by description"));
gtk_entry_set_icon_from_stock (GTK_ENTRY (widget), GTK_ENTRY_ICON_PRIMARY, GTK_STOCK_EDIT);
@@ -2565,21 +2568,21 @@ gpk_application_menu_search_by_description (GtkMenuItem *item, gpointer data)
* gpk_application_menu_search_by_file:
**/
static void
-gpk_application_menu_search_by_file (GtkMenuItem *item, gpointer data)
+gpk_application_menu_search_by_file (GtkMenuItem *item, GpkApplicationPrivate *priv)
{
GtkWidget *widget;
/* set type */
- search_type = GPK_SEARCH_FILE;
- g_debug ("set search type=%i", search_type);
+ priv->search_type = GPK_SEARCH_FILE;
+ g_debug ("set search type=%i", priv->search_type);
/* save default to GSettings */
- g_settings_set_enum (settings,
+ g_settings_set_enum (priv->settings,
GPK_SETTINGS_SEARCH_MODE,
- search_type);
+ priv->search_type);
/* set the new icon */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "entry_text"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_text"));
/* TRANSLATORS: entry tooltip: file search */
gtk_widget_set_tooltip_text (widget, _("Searching by file"));
gtk_entry_set_icon_from_stock (GTK_ENTRY (widget), GTK_ENTRY_ICON_PRIMARY, GTK_STOCK_OPEN);
@@ -2589,7 +2592,7 @@ gpk_application_menu_search_by_file (GtkMenuItem *item, gpointer data)
* gpk_application_entry_text_icon_press_cb:
**/
static void
-gpk_application_entry_text_icon_press_cb (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEventButton *event, gpointer data)
+gpk_application_entry_text_icon_press_cb (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEventButton *event, GpkApplicationPrivate *priv)
{
GtkMenu *menu = (GtkMenu*) gtk_menu_new ();
GtkWidget *item;
@@ -2601,42 +2604,42 @@ gpk_application_entry_text_icon_press_cb (GtkEntry *entry, GtkEntryIconPosition
g_debug ("icon_pos=%i", icon_pos);
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_SEARCH_NAME)) {
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_SEARCH_NAME)) {
/* TRANSLATORS: context menu item for the search type icon */
item = gtk_image_menu_item_new_with_mnemonic (_("Search by name"));
image = gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE);
g_signal_connect (G_OBJECT (item), "activate",
- G_CALLBACK (gpk_application_menu_search_by_name), NULL);
+ G_CALLBACK (gpk_application_menu_search_by_name), priv);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
}
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_SEARCH_DETAILS)) {
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_SEARCH_DETAILS)) {
/* TRANSLATORS: context menu item for the search type icon */
item = gtk_image_menu_item_new_with_mnemonic (_("Search by description"));
image = gtk_image_new_from_stock (GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE);
g_signal_connect (G_OBJECT (item), "activate",
- G_CALLBACK (gpk_application_menu_search_by_description), NULL);
+ G_CALLBACK (gpk_application_menu_search_by_description), priv);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
}
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_SEARCH_FILE)) {
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_SEARCH_FILE)) {
/* TRANSLATORS: context menu item for the search type icon */
item = gtk_image_menu_item_new_with_mnemonic (_("Search by file name"));
image = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE);
g_signal_connect (G_OBJECT (item), "activate",
- G_CALLBACK (gpk_application_menu_search_by_file), NULL);
+ G_CALLBACK (gpk_application_menu_search_by_file), priv);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
}
gtk_widget_show_all (GTK_WIDGET (menu));
gtk_menu_popup (GTK_MENU (menu), NULL, NULL,
- gpk_application_popup_position_menu, entry,
+ (GtkMenuPositionFunc) gpk_application_popup_position_menu, entry,
event->button, event->time);
}
@@ -2644,7 +2647,7 @@ gpk_application_entry_text_icon_press_cb (GtkEntry *entry, GtkEntryIconPosition
* gpk_application_menu_help_cb:
**/
static void
-gpk_application_menu_help_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_help_cb (GtkAction *_action, GpkApplicationPrivate *priv)
{
gpk_gnome_help ("add-remove");
}
@@ -2653,7 +2656,7 @@ gpk_application_menu_help_cb (GtkAction *_action, gpointer user_data)
* gpk_application_menu_about_cb:
**/
static void
-gpk_application_menu_about_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_about_cb (GtkAction *_action, GpkApplicationPrivate *priv)
{
GtkWidget *main_window;
const char *authors[] = {
@@ -2693,7 +2696,7 @@ gpk_application_menu_about_cb (GtkAction *_action, gpointer user_data)
_(license[2]), "\n\n", _(license[3]), "\n", NULL);
/* use parent */
- main_window = GTK_WIDGET (gtk_builder_get_object (builder, "window_manager"));
+ main_window = GTK_WIDGET (gtk_builder_get_object (priv->builder, "window_manager"));
gtk_window_set_default_icon_name (GPK_ICON_SOFTWARE_INSTALLER);
gtk_show_about_dialog (GTK_WINDOW (main_window),
@@ -2718,7 +2721,7 @@ gpk_application_menu_about_cb (GtkAction *_action, gpointer user_data)
* gpk_application_menu_sources_cb:
**/
static void
-gpk_application_menu_sources_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_sources_cb (GtkAction *_action, GpkApplicationPrivate *priv)
{
gboolean ret;
guint xid;
@@ -2726,7 +2729,7 @@ gpk_application_menu_sources_cb (GtkAction *_action, gpointer user_data)
GtkWidget *window;
/* get xid */
- window = GTK_WIDGET (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WIDGET (gtk_builder_get_object (priv->builder, "window_manager"));
xid = gdk_x11_window_get_xid (gtk_widget_get_window (window));
command = g_strdup_printf ("%s/gpk-prefs --parent-window %u", BINDIR, xid);
@@ -2742,7 +2745,7 @@ gpk_application_menu_sources_cb (GtkAction *_action, gpointer user_data)
* gpk_application_menu_log_cb:
**/
static void
-gpk_application_menu_log_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_log_cb (GtkAction *_action, GpkApplicationPrivate *priv)
{
gboolean ret;
guint xid;
@@ -2750,7 +2753,7 @@ gpk_application_menu_log_cb (GtkAction *_action, gpointer user_data)
GtkWidget *window;
/* get xid */
- window = GTK_WIDGET (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WIDGET (gtk_builder_get_object (priv->builder, "window_manager"));
xid = gdk_x11_window_get_xid (gtk_widget_get_window (window));
command = g_strdup_printf ("%s/gpk-log --parent-window %u", BINDIR, xid);
@@ -2766,7 +2769,7 @@ gpk_application_menu_log_cb (GtkAction *_action, gpointer user_data)
* gpk_application_refresh_cache_cb:
**/
static void
-gpk_application_refresh_cache_cb (PkClient *client, GAsyncResult *res, gpointer user_data)
+gpk_application_refresh_cache_cb (PkClient *client, GAsyncResult *res, GpkApplicationPrivate *priv)
{
PkResults *results;
GError *error = NULL;
@@ -2788,7 +2791,7 @@ gpk_application_refresh_cache_cb (PkClient *client, GAsyncResult *res, gpointer
/* if obvious message, don't tell the user */
if (pk_error_get_code (error_code) != PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window, gpk_error_enum_to_localised_text (pk_error_get_code (error_code)),
gpk_error_enum_to_localised_message (pk_error_get_code (error_code)), pk_error_get_details (error_code));
}
@@ -2805,14 +2808,14 @@ out:
* gpk_application_menu_refresh_cb:
**/
static void
-gpk_application_menu_refresh_cb (GtkAction *_action, gpointer user_data)
+gpk_application_menu_refresh_cb (GtkAction *_action, GpkApplicationPrivate *priv)
{
/* ensure new action succeeds */
- g_cancellable_reset (cancellable);
+ g_cancellable_reset (priv->cancellable);
- pk_task_refresh_cache_async (task, TRUE, cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_refresh_cache_cb, NULL);
+ pk_task_refresh_cache_async (priv->task, TRUE, priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_refresh_cache_cb, priv);
}
/**
@@ -2820,7 +2823,7 @@ gpk_application_menu_refresh_cb (GtkAction *_action, gpointer user_data)
* @widget: The GtkWidget object
**/
static void
-gpk_application_menu_filter_installed_cb (GtkWidget *widget, gpointer user_data)
+gpk_application_menu_filter_installed_cb (GtkWidget *widget, GpkApplicationPrivate *priv)
{
const gchar *name;
@@ -2832,18 +2835,18 @@ gpk_application_menu_filter_installed_cb (GtkWidget *widget, gpointer user_data)
/* set new filter */
if (g_str_has_suffix (name, "_yes")) {
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_INSTALLED);
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_NOT_INSTALLED);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_INSTALLED);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_NOT_INSTALLED);
} else if (g_str_has_suffix (name, "_no")) {
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_INSTALLED);
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_NOT_INSTALLED);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_INSTALLED);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_NOT_INSTALLED);
} else {
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_INSTALLED);
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_NOT_INSTALLED);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_INSTALLED);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_NOT_INSTALLED);
}
/* refresh the search results */
- gpk_application_perform_search (NULL);
+ gpk_application_perform_search (priv);
}
/**
@@ -2851,7 +2854,7 @@ gpk_application_menu_filter_installed_cb (GtkWidget *widget, gpointer user_data)
* @widget: The GtkWidget object
**/
static void
-gpk_application_menu_filter_devel_cb (GtkWidget *widget, gpointer user_data)
+gpk_application_menu_filter_devel_cb (GtkWidget *widget, GpkApplicationPrivate *priv)
{
const gchar *name;
@@ -2863,19 +2866,19 @@ gpk_application_menu_filter_devel_cb (GtkWidget *widget, gpointer user_data)
/* set new filter */
if (g_str_has_suffix (name, "_yes")) {
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_DEVELOPMENT);
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_NOT_DEVELOPMENT);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_DEVELOPMENT);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_NOT_DEVELOPMENT);
} else if (g_str_has_suffix (name, "_no")) {
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_DEVELOPMENT);
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_NOT_DEVELOPMENT);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_DEVELOPMENT);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_NOT_DEVELOPMENT);
} else {
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_DEVELOPMENT);
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_NOT_DEVELOPMENT);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_DEVELOPMENT);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_NOT_DEVELOPMENT);
}
/* refresh the search results */
g_debug ("search devel clicked");
- gpk_application_perform_search (NULL);
+ gpk_application_perform_search (priv);
}
/**
@@ -2883,7 +2886,7 @@ gpk_application_menu_filter_devel_cb (GtkWidget *widget, gpointer user_data)
* @widget: The GtkWidget object
**/
static void
-gpk_application_menu_filter_gui_cb (GtkWidget *widget, gpointer user_data)
+gpk_application_menu_filter_gui_cb (GtkWidget *widget, GpkApplicationPrivate *priv)
{
const gchar *name;
@@ -2895,18 +2898,18 @@ gpk_application_menu_filter_gui_cb (GtkWidget *widget, gpointer user_data)
/* set new filter */
if (g_str_has_suffix (name, "_yes")) {
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_GUI);
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_NOT_GUI);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_GUI);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_NOT_GUI);
} else if (g_str_has_suffix (name, "_no")) {
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_GUI);
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_NOT_GUI);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_GUI);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_NOT_GUI);
} else {
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_GUI);
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_NOT_GUI);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_GUI);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_NOT_GUI);
}
/* refresh the search results */
- gpk_application_perform_search (NULL);
+ gpk_application_perform_search (priv);
}
/**
@@ -2914,7 +2917,7 @@ gpk_application_menu_filter_gui_cb (GtkWidget *widget, gpointer user_data)
* @widget: The GtkWidget object
**/
static void
-gpk_application_menu_filter_free_cb (GtkWidget *widget, gpointer user_data)
+gpk_application_menu_filter_free_cb (GtkWidget *widget, GpkApplicationPrivate *priv)
{
const gchar *name;
@@ -2926,18 +2929,18 @@ gpk_application_menu_filter_free_cb (GtkWidget *widget, gpointer user_data)
/* set new filter */
if (g_str_has_suffix (name, "_yes")) {
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_FREE);
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_NOT_FREE);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_FREE);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_NOT_FREE);
} else if (g_str_has_suffix (name, "_no")) {
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_FREE);
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_NOT_FREE);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_FREE);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_NOT_FREE);
} else {
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_FREE);
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_NOT_FREE);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_FREE);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_NOT_FREE);
}
/* refresh the search results */
- gpk_application_perform_search (NULL);
+ gpk_application_perform_search (priv);
}
/**
@@ -2945,7 +2948,7 @@ gpk_application_menu_filter_free_cb (GtkWidget *widget, gpointer user_data)
* @widget: The GtkWidget object
**/
static void
-gpk_application_menu_filter_source_cb (GtkWidget *widget, gpointer user_data)
+gpk_application_menu_filter_source_cb (GtkWidget *widget, GpkApplicationPrivate *priv)
{
const gchar *name;
@@ -2957,18 +2960,18 @@ gpk_application_menu_filter_source_cb (GtkWidget *widget, gpointer user_data)
/* set new filter */
if (g_str_has_suffix (name, "_yes")) {
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_SOURCE);
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_NOT_SOURCE);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_SOURCE);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_NOT_SOURCE);
} else if (g_str_has_suffix (name, "_no")) {
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_SOURCE);
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_NOT_SOURCE);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_SOURCE);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_NOT_SOURCE);
} else {
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_SOURCE);
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_NOT_SOURCE);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_SOURCE);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_NOT_SOURCE);
}
/* refresh the sesource results */
- gpk_application_perform_search (NULL);
+ gpk_application_perform_search (priv);
}
/**
@@ -2976,23 +2979,23 @@ gpk_application_menu_filter_source_cb (GtkWidget *widget, gpointer user_data)
* @widget: The GtkWidget object
**/
static void
-gpk_application_menu_filter_basename_cb (GtkWidget *widget, gpointer user_data)
+gpk_application_menu_filter_basename_cb (GtkWidget *widget, GpkApplicationPrivate *priv)
{
gboolean enabled;
/* save users preference to GSettings */
enabled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
- g_settings_set_boolean (settings,
+ g_settings_set_boolean (priv->settings,
GPK_SETTINGS_FILTER_BASENAME, enabled);
/* change the filter */
if (enabled)
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_BASENAME);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_BASENAME);
else
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_BASENAME);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_BASENAME);
/* refresh the search results */
- gpk_application_perform_search (NULL);
+ gpk_application_perform_search (priv);
}
/**
@@ -3000,23 +3003,23 @@ gpk_application_menu_filter_basename_cb (GtkWidget *widget, gpointer user_data)
* @widget: The GtkWidget object
**/
static void
-gpk_application_menu_filter_newest_cb (GtkWidget *widget, gpointer user_data)
+gpk_application_menu_filter_newest_cb (GtkWidget *widget, GpkApplicationPrivate *priv)
{
gboolean enabled;
/* save users preference to GSettings */
enabled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
- g_settings_set_boolean (settings,
+ g_settings_set_boolean (priv->settings,
GPK_SETTINGS_FILTER_NEWEST, enabled);
/* change the filter */
if (enabled)
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_NEWEST);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_NEWEST);
else
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_NEWEST);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_NEWEST);
/* refresh the search results */
- gpk_application_perform_search (NULL);
+ gpk_application_perform_search (priv);
}
/**
@@ -3024,23 +3027,23 @@ gpk_application_menu_filter_newest_cb (GtkWidget *widget, gpointer user_data)
* @widget: The GtkWidget object
**/
static void
-gpk_application_menu_filter_supported_cb (GtkWidget *widget, gpointer user_data)
+gpk_application_menu_filter_supported_cb (GtkWidget *widget, GpkApplicationPrivate *priv)
{
gboolean enabled;
/* save users preference to GSettings */
enabled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
- g_settings_set_boolean (settings,
+ g_settings_set_boolean (priv->settings,
GPK_SETTINGS_FILTER_SUPPORTED, enabled);
/* change the filter */
if (enabled)
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_SUPPORTED);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_SUPPORTED);
else
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_SUPPORTED);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_SUPPORTED);
/* refresh the search results */
- gpk_application_perform_search (NULL);
+ gpk_application_perform_search (priv);
}
/**
@@ -3048,23 +3051,23 @@ gpk_application_menu_filter_supported_cb (GtkWidget *widget, gpointer user_data)
* @widget: The GtkWidget object
**/
static void
-gpk_application_menu_filter_arch_cb (GtkWidget *widget, gpointer user_data)
+gpk_application_menu_filter_arch_cb (GtkWidget *widget, GpkApplicationPrivate *priv)
{
gboolean enabled;
/* save users preference to GSettings */
enabled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
- g_settings_set_boolean (settings,
+ g_settings_set_boolean (priv->settings,
GPK_SETTINGS_FILTER_ARCH, enabled);
/* change the filter */
if (enabled)
- pk_bitfield_add (filters_current, PK_FILTER_ENUM_ARCH);
+ pk_bitfield_add (priv->filters_current, PK_FILTER_ENUM_ARCH);
else
- pk_bitfield_remove (filters_current, PK_FILTER_ENUM_ARCH);
+ pk_bitfield_remove (priv->filters_current, PK_FILTER_ENUM_ARCH);
/* refresh the search results */
- gpk_application_perform_search (NULL);
+ gpk_application_perform_search (priv);
}
/**
@@ -3072,7 +3075,7 @@ gpk_application_menu_filter_arch_cb (GtkWidget *widget, gpointer user_data)
**/
static void
gpk_application_package_row_activated_cb (GtkTreeView *treeview, GtkTreePath *path,
- GtkTreeViewColumn *col, gpointer user_data)
+ GtkTreeViewColumn *col, GpkApplicationPrivate *priv)
{
GtkTreeModel *model;
GtkTreeIter iter;
@@ -3101,9 +3104,9 @@ gpk_application_package_row_activated_cb (GtkTreeView *treeview, GtkTreePath *pa
}
if (gpk_application_state_get_checkbox (state))
- gpk_application_remove (NULL);
+ gpk_application_remove (priv);
else
- gpk_application_install (NULL);
+ gpk_application_install (priv);
out:
g_free (package_id);
}
@@ -3112,7 +3115,7 @@ out:
* gpk_application_group_row_separator_func:
**/
static gboolean
-gpk_application_group_row_separator_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
+gpk_application_group_row_separator_func (GtkTreeModel *model, GtkTreeIter *iter, GpkApplicationPrivate *priv)
{
gchar *name = NULL;
gboolean ret;
@@ -3126,7 +3129,7 @@ gpk_application_group_row_separator_func (GtkTreeModel *model, GtkTreeIter *iter
* gpk_application_treeview_renderer_clicked:
**/
static void
-gpk_application_treeview_renderer_clicked (GtkCellRendererToggle *cell, gchar *uri, gpointer user_data)
+gpk_application_treeview_renderer_clicked (GtkCellRendererToggle *cell, gchar *uri, GpkApplicationPrivate *priv)
{
g_debug ("clicked %s", uri);
gpk_gnome_open (uri);
@@ -3136,13 +3139,13 @@ gpk_application_treeview_renderer_clicked (GtkCellRendererToggle *cell, gchar *u
* gpk_application_treeview_add_columns_description:
**/
static void
-gpk_application_treeview_add_columns_description (gpointer user_data)
+gpk_application_treeview_add_columns_description (GpkApplicationPrivate *priv)
{
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
GtkTreeView *treeview;
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_detail"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_detail"));
/* title */
column = gtk_tree_view_column_new ();
@@ -3153,7 +3156,7 @@ gpk_application_treeview_add_columns_description (gpointer user_data)
/* column for uris */
renderer = gpk_cell_renderer_uri_new ();
- g_signal_connect (renderer, "clicked", G_CALLBACK (gpk_application_treeview_renderer_clicked), NULL);
+ g_signal_connect (renderer, "clicked", G_CALLBACK (gpk_application_treeview_renderer_clicked), priv);
/* TRANSLATORS: single column for the package details, not visible at the moment */
column = gtk_tree_view_column_new_with_attributes (_("Text"), renderer,
"text", DETAIL_COLUMN_TEXT,
@@ -3166,25 +3169,25 @@ gpk_application_treeview_add_columns_description (gpointer user_data)
* gpk_application_add_welcome:
**/
static void
-gpk_application_add_welcome (gpointer user_data)
+gpk_application_add_welcome (GpkApplicationPrivate *priv)
{
GtkTreeIter iter;
const gchar *welcome;
PkBitfield state = 0;
g_debug ("CLEAR welcome");
- gpk_application_clear_packages (NULL);
- gtk_list_store_append (packages_store, &iter);
+ gpk_application_clear_packages (priv);
+ gtk_list_store_append (priv->packages_store, &iter);
/* enter something nice */
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_SEARCH_GROUP)) {
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_SEARCH_GROUP)) {
/* TRANSLATORS: welcome text if we can click the group array */
welcome = _("Enter a search word and then click find, or click a group to get started.");
} else {
/* TRANSLATORS: welcome text if we have to search by name */
welcome = _("Enter a search word and then click find to get started.");
}
- gtk_list_store_set (packages_store, &iter,
+ gtk_list_store_set (priv->packages_store, &iter,
PACKAGES_COLUMN_STATE, state,
PACKAGES_COLUMN_CHECKBOX, FALSE,
PACKAGES_COLUMN_CHECKBOX_VISIBLE, FALSE,
@@ -3199,23 +3202,23 @@ gpk_application_add_welcome (gpointer user_data)
* gpk_application_create_group_array_enum:
**/
static void
-gpk_application_create_group_array_enum (gpointer user_data)
+gpk_application_create_group_array_enum (GpkApplicationPrivate *priv)
{
GtkWidget *widget;
guint i;
/* set to no indent */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "treeview_groups"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_groups"));
gtk_tree_view_set_show_expanders (GTK_TREE_VIEW (widget), FALSE);
gtk_tree_view_set_level_indentation (GTK_TREE_VIEW (widget), 0);
/* create group tree view if we can search by group */
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_SEARCH_GROUP)) {
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_SEARCH_GROUP)) {
/* add all the groups supported (except collections, which we handled above */
for (i=0; i<PK_GROUP_ENUM_LAST; i++) {
- if (pk_bitfield_contain (groups, i) &&
+ if (pk_bitfield_contain (priv->groups, i) &&
i != PK_GROUP_ENUM_COLLECTIONS && i != PK_GROUP_ENUM_NEWEST)
- gpk_application_group_add_data (i);
+ gpk_application_group_add_data (priv, i);
}
}
}
@@ -3224,7 +3227,7 @@ gpk_application_create_group_array_enum (gpointer user_data)
* gpk_application_get_categories_cb:
**/
static void
-gpk_application_get_categories_cb (PkClient *client, GAsyncResult *res, gpointer user_data)
+gpk_application_get_categories_cb (PkClient *client, GAsyncResult *res, GpkApplicationPrivate *priv)
{
PkResults *results;
GError *error = NULL;
@@ -3263,7 +3266,7 @@ gpk_application_get_categories_cb (PkClient *client, GAsyncResult *res, gpointer
/* if obvious message, don't tell the user */
if (pk_error_get_code (error_code) != PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window, gpk_error_enum_to_localised_text (pk_error_get_code (error_code)),
gpk_error_enum_to_localised_message (pk_error_get_code (error_code)), pk_error_get_details (error_code));
}
@@ -3271,7 +3274,7 @@ gpk_application_get_categories_cb (PkClient *client, GAsyncResult *res, gpointer
}
/* set to expanders with indent */
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "treeview_groups"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_groups"));
gtk_tree_view_set_show_expanders (treeview, TRUE);
gtk_tree_view_set_level_indentation (treeview, 3);
@@ -3286,8 +3289,8 @@ gpk_application_get_categories_cb (PkClient *client, GAsyncResult *res, gpointer
"icon", &icon,
NULL);
- gtk_tree_store_append (groups_store, &iter, NULL);
- gtk_tree_store_set (groups_store, &iter,
+ gtk_tree_store_append (priv->groups_store, &iter, NULL);
+ gtk_tree_store_set (priv->groups_store, &iter,
GROUPS_COLUMN_NAME, name,
GROUPS_COLUMN_SUMMARY, summary,
GROUPS_COLUMN_ID, cat_id,
@@ -3306,8 +3309,8 @@ gpk_application_get_categories_cb (PkClient *client, GAsyncResult *res, gpointer
"icon", &icon_tmp,
NULL);
if (g_strcmp0 (parent_id_tmp, cat_id) == 0) {
- gtk_tree_store_append (groups_store, &iter2, &iter);
- gtk_tree_store_set (groups_store, &iter2,
+ gtk_tree_store_append (priv->groups_store, &iter2, &iter);
+ gtk_tree_store_set (priv->groups_store, &iter2,
GROUPS_COLUMN_NAME, name_tmp,
GROUPS_COLUMN_SUMMARY, summary_tmp,
GROUPS_COLUMN_ID, cat_id_tmp,
@@ -3346,15 +3349,15 @@ out:
* gpk_application_create_group_array_categories:
**/
static void
-gpk_application_create_group_array_categories (gpointer user_data)
+gpk_application_create_group_array_categories (GpkApplicationPrivate *priv)
{
/* ensure new action succeeds */
- g_cancellable_reset (cancellable);
+ g_cancellable_reset (priv->cancellable);
/* get categories supported */
- pk_client_get_categories_async (PK_CLIENT(task), cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_get_categories_cb, NULL);
+ pk_client_get_categories_async (PK_CLIENT(priv->task), priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_get_categories_cb, priv);
}
/**
@@ -3363,22 +3366,22 @@ gpk_application_create_group_array_categories (gpointer user_data)
* We might have to do things when the keys change; do them here.
**/
static void
-gpk_application_key_changed_cb (GSettings *_settings, const gchar *key, gpointer user_data)
+gpk_application_key_changed_cb (GSettings *_settings, const gchar *key, GpkApplicationPrivate *priv)
{
GtkEntryCompletion *completion;
gboolean ret;
GtkEntry *entry;
if (g_strcmp0 (key, GPK_SETTINGS_CATEGORY_GROUPS) == 0) {
- ret = g_settings_get_boolean (settings, key);
- gtk_tree_store_clear (groups_store);
+ ret = g_settings_get_boolean (priv->settings, key);
+ gtk_tree_store_clear (priv->groups_store);
if (ret)
- gpk_application_create_group_array_categories (NULL);
+ gpk_application_create_group_array_categories (priv);
else
- gpk_application_create_group_array_enum (NULL);
+ gpk_application_create_group_array_enum (priv);
} else if (g_strcmp0 (key, GPK_SETTINGS_AUTOCOMPLETE) == 0) {
- ret = g_settings_get_boolean (settings, key);
- entry = GTK_ENTRY (gtk_builder_get_object (builder, "entry_text"));
+ ret = g_settings_get_boolean (priv->settings, key);
+ entry = GTK_ENTRY (gtk_builder_get_object (priv->builder, "entry_text"));
if (ret) {
completion = gpk_package_entry_completion_new ();
gtk_entry_set_completion (entry, completion);
@@ -3393,11 +3396,11 @@ gpk_application_key_changed_cb (GSettings *_settings, const gchar *key, gpointer
* pk_backend_status_get_properties_cb:
**/
static void
-pk_backend_status_get_properties_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+pk_backend_status_get_properties_cb (GObject *object, GAsyncResult *res, GpkApplicationPrivate *priv)
{
GtkWidget *widget;
GError *error = NULL;
-// PkControl *control = PK_CONTROL(object);
+ PkControl *control = PK_CONTROL(object);
gboolean ret;
PkBitfield filters;
gboolean enabled;
@@ -3415,134 +3418,134 @@ pk_backend_status_get_properties_cb (GObject *object, GAsyncResult *res, gpointe
/* get values */
g_object_get (control,
- "roles", &roles,
+ "roles", &priv->roles,
"filters", &filters,
- "groups", &groups,
+ "groups", &priv->groups,
NULL);
/* Remove description/file array if needed. */
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_GET_DETAILS) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "scrolledwindow2"));
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_GET_DETAILS) == FALSE) {
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "scrolledwindow2"));
gtk_widget_hide (widget);
}
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_GET_FILES) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_files"));
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_GET_FILES) == FALSE) {
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_files"));
gtk_widget_hide (widget);
}
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_GET_DEPENDS) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_depends"));
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_GET_DEPENDS) == FALSE) {
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_depends"));
gtk_widget_hide (widget);
}
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_GET_REQUIRES) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_requires"));
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_GET_REQUIRES) == FALSE) {
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_requires"));
gtk_widget_hide (widget);
}
/* hide the group selector if we don't support search-groups */
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_SEARCH_GROUP) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "scrolledwindow_groups"));
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_SEARCH_GROUP) == FALSE) {
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "scrolledwindow_groups"));
gtk_widget_hide (widget);
}
/* hide the refresh cache button if we can't do it */
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_REFRESH_CACHE) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_refresh"));
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_REFRESH_CACHE) == FALSE) {
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_refresh"));
gtk_widget_hide (widget);
}
/* hide the software-sources button if we can't do it */
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_GET_REPO_LIST) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_sources"));
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_GET_REPO_LIST) == FALSE) {
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_sources"));
gtk_widget_hide (widget);
}
/* hide the filters we can't support */
if (pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_installed"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_installed"));
gtk_widget_hide (widget);
}
if (pk_bitfield_contain (filters, PK_FILTER_ENUM_DEVELOPMENT) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_devel"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_devel"));
gtk_widget_hide (widget);
}
if (pk_bitfield_contain (filters, PK_FILTER_ENUM_GUI) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_gui"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_gui"));
gtk_widget_hide (widget);
}
if (pk_bitfield_contain (filters, PK_FILTER_ENUM_FREE) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_free"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_free"));
gtk_widget_hide (widget);
}
if (pk_bitfield_contain (filters, PK_FILTER_ENUM_ARCH) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_arch"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_arch"));
gtk_widget_hide (widget);
}
if (pk_bitfield_contain (filters, PK_FILTER_ENUM_SOURCE) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_source"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_source"));
gtk_widget_hide (widget);
}
if (pk_bitfield_contain (filters, PK_FILTER_ENUM_SUPPORTED) == FALSE) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_supported"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_supported"));
gtk_widget_hide (widget);
}
/* BASENAME, use by default, or hide */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_basename"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_basename"));
if (pk_bitfield_contain (filters, PK_FILTER_ENUM_BASENAME)) {
- enabled = g_settings_get_boolean (settings,
+ enabled = g_settings_get_boolean (priv->settings,
GPK_SETTINGS_FILTER_BASENAME);
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), enabled);
/* work round a gtk2+ bug: toggled should be fired when doing gtk_check_menu_item_set_active */
- gpk_application_menu_filter_basename_cb (widget, NULL);
+ gpk_application_menu_filter_basename_cb (widget, priv);
} else {
gtk_widget_hide (widget);
}
/* NEWEST, use by default, or hide */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_newest"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_newest"));
if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NEWEST)) {
/* set from remembered state */
- enabled = g_settings_get_boolean (settings,
+ enabled = g_settings_get_boolean (priv->settings,
GPK_SETTINGS_FILTER_NEWEST);
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), enabled);
/* work round a gtk2+ bug: toggled should be fired when doing gtk_check_menu_item_set_active */
- gpk_application_menu_filter_newest_cb (widget, NULL);
+ gpk_application_menu_filter_newest_cb (widget, priv);
} else {
gtk_widget_hide (widget);
}
/* ARCH, use by default, or hide */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_arch"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_arch"));
if (pk_bitfield_contain (filters, PK_FILTER_ENUM_ARCH)) {
/* set from remembered state */
- enabled = g_settings_get_boolean (settings,
+ enabled = g_settings_get_boolean (priv->settings,
GPK_SETTINGS_FILTER_ARCH);
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), enabled);
/* work round a gtk2+ bug: toggled should be fired when doing gtk_check_menu_item_set_active */
- gpk_application_menu_filter_arch_cb (widget, NULL);
+ gpk_application_menu_filter_arch_cb (widget, priv);
} else {
gtk_widget_hide (widget);
}
/* SUPPORTED, use by default, or hide */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_supported"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_supported"));
if (pk_bitfield_contain (filters, PK_FILTER_ENUM_SUPPORTED)) {
/* set from remembered state */
- enabled = g_settings_get_boolean (settings,
+ enabled = g_settings_get_boolean (priv->settings,
GPK_SETTINGS_FILTER_SUPPORTED);
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), enabled);
/* work round a gtk2+ bug: toggled should be fired when doing gtk_check_menu_item_set_active */
- gpk_application_menu_filter_supported_cb (widget, NULL);
+ gpk_application_menu_filter_supported_cb (widget, priv);
} else {
gtk_widget_hide (widget);
}
/* add an "all" entry if we can GetPackages */
- ret = g_settings_get_boolean (settings, GPK_SETTINGS_SHOW_ALL_PACKAGES);
- if (ret && pk_bitfield_contain (roles, PK_ROLE_ENUM_GET_PACKAGES)) {
- gtk_tree_store_append (groups_store, &iter, NULL);
+ ret = g_settings_get_boolean (priv->settings, GPK_SETTINGS_SHOW_ALL_PACKAGES);
+ if (ret && pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_GET_PACKAGES)) {
+ gtk_tree_store_append (priv->groups_store, &iter, NULL);
icon_name = gpk_role_enum_to_icon_name (PK_ROLE_ENUM_GET_PACKAGES);
- gtk_tree_store_set (groups_store, &iter,
+ gtk_tree_store_set (priv->groups_store, &iter,
/* TRANSLATORS: title: all of the packages on the system and availble in sources */
GROUPS_COLUMN_NAME, _("All packages"),
/* TRANSLATORS: tooltip: all packages */
@@ -3553,58 +3556,59 @@ pk_backend_status_get_properties_cb (GObject *object, GAsyncResult *res, gpointe
}
/* add these at the top of the array */
- if (pk_bitfield_contain (groups, PK_GROUP_ENUM_COLLECTIONS))
- gpk_application_group_add_data (PK_GROUP_ENUM_COLLECTIONS);
+ if (pk_bitfield_contain (priv->groups, PK_GROUP_ENUM_COLLECTIONS))
+ gpk_application_group_add_data (priv, PK_GROUP_ENUM_COLLECTIONS);
/* add group item for selected items */
- gpk_application_group_add_selected (NULL);
+ gpk_application_group_add_selected (priv);
/* add a separator */
- gtk_tree_store_append (groups_store, &iter, NULL);
- gtk_tree_store_set (groups_store, &iter,
+ gtk_tree_store_append (priv->groups_store, &iter, NULL);
+ gtk_tree_store_set (priv->groups_store, &iter,
GROUPS_COLUMN_ID, "separator", -1);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "treeview_groups"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_groups"));
gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (widget),
- gpk_application_group_row_separator_func, NULL, NULL);
+ (GtkTreeViewRowSeparatorFunc) gpk_application_group_row_separator_func,
+ priv, NULL);
/* simple array or category tree? */
- ret = g_settings_get_boolean (settings, GPK_SETTINGS_CATEGORY_GROUPS);
- if (ret && pk_bitfield_contain (roles, PK_ROLE_ENUM_GET_CATEGORIES))
- gpk_application_create_group_array_categories (NULL);
+ ret = g_settings_get_boolean (priv->settings, GPK_SETTINGS_CATEGORY_GROUPS);
+ if (ret && pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_GET_CATEGORIES))
+ gpk_application_create_group_array_categories (priv);
else
- gpk_application_create_group_array_enum (NULL);
+ gpk_application_create_group_array_enum (priv);
/* set the search mode */
- search_type = g_settings_get_enum (settings, GPK_SETTINGS_SEARCH_MODE);
+ priv->search_type = g_settings_get_enum (priv->settings, GPK_SETTINGS_SEARCH_MODE);
/* search by name */
- if (search_type == GPK_SEARCH_NAME) {
- gpk_application_menu_search_by_name (NULL, NULL);
+ if (priv->search_type == GPK_SEARCH_NAME) {
+ gpk_application_menu_search_by_name (NULL, priv);
/* set to details if we can we do the action? */
- } else if (search_type == GPK_SEARCH_DETAILS) {
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_SEARCH_DETAILS)) {
- gpk_application_menu_search_by_description (NULL, NULL);
+ } else if (priv->search_type == GPK_SEARCH_DETAILS) {
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_SEARCH_DETAILS)) {
+ gpk_application_menu_search_by_description (NULL, priv);
} else {
- g_warning ("cannot use mode %i as not capable, using name", search_type);
- gpk_application_menu_search_by_name (NULL, NULL);
+ g_warning ("cannot use mode %i as not capable, using name", priv->search_type);
+ gpk_application_menu_search_by_name (NULL, priv);
}
/* set to file if we can we do the action? */
- } else if (search_type == GPK_SEARCH_FILE) {
- gpk_application_menu_search_by_file (NULL, NULL);
+ } else if (priv->search_type == GPK_SEARCH_FILE) {
+ gpk_application_menu_search_by_file (NULL, priv);
- if (pk_bitfield_contain (roles, PK_ROLE_ENUM_SEARCH_FILE)) {
- gpk_application_menu_search_by_file (NULL, NULL);
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_SEARCH_FILE)) {
+ gpk_application_menu_search_by_file (NULL, priv);
} else {
- g_warning ("cannot use mode %i as not capable, using name", search_type);
- gpk_application_menu_search_by_name (NULL, NULL);
+ g_warning ("cannot use mode %i as not capable, using name", priv->search_type);
+ gpk_application_menu_search_by_name (NULL, priv);
}
/* mode not recognized */
} else {
- g_warning ("cannot recognize mode %i, using name", search_type);
- gpk_application_menu_search_by_name (NULL, NULL);
+ g_warning ("cannot recognize mode %i, using name", priv->search_type);
+ gpk_application_menu_search_by_name (NULL, priv);
}
out:
return;
@@ -3614,7 +3618,7 @@ out:
* gpk_application_get_repo_list_cb:
**/
static void
-gpk_application_get_repo_list_cb (PkClient *client, GAsyncResult *res, gpointer user_data)
+gpk_application_get_repo_list_cb (PkClient *client, GAsyncResult *res, GpkApplicationPrivate *priv)
{
PkResults *results;
GError *error = NULL;
@@ -3641,7 +3645,7 @@ gpk_application_get_repo_list_cb (PkClient *client, GAsyncResult *res, gpointer
/* if obvious message, don't tell the user */
if (pk_error_get_code (error_code) != PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gpk_error_dialog_modal (window, gpk_error_enum_to_localised_text (pk_error_get_code (error_code)),
gpk_error_enum_to_localised_message (pk_error_get_code (error_code)), pk_error_get_details (error_code));
}
@@ -3660,7 +3664,7 @@ gpk_application_get_repo_list_cb (PkClient *client, GAsyncResult *res, gpointer
g_debug ("repo = %s:%s", repo_id, description);
/* no problem, just no point adding as we will fallback to the repo_id */
if (description != NULL)
- g_hash_table_insert (repos, g_strdup (repo_id), g_strdup (description));
+ g_hash_table_insert (priv->repos, g_strdup (repo_id), g_strdup (description));
g_free (repo_id);
g_free (description);
}
@@ -3678,10 +3682,10 @@ out:
* gpk_application_activate_cb:
**/
static void
-gpk_application_activate_cb (GtkApplication *_application, gpointer user_data)
+gpk_application_activate_cb (GtkApplication *_application, GpkApplicationPrivate *priv)
{
GtkWindow *window;
- window = GTK_WINDOW (gtk_builder_get_object (builder, "window_manager"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_manager"));
gtk_window_present (window);
}
@@ -3689,7 +3693,7 @@ gpk_application_activate_cb (GtkApplication *_application, gpointer user_data)
* gpk_application_startup_cb:
**/
static void
-gpk_application_startup_cb (GtkApplication *application, gpointer user_data)
+gpk_application_startup_cb (GtkApplication *application, GpkApplicationPrivate *priv)
{
GtkWidget *main_window;
GtkWidget *widget;
@@ -3700,19 +3704,19 @@ gpk_application_startup_cb (GtkApplication *application, gpointer user_data)
GSList *array;
guint retval;
- package_sack = pk_package_sack_new ();
- settings = g_settings_new (GPK_SETTINGS_SCHEMA);
- cancellable = g_cancellable_new ();
- repos = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
+ priv->package_sack = pk_package_sack_new ();
+ priv->settings = g_settings_new (GPK_SETTINGS_SCHEMA);
+ priv->cancellable = g_cancellable_new ();
+ priv->repos = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
- markdown = egg_markdown_new ();
- egg_markdown_set_max_lines (markdown, 50);
+ priv->markdown = egg_markdown_new ();
+ egg_markdown_set_max_lines (priv->markdown, 50);
/* watch gnome-packagekit keys */
- g_signal_connect (settings, "changed", G_CALLBACK (gpk_application_key_changed_cb), NULL);
+ g_signal_connect (priv->settings, "changed", G_CALLBACK (gpk_application_key_changed_cb), priv);
/* create array stores */
- packages_store = gtk_list_store_new (PACKAGES_COLUMN_LAST,
+ priv->packages_store = gtk_list_store_new (PACKAGES_COLUMN_LAST,
G_TYPE_STRING,
G_TYPE_UINT64,
G_TYPE_BOOLEAN,
@@ -3720,13 +3724,13 @@ gpk_application_startup_cb (GtkApplication *application, gpointer user_data)
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING);
- groups_store = gtk_tree_store_new (GROUPS_COLUMN_LAST,
+ priv->groups_store = gtk_tree_store_new (GROUPS_COLUMN_LAST,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_BOOLEAN);
- details_store = gtk_list_store_new (DETAIL_COLUMN_LAST,
+ priv->details_store = gtk_list_store_new (DETAIL_COLUMN_LAST,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING);
@@ -3737,40 +3741,40 @@ gpk_application_startup_cb (GtkApplication *application, gpointer user_data)
gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
"/usr/share/PackageKit/icons");
- control = pk_control_new ();
+ priv->control = pk_control_new ();
/* this is what we use mainly */
- task = PK_TASK (gpk_task_new ());
- g_object_set (task,
+ priv->task = PK_TASK (gpk_task_new ());
+ g_object_set (priv->task,
"background", FALSE,
NULL);
/* get properties */
- pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) pk_backend_status_get_properties_cb, NULL);
- g_signal_connect (control, "notify::network-state",
- G_CALLBACK (gpk_application_notify_network_state_cb), NULL);
+ pk_control_get_properties_async (priv->control, NULL, (GAsyncReadyCallback) pk_backend_status_get_properties_cb, priv);
+ g_signal_connect (priv->control, "notify::network-state",
+ G_CALLBACK (gpk_application_notify_network_state_cb), priv);
/* get localized data from sqlite database */
- desktop = pk_desktop_new ();
- ret = pk_desktop_open_database (desktop, NULL);
+ priv->desktop = pk_desktop_new ();
+ ret = pk_desktop_open_database (priv->desktop, NULL);
if (!ret)
g_warning ("Failure opening database");
/* get UI */
- builder = gtk_builder_new ();
- retval = gtk_builder_add_from_file (builder, GPK_DATA "/gpk-application.ui", &error);
+ priv->builder = gtk_builder_new ();
+ retval = gtk_builder_add_from_file (priv->builder, GPK_DATA "/gpk-application.ui", &error);
if (retval == 0) {
g_warning ("failed to load ui: %s", error->message);
g_error_free (error);
goto out;
}
- main_window = GTK_WIDGET (gtk_builder_get_object (builder, "window_manager"));
+ main_window = GTK_WIDGET (gtk_builder_get_object (priv->builder, "window_manager"));
gtk_application_add_window (application, GTK_WINDOW (main_window));
/* helpers */
- helper_run = gpk_helper_run_new ();
- gpk_helper_run_set_parent (helper_run, GTK_WINDOW (main_window));
+ priv->helper_run = gpk_helper_run_new ();
+ gpk_helper_run_set_parent (priv->helper_run, GTK_WINDOW (main_window));
/* Hide window first so that the dialogue resizes itself without redrawing */
gtk_widget_hide (main_window);
@@ -3778,187 +3782,187 @@ gpk_application_startup_cb (GtkApplication *application, gpointer user_data)
gtk_window_set_default_icon_name (GPK_ICON_SOFTWARE_INSTALLER);
/* clear */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_clear"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_clear"));
g_signal_connect (widget, "clicked",
- G_CALLBACK (gpk_application_button_clear_cb), NULL);
+ G_CALLBACK (gpk_application_button_clear_cb), priv);
/* TRANSLATORS: tooltip on the clear button */
gtk_widget_set_tooltip_text (widget, _("Clear current selection"));
/* help */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_help"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_help"));
g_signal_connect (widget, "clicked",
- G_CALLBACK (gpk_application_button_help_cb), NULL);
+ G_CALLBACK (gpk_application_button_help_cb), priv);
/* set F1 = contents */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menu_about"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menu_about"));
array = gtk_accel_groups_from_object (G_OBJECT (main_window));
if (array != NULL)
gtk_menu_set_accel_group (GTK_MENU (widget), GTK_ACCEL_GROUP (array->data));
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_help"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_help"));
gtk_menu_item_set_accel_path (GTK_MENU_ITEM (widget),
"<gpk-application>/menuitem_help");
gtk_accel_map_add_entry ("<gpk-application>/menuitem_help", GDK_KEY_F1, 0);
/* install */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_apply"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_apply"));
g_signal_connect (widget, "clicked",
- G_CALLBACK (gpk_application_button_apply_cb), NULL);
+ G_CALLBACK (gpk_application_button_apply_cb), priv);
/* TRANSLATORS: tooltip on the apply button */
gtk_widget_set_tooltip_text (widget, _("Changes are not applied instantly, this button applies all changes"));
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_about"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_about"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_about_cb), NULL);
+ G_CALLBACK (gpk_application_menu_about_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_help"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_help"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_help_cb), NULL);
+ G_CALLBACK (gpk_application_menu_help_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_sources"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_sources"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_sources_cb), NULL);
+ G_CALLBACK (gpk_application_menu_sources_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_refresh"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_refresh"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_refresh_cb), NULL);
+ G_CALLBACK (gpk_application_menu_refresh_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_log"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_log"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_log_cb), NULL);
+ G_CALLBACK (gpk_application_menu_log_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_homepage"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_homepage"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_homepage_cb), NULL);
+ G_CALLBACK (gpk_application_menu_homepage_cb), priv);
/* TRANSLATORS: tooltip on the homepage button */
gtk_widget_set_tooltip_text (widget, _("Visit home page for selected package"));
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_files"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_files"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_files_cb), NULL);
+ G_CALLBACK (gpk_application_menu_files_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_install"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_install"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_install_cb), NULL);
+ G_CALLBACK (gpk_application_menu_install_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_remove"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_remove"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_remove_cb), NULL);
+ G_CALLBACK (gpk_application_menu_remove_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_depends"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_depends"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_depends_cb), NULL);
+ G_CALLBACK (gpk_application_menu_depends_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_requires"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_requires"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_requires_cb), NULL);
+ G_CALLBACK (gpk_application_menu_requires_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_run"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_run"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_run_cb), NULL);
+ G_CALLBACK (gpk_application_menu_run_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_quit"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_quit"));
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_menu_quit_cb), application);
+ G_CALLBACK (gpk_application_menu_quit_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_selection"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_selection"));
gtk_widget_hide (widget);
/* installed filter */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_installed_yes"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_installed_yes"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_installed_cb), NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_installed_no"));
+ G_CALLBACK (gpk_application_menu_filter_installed_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_installed_no"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_installed_cb), NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_installed_both"));
+ G_CALLBACK (gpk_application_menu_filter_installed_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_installed_both"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_installed_cb), NULL);
+ G_CALLBACK (gpk_application_menu_filter_installed_cb), priv);
/* devel filter */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_devel_yes"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_devel_yes"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_devel_cb), NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_devel_no"));
+ G_CALLBACK (gpk_application_menu_filter_devel_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_devel_no"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_devel_cb), NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_devel_both"));
+ G_CALLBACK (gpk_application_menu_filter_devel_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_devel_both"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_devel_cb), NULL);
+ G_CALLBACK (gpk_application_menu_filter_devel_cb), priv);
/* gui filter */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_gui_yes"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_gui_yes"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_gui_cb), NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_gui_no"));
+ G_CALLBACK (gpk_application_menu_filter_gui_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_gui_no"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_gui_cb), NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_gui_both"));
+ G_CALLBACK (gpk_application_menu_filter_gui_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_gui_both"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_gui_cb), NULL);
+ G_CALLBACK (gpk_application_menu_filter_gui_cb), priv);
/* free filter */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_free_yes"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_free_yes"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_free_cb), NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_free_no"));
+ G_CALLBACK (gpk_application_menu_filter_free_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_free_no"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_free_cb), NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_free_both"));
+ G_CALLBACK (gpk_application_menu_filter_free_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_free_both"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_free_cb), NULL);
+ G_CALLBACK (gpk_application_menu_filter_free_cb), priv);
/* source filter */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_source_yes"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_source_yes"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_source_cb), NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_source_no"));
+ G_CALLBACK (gpk_application_menu_filter_source_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_source_no"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_source_cb), NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_source_both"));
+ G_CALLBACK (gpk_application_menu_filter_source_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_source_both"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_source_cb), NULL);
+ G_CALLBACK (gpk_application_menu_filter_source_cb), priv);
/* basename filter */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_basename"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_basename"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_basename_cb), NULL);
+ G_CALLBACK (gpk_application_menu_filter_basename_cb), priv);
/* newest filter */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_newest"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_newest"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_newest_cb), NULL);
+ G_CALLBACK (gpk_application_menu_filter_newest_cb), priv);
/* arch filter */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_arch"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_arch"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_arch_cb), NULL);
+ G_CALLBACK (gpk_application_menu_filter_arch_cb), priv);
/* supported filter */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_supported"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "menuitem_supported"));
g_signal_connect (widget, "toggled",
- G_CALLBACK (gpk_application_menu_filter_supported_cb), NULL);
+ G_CALLBACK (gpk_application_menu_filter_supported_cb), priv);
/* simple find button */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_find"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_find"));
g_signal_connect (widget, "clicked",
- G_CALLBACK (gpk_application_find_cb), NULL);
+ G_CALLBACK (gpk_application_find_cb), priv);
/* TRANSLATORS: tooltip on the find button */
gtk_widget_set_tooltip_text (widget, _("Find packages"));
/* search cancel button */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_cancel"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_cancel"));
g_signal_connect (widget, "clicked",
- G_CALLBACK (gpk_application_cancel_cb), NULL);
+ G_CALLBACK (gpk_application_cancel_cb), priv);
gtk_widget_set_sensitive (widget, FALSE);
/* TRANSLATORS: tooltip on the cancel button */
gtk_widget_set_tooltip_text (widget, _("Cancel search"));
/* the fancy text entry widget */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "entry_text"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_text"));
/* autocompletion can be turned off as it's slow */
- ret = g_settings_get_boolean (settings, GPK_SETTINGS_AUTOCOMPLETE);
+ ret = g_settings_get_boolean (priv->settings, GPK_SETTINGS_AUTOCOMPLETE);
if (ret) {
/* create the completion object */
completion = gpk_package_entry_completion_new ();
@@ -3972,18 +3976,18 @@ gpk_application_startup_cb (GtkApplication *application, gpointer user_data)
gtk_entry_set_icon_sensitive (GTK_ENTRY (widget), GTK_ENTRY_ICON_PRIMARY, TRUE);
g_signal_connect (widget, "activate",
- G_CALLBACK (gpk_application_find_cb), NULL);
+ G_CALLBACK (gpk_application_find_cb), priv);
g_signal_connect (widget, "paste-clipboard",
- G_CALLBACK (gpk_application_find_cb), NULL);
+ G_CALLBACK (gpk_application_find_cb), priv);
g_signal_connect (widget, "icon-press",
- G_CALLBACK (gpk_application_entry_text_icon_press_cb), NULL);
+ G_CALLBACK (gpk_application_entry_text_icon_press_cb), priv);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "entry_text"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_text"));
g_signal_connect (GTK_EDITABLE (widget), "changed",
- G_CALLBACK (gpk_application_text_changed_cb), NULL);
+ G_CALLBACK (gpk_application_text_changed_cb), priv);
/* mark find button insensitive */
- gpk_application_set_button_find_sensitivity (NULL);
+ gpk_application_set_button_find_sensitivity (priv);
/* set a size, as much as the screen allows */
gtk_window_set_default_size (GTK_WINDOW (main_window), 800, 400);
@@ -3991,39 +3995,39 @@ gpk_application_startup_cb (GtkApplication *application, gpointer user_data)
gtk_widget_show (GTK_WIDGET(main_window));
/* set details box decent size */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "hbox_packages"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "hbox_packages"));
gtk_widget_set_size_request (widget, -1, 120);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "treeview_packages"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_packages"));
gtk_tree_view_columns_autosize (GTK_TREE_VIEW (widget));
g_signal_connect (GTK_TREE_VIEW (widget), "row-activated",
- G_CALLBACK (gpk_application_package_row_activated_cb), NULL);
+ G_CALLBACK (gpk_application_package_row_activated_cb), priv);
/* use a array store for the extra data */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "treeview_detail"));
- gtk_tree_view_set_model (GTK_TREE_VIEW (widget), GTK_TREE_MODEL (details_store));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_detail"));
+ gtk_tree_view_set_model (GTK_TREE_VIEW (widget), GTK_TREE_MODEL (priv->details_store));
/* add columns to the tree view */
- gpk_application_treeview_add_columns_description (NULL);
+ gpk_application_treeview_add_columns_description (priv);
/* sorted */
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (packages_store),
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (priv->packages_store),
PACKAGES_COLUMN_ID, GTK_SORT_ASCENDING);
/* create package tree view */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "treeview_packages"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_packages"));
gtk_tree_view_set_model (GTK_TREE_VIEW (widget),
- GTK_TREE_MODEL (packages_store));
+ GTK_TREE_MODEL (priv->packages_store));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
g_signal_connect (selection, "changed",
- G_CALLBACK (gpk_application_packages_treeview_clicked_cb), NULL);
+ G_CALLBACK (gpk_application_packages_treeview_clicked_cb), priv);
/* add columns to the tree view */
- gpk_application_packages_add_columns (NULL);
+ gpk_application_packages_add_columns (priv);
/* set up the groups checkbox */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "treeview_groups"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_groups"));
/* add columns to the tree view */
gpk_application_groups_add_columns (GTK_TREE_VIEW (widget));
@@ -4031,28 +4035,28 @@ gpk_application_startup_cb (GtkApplication *application, gpointer user_data)
gtk_tree_view_set_show_expanders (GTK_TREE_VIEW (widget), FALSE);
gtk_tree_view_set_level_indentation (GTK_TREE_VIEW (widget), 9);
gtk_tree_view_set_model (GTK_TREE_VIEW (widget),
- GTK_TREE_MODEL (groups_store));
+ GTK_TREE_MODEL (priv->groups_store));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
g_signal_connect (selection, "changed",
- G_CALLBACK (gpk_application_groups_treeview_changed_cb), NULL);
+ G_CALLBACK (gpk_application_groups_treeview_changed_cb), priv);
/* get repos, so we can show the full name in the software source box */
- pk_client_get_repo_list_async (PK_CLIENT (task),
+ pk_client_get_repo_list_async (PK_CLIENT (priv->task),
pk_bitfield_value (PK_FILTER_ENUM_NONE),
- cancellable,
- (PkProgressCallback) gpk_application_progress_cb, NULL,
- (GAsyncReadyCallback) gpk_application_get_repo_list_cb, NULL);
+ priv->cancellable,
+ (PkProgressCallback) gpk_application_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_application_get_repo_list_cb, priv);
/* set current action */
- action = GPK_ACTION_NONE;
- gpk_application_set_buttons_apply_clear (NULL);
+ priv->action = GPK_ACTION_NONE;
+ gpk_application_set_buttons_apply_clear (priv);
/* hide details */
- gpk_application_clear_details (NULL);
+ gpk_application_clear_details (priv);
out:
/* welcome */
- gpk_application_add_welcome (NULL);
+ gpk_application_add_welcome (priv);
}
/**
@@ -4063,9 +4067,9 @@ main (int argc, char *argv[])
{
gboolean program_version = FALSE;
GOptionContext *context;
- GtkApplication *application;
gboolean ret;
gint status = 0;
+ GpkApplicationPrivate *priv;
const GOptionEntry options[] = {
{ "version", '\0', 0, G_OPTION_ARG_NONE, &program_version,
@@ -4080,10 +4084,7 @@ main (int argc, char *argv[])
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
- if (! g_thread_supported ())
- g_thread_init (NULL);
dbus_g_thread_init ();
- g_type_init ();
gtk_init (&argc, &argv);
context = g_option_context_new (NULL);
@@ -4107,49 +4108,52 @@ main (int argc, char *argv[])
if (!ret)
return 1;
+ priv = g_new0 (GpkApplicationPrivate, 1);
+
/* are we already activated? */
- application = gtk_application_new ("org.freedesktop.PackageKit.Application", 0);
- g_signal_connect (application, "startup",
- G_CALLBACK (gpk_application_startup_cb), NULL);
- g_signal_connect (application, "activate",
- G_CALLBACK (gpk_application_activate_cb), NULL);
+ priv->application = gtk_application_new ("org.freedesktop.PackageKit.Application", 0);
+ g_signal_connect (priv->application, "startup",
+ G_CALLBACK (gpk_application_startup_cb), priv);
+ g_signal_connect (priv->application, "activate",
+ G_CALLBACK (gpk_application_activate_cb), priv);
/* run */
- status = g_application_run (G_APPLICATION (application), argc, argv);
- g_object_unref (application);
-
- if (details_event_id > 0)
- g_source_remove (details_event_id);
-
- if (packages_store != NULL)
- g_object_unref (packages_store);
- if (details_store != NULL)
- g_object_unref (details_store);
- if (control != NULL)
- g_object_unref (control);
- if (task != NULL)
- g_object_unref (task);
- if (desktop != NULL)
- g_object_unref (desktop);
- if (settings != NULL)
- g_object_unref (settings);
- if (markdown != NULL)
- g_object_unref (markdown);
- if (builder != NULL)
- g_object_unref (builder);
- if (helper_run != NULL)
- g_object_unref (helper_run);
- if (cancellable != NULL)
- g_object_unref (cancellable);
- if (package_sack != NULL)
- g_object_unref (package_sack);
- if (repos != NULL)
- g_hash_table_destroy (repos);
- if (status_id > 0)
- g_source_remove (status_id);
- g_free (homepage_url);
- g_free (search_group);
- g_free (search_text);
+ status = g_application_run (G_APPLICATION (priv->application), argc, argv);
+ g_object_unref (priv->application);
+
+ if (priv->details_event_id > 0)
+ g_source_remove (priv->details_event_id);
+
+ if (priv->packages_store != NULL)
+ g_object_unref (priv->packages_store);
+ if (priv->details_store != NULL)
+ g_object_unref (priv->details_store);
+ if (priv->control != NULL)
+ g_object_unref (priv->control);
+ if (priv->task != NULL)
+ g_object_unref (priv->task);
+ if (priv->desktop != NULL)
+ g_object_unref (priv->desktop);
+ if (priv->settings != NULL)
+ g_object_unref (priv->settings);
+ if (priv->markdown != NULL)
+ g_object_unref (priv->markdown);
+ if (priv->builder != NULL)
+ g_object_unref (priv->builder);
+ if (priv->helper_run != NULL)
+ g_object_unref (priv->helper_run);
+ if (priv->cancellable != NULL)
+ g_object_unref (priv->cancellable);
+ if (priv->package_sack != NULL)
+ g_object_unref (priv->package_sack);
+ if (priv->repos != NULL)
+ g_hash_table_destroy (priv->repos);
+ if (priv->status_id > 0)
+ g_source_remove (priv->status_id);
+ g_free (priv->homepage_url);
+ g_free (priv->search_group);
+ g_free (priv->search_text);
+ g_free (priv);
return status;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]