[gnome-packagekit] Remove the update preferences from the control center
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-packagekit] Remove the update preferences from the control center
- Date: Tue, 15 Feb 2011 13:13:51 +0000 (UTC)
commit 76cc7cae937a1cc9d8023fd5b3925917e595d23e
Author: Richard Hughes <richard hughsie com>
Date: Tue Feb 15 13:11:25 2011 +0000
Remove the update preferences from the control center
The design team didn't want the update preferences as a pane
in the control center. So rip out the control center integration,
re-port to GtkApplication and ship as the old binary name.
configure.ac | 6 -
contrib/gnome-packagekit.spec.in | 5 -
data/gpk-prefs.desktop.in | 5 +-
data/gpk-prefs.ui | 155 ++++++---
man/Makefile.am | 4 +
po/POTFILES.in | 2 +-
src/Makefile.am | 20 +-
src/cc-update-panel.h | 54 ---
src/gpk-application.c | 2 +-
src/{cc-update-panel.c => gpk-prefs.c} | 584 ++++++++++++++++++--------------
10 files changed, 441 insertions(+), 396 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index b075239..3970620 100644
--- a/configure.ac
+++ b/configure.ac
@@ -122,12 +122,6 @@ PKG_CHECK_MODULES(UPOWER, [
PKG_CHECK_MODULES(CANBERRA, libcanberra-gtk3 >= 0.10)
PKG_CHECK_MODULES(X11, x11)
-dnl Required for the properties window
-PKG_CHECK_MODULES(CONTROL_CENTER, [
- libgnome-control-center >= 2.31.4])
-PANELS_DIR="${libdir}/control-center-1/panels"
-AC_SUBST(PANELS_DIR)
-
dnl **** Check for libnotify ****
PKG_CHECK_MODULES(NOTIFY, libnotify >= 0.7.0)
diff --git a/contrib/gnome-packagekit.spec.in b/contrib/gnome-packagekit.spec.in
index 9f8c713..061d7f3 100644
--- a/contrib/gnome-packagekit.spec.in
+++ b/contrib/gnome-packagekit.spec.in
@@ -51,7 +51,6 @@ BuildRequires: fontconfig-devel
BuildRequires: libcanberra-devel
BuildRequires: libgudev1-devel
BuildRequires: upower-devel >= 0.9.0
-BuildRequires: control-center-devel >= 2.31.4
# obsolete sub-package
Obsoletes: gnome-packagekit-extra <= 2.91.1
@@ -85,9 +84,6 @@ for i in gpk-application gpk-update-viewer gpk-install-file gpk-log gpk-prefs ;
$RPM_BUILD_ROOT%{_datadir}/applications/$i.desktop
done
-rm -f $RPM_BUILD_ROOT%{_libdir}/control-center-1/panels/*.a
-rm -f $RPM_BUILD_ROOT%{_libdir}/control-center-1/panels/*.la
-
%find_lang %name --with-gnome
%clean
@@ -115,7 +111,6 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%defattr(-,root,root,-)
%doc AUTHORS COPYING NEWS README
%{_bindir}/gpk-*
-%{_libdir}/control-center-1/panels/*.so
%dir %{_datadir}/gnome-packagekit
%{_datadir}/gnome-packagekit/gpk-*.ui
%dir %{_datadir}/gnome-packagekit/icons
diff --git a/data/gpk-prefs.desktop.in b/data/gpk-prefs.desktop.in
index a5f2e27..d3000ea 100644
--- a/data/gpk-prefs.desktop.in
+++ b/data/gpk-prefs.desktop.in
@@ -2,10 +2,9 @@
_Name=Software Updates
_Comment=Change software update preferences and enable or disable software sources
Icon=gpk-prefs
-Exec=gnome-control-center update
+Exec=gpk-prefs
Terminal=false
Type=Application
-Categories=Settings;X-GNOME-SystemSettings;X-GNOME-Settings-Panel;
+Categories=Settings;X-GNOME-SystemSettings;
NotShowIn=KDE;
StartupNotify=true
-X-GNOME-Settings-Panel=update
diff --git a/data/gpk-prefs.ui b/data/gpk-prefs.ui
index baecd2e..fbc0349 100644
--- a/data/gpk-prefs.ui
+++ b/data/gpk-prefs.ui
@@ -1,17 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="2.16"/>
- <!-- interface-naming-policy toplevel-contextual -->
<object class="GtkDialog" id="dialog_prefs">
- <property name="border_width">6</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
<property name="title" translatable="yes">Software Update Preferences</property>
- <property name="modal">True</property>
- <property name="window_position">center-on-parent</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
- <object class="GtkVBox" id="dialog-vbox1">
+ <object class="GtkBox" id="dialog-vbox">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
<property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="button_help">
+ <property name="label">gtk-help</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button_check_now">
+ <property name="label" translatable="yes">_Check Now</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button_close">
+ <property name="label">gtk-close</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
<child>
<object class="GtkNotebook" id="notebook_preferences">
<property name="visible">True</property>
@@ -20,19 +74,22 @@
<child>
<object class="GtkVBox" id="vbox8">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="border_width">15</property>
<property name="spacing">12</property>
<child>
<object class="GtkTable" id="table1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="n_rows">3</property>
<property name="n_columns">2</property>
<property name="column_spacing">20</property>
<property name="row_spacing">9</property>
<child>
<object class="GtkComboBoxText" id="combobox_check">
- <property name="entry-text-column">0</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="entry_text_column">0</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -43,8 +100,9 @@
</child>
<child>
<object class="GtkComboBoxText" id="combobox_install">
- <property name="entry-text-column">0</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="entry_text_column">0</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -57,6 +115,7 @@
<child>
<object class="GtkLabel" id="label_install">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Automatically install:</property>
<property name="use_underline">True</property>
@@ -72,6 +131,7 @@
<child>
<object class="GtkLabel" id="label_check1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">C_heck for updates:</property>
<property name="use_underline">True</property>
@@ -85,6 +145,7 @@
<child>
<object class="GtkLabel" id="label_upgrade">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Check for major _upgrades:</property>
<property name="use_underline">True</property>
@@ -99,8 +160,9 @@
</child>
<child>
<object class="GtkComboBoxText" id="combobox_upgrade">
- <property name="entry-text-column">0</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="entry_text_column">0</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -124,6 +186,8 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
@@ -134,21 +198,25 @@
</child>
<child>
<object class="GtkHBox" id="hbox_mobile_broadband">
+ <property name="can_focus">False</property>
<property name="spacing">9</property>
<child>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="stock">gtk-dialog-info</property>
<property name="icon-size">5</property>
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes">Currently using mobile broadband</property>
<attributes>
<attribute name="style" value="italic"/>
@@ -156,6 +224,7 @@
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
@@ -171,6 +240,7 @@
<child type="tab">
<object class="GtkLabel" id="label_tab_settings">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes">Update Settings</property>
</object>
<packing>
@@ -180,14 +250,17 @@
<child>
<object class="GtkVBox" id="vbox3">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="border_width">15</property>
<property name="spacing">12</property>
<child>
<object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0.49000000953674316</property>
<property name="label" translatable="yes">A software source contains packages that can be installed on this computer.</property>
<attributes>
@@ -203,6 +276,7 @@
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
@@ -210,45 +284,55 @@
<object class="GtkScrolledWindow" id="scrolledwindow_repo">
<property name="can_focus">True</property>
<property name="hscrollbar_policy">never</property>
- <property name="vscrollbar_policy">automatic</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="treeview_repo">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">False</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection"/>
+ </child>
</object>
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkViewport" id="viewport_status">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="resize_mode">queue</property>
<child>
<object class="GtkHBox" id="hbox_status">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<child>
<object class="GtkHBox" id="hbox_status2">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkImage" id="image_status">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="stock">gtk-execute</property>
<property name="icon-size">6</property>
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label_status">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label">Another action is in progress.</property>
<attributes>
<attribute name="weight" value="bold"/>
@@ -256,11 +340,13 @@
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
+ <property name="expand">True</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
@@ -269,6 +355,8 @@
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
@@ -278,11 +366,14 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
+ <property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
@@ -294,6 +385,7 @@
<child type="tab">
<object class="GtkLabel" id="label_tab_battery">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes">Software Sources</property>
</object>
<packing>
@@ -303,49 +395,9 @@
</child>
</object>
<packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child internal-child="action_area">
- <object class="GtkHButtonBox" id="dialog-action_area1">
- <property name="visible">True</property>
- <property name="layout_style">end</property>
- <child>
- <object class="GtkButton" id="button_help">
- <property name="label">gtk-help</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- <property name="secondary">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="button_check_now">
- <property name="label" translatable="yes">_Check Now</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <property name="use_underline">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
<property name="expand">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
@@ -353,6 +405,7 @@
<action-widgets>
<action-widget response="0">button_help</action-widget>
<action-widget response="0">button_check_now</action-widget>
+ <action-widget response="0">button_close</action-widget>
</action-widgets>
</object>
</interface>
diff --git a/man/Makefile.am b/man/Makefile.am
index 23427a4..344b717 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -5,6 +5,7 @@ EXTRA_DIST = \
gpk-install-mime-type.sgml \
gpk-install-package-name.sgml \
gpk-install-provide-file.sgml \
+ gpk-prefs.sgml \
gpk-repo.sgml \
gpk-update-icon.sgml \
gpk-update-viewer.sgml
@@ -17,6 +18,7 @@ man_MANS = \
gpk-install-mime-type.1 \
gpk-install-package-name.1 \
gpk-install-provide-file.1 \
+ gpk-prefs.1 \
gpk-repo.1 \
gpk-update-icon.1 \
gpk-update-viewer.1
@@ -35,6 +37,8 @@ gpk-install-provide-file.1: gpk-install-provide-file.sgml
docbook2man $? > /dev/null
gpk-install-mime-type.1: gpk-install-mime-type.sgml
docbook2man $? > /dev/null
+gpk-prefs.1: gpk-prefs.sgml
+ docbook2man $? > /dev/null
gpk-repo.1: gpk-repo.sgml
docbook2man $? > /dev/null
gpk-update-icon.1: gpk-update-icon.sgml
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 1bcd51a..9b36939 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -21,7 +21,6 @@ data/gpk-update-viewer.desktop.in
data/gpk-distro-upgrade.desktop.in
[type: gettext/glade]data/gpk-update-viewer.ui
python/packagekit/gtkwidgets.py
-src/cc-update-panel.c
src/gpk-application.c
src/gpk-check-update.c
src/gpk-common.c
@@ -44,6 +43,7 @@ src/gpk-install-package-name.c
src/gpk-install-provide-file.c
src/gpk-log.c
src/gpk-modal-dialog.c
+src/gpk-prefs.c
src/gpk-service-pack.c
src/gpk-update-icon.c
src/gpk-update-viewer.c
diff --git a/src/Makefile.am b/src/Makefile.am
index dc34d1f..90434c9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -12,7 +12,6 @@ INCLUDES = \
$(PACKAGEKIT_CFLAGS) \
$(GUDEV_CFLAGS) \
$(GNOME_MENUS_CFLAGS) \
- $(CONTROL_CENTER_CFLAGS) \
-DI_KNOW_THE_UPOWER_API_IS_SUBJECT_TO_CHANGE \
-DI_KNOW_THE_PACKAGEKIT_GLIB2_API_IS_SUBJECT_TO_CHANGE \
-DG_UDEV_API_IS_SUBJECT_TO_CHANGE \
@@ -30,11 +29,9 @@ INCLUDES = \
-DG_LOG_DOMAIN=\"GnomePackageKit\" \
$(NULL)
-ccpanelsdir = $(PANELS_DIR)
-ccpanels_LTLIBRARIES = libupdate.la
-
bin_PROGRAMS = \
gpk-application \
+ gpk-prefs \
gpk-service-pack \
gpk-install-catalog \
gpk-install-local-file \
@@ -214,7 +211,7 @@ gpk_service_pack_LDADD = \
$(shared_LIBS) \
$(NULL)
-libupdate_la_SOURCES = \
+gpk_prefs_SOURCES = \
gpk-debug.h \
gpk-debug.c \
gpk-animated-icon.c \
@@ -225,19 +222,14 @@ libupdate_la_SOURCES = \
gpk-common.h \
gpk-error.c \
gpk-error.h \
- cc-update-panel.c \
- cc-update-panel.h \
+ gpk-prefs.c \
$(NULL)
-libupdate_la_LIBADD = \
- $(GLIB_LIBS) \
- $(PACKAGEKIT_LIBS) \
- $(CONTROL_CENTER_LIBS) \
+gpk_prefs_LDADD = \
+ libgpkshared.a \
+ $(shared_LIBS) \
-lm
-libupdate_la_LDFLAGS = -avoid-version -module
-libupdate_la_CFLAGS = $(WARNINGFLAGS)
-
gpk_update_viewer_SOURCES = \
gpk-update-viewer.c \
gpk-cell-renderer-size.c \
diff --git a/src/gpk-application.c b/src/gpk-application.c
index b9824a2..390e4c9 100644
--- a/src/gpk-application.c
+++ b/src/gpk-application.c
@@ -2756,7 +2756,7 @@ gpk_application_menu_sources_cb (GtkAction *_action, gpointer user_data)
window = GTK_WIDGET (gtk_builder_get_object (builder, "window_manager"));
xid = gdk_x11_window_get_xid (gtk_widget_get_window (window));
- command = g_strdup_printf ("%s/gnome-control-center update --parent-window %u", BINDIR, xid);
+ command = g_strdup_printf ("%s/gpk-prefs --parent-window %u", BINDIR, xid);
g_debug ("running: %s", command);
ret = g_spawn_command_line_async (command, NULL);
if (!ret) {
diff --git a/src/cc-update-panel.c b/src/gpk-prefs.c
similarity index 57%
rename from src/cc-update-panel.c
rename to src/gpk-prefs.c
index 4f277c9..f5738be 100644
--- a/src/cc-update-panel.c
+++ b/src/gpk-prefs.c
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2010 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2010-2011 Richard Hughes <richard hughsie com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -23,29 +23,30 @@
#include <config.h>
#endif
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
+#include <locale.h>
#include <gtk/gtk.h>
#include <packagekit-glib2/packagekit.h>
-#include "cc-update-panel.h"
-
#include "gpk-common.h"
-#include "gpk-gnome.h"
+#include "gpk-debug.h"
#include "gpk-enum.h"
#include "gpk-error.h"
+#include "gpk-gnome.h"
-struct _CcUpdatePanelPrivate {
- GtkBuilder *builder;
+typedef struct {
+ const gchar *id_tmp;
+ GCancellable *cancellable;
GSettings *settings;
+ GtkApplication *application;
+ GtkBuilder *builder;
GtkListStore *list_store;
- PkClient *client;
- PkBitfield roles;
GtkTreePath *path_tmp;
- const gchar *id_tmp;
- PkStatusEnum status;
guint status_id;
- GCancellable *cancellable;
-};
+ PkBitfield roles;
+ PkClient *client;
+ PkStatusEnum status;
+} GpkPrefsPrivate;
enum {
GPK_COLUMN_ENABLED,
@@ -56,12 +57,6 @@ enum {
GPK_COLUMN_LAST
};
-G_DEFINE_DYNAMIC_TYPE (CcUpdatePanel, cc_update_panel, CC_TYPE_PANEL)
-
-static void cc_update_panel_finalize (GObject *object);
-
-#define CC_UPDATE_PREFS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_UPDATE_PANEL, CcUpdatePanelPrivate))
-
/* TRANSLATORS: check once an hour */
#define PK_FREQ_HOURLY_TEXT _("Hourly")
/* TRANSLATORS: check once a day */
@@ -84,19 +79,19 @@ static void cc_update_panel_finalize (GObject *object);
#define GPK_PREFS_VALUE_WEEKLY (60*60*24*7)
/**
- * cc_update_panel_help_cb:
+ * gpk_prefs_help_cb:
**/
static void
-cc_update_panel_help_cb (GtkWidget *widget, CcUpdatePanel *panel)
+gpk_prefs_help_cb (GtkWidget *widget, GpkPrefsPrivate *priv)
{
gpk_gnome_help ("prefs");
}
/**
- * cc_update_panel_check_now_cb:
+ * gpk_prefs_check_now_cb:
**/
static void
-cc_update_panel_check_now_cb (GtkWidget *widget, CcUpdatePanel *panel)
+gpk_prefs_check_now_cb (GtkWidget *widget, GpkPrefsPrivate *priv)
{
gboolean ret;
GError *error = NULL;
@@ -112,10 +107,10 @@ cc_update_panel_check_now_cb (GtkWidget *widget, CcUpdatePanel *panel)
}
/**
- * cc_update_panel_update_freq_combo_changed:
+ * gpk_prefs_update_freq_combo_changed:
**/
static void
-cc_update_panel_update_freq_combo_changed (GtkWidget *widget, CcUpdatePanel *panel)
+gpk_prefs_update_freq_combo_changed (GtkWidget *widget, GpkPrefsPrivate *priv)
{
gchar *value;
guint freq = 0;
@@ -133,15 +128,15 @@ cc_update_panel_update_freq_combo_changed (GtkWidget *widget, CcUpdatePanel *pan
g_assert (FALSE);
g_debug ("Changing %s to %i", GPK_SETTINGS_FREQUENCY_GET_UPDATES, freq);
- g_settings_set_int (panel->priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPDATES, freq);
+ g_settings_set_int (priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPDATES, freq);
g_free (value);
}
/**
- * cc_update_panel_upgrade_freq_combo_changed:
+ * gpk_prefs_upgrade_freq_combo_changed:
**/
static void
-cc_update_panel_upgrade_freq_combo_changed (GtkWidget *widget, CcUpdatePanel *panel)
+gpk_prefs_upgrade_freq_combo_changed (GtkWidget *widget, GpkPrefsPrivate *priv)
{
gchar *value;
guint freq = 0;
@@ -157,37 +152,37 @@ cc_update_panel_upgrade_freq_combo_changed (GtkWidget *widget, CcUpdatePanel *pa
g_assert (FALSE);
g_debug ("Changing %s to %i", GPK_SETTINGS_FREQUENCY_GET_UPGRADES, freq);
- g_settings_set_int (panel->priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPGRADES, freq);
+ g_settings_set_int (priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPGRADES, freq);
g_free (value);
}
/**
- * cc_update_panel_update_combo_changed:
+ * gpk_prefs_update_combo_changed:
**/
static void
-cc_update_panel_update_combo_changed (GtkWidget *widget, CcUpdatePanel *panel)
+gpk_prefs_update_combo_changed (GtkWidget *widget, GpkPrefsPrivate *priv)
{
GpkUpdateEnum update;
update = gtk_combo_box_get_active (GTK_COMBO_BOX (widget));
if (update == -1)
return;
- g_settings_set_enum (panel->priv->settings, GPK_SETTINGS_AUTO_UPDATE, update);
+ g_settings_set_enum (priv->settings, GPK_SETTINGS_AUTO_UPDATE, update);
}
/**
- * cc_update_panel_update_freq_combo_setup:
+ * gpk_prefs_update_freq_combo_setup:
**/
static void
-cc_update_panel_update_freq_combo_setup (CcUpdatePanel *panel)
+gpk_prefs_update_freq_combo_setup (GpkPrefsPrivate *priv)
{
- guint value;
gboolean is_writable;
GtkWidget *widget;
+ guint value;
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "combobox_check"));
- is_writable = g_settings_is_writable (panel->priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPDATES);
- value = g_settings_get_int (panel->priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPDATES);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "combobox_check"));
+ is_writable = g_settings_is_writable (priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPDATES);
+ value = g_settings_get_int (priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPDATES);
g_debug ("value from settings %i", value);
/* do we have permission to write? */
@@ -211,22 +206,22 @@ cc_update_panel_update_freq_combo_setup (CcUpdatePanel *panel)
/* only do this after else we redraw the window */
g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (cc_update_panel_update_freq_combo_changed), panel);
+ G_CALLBACK (gpk_prefs_update_freq_combo_changed), priv);
}
/**
- * cc_update_panel_upgrade_freq_combo_setup:
+ * gpk_prefs_upgrade_freq_combo_setup:
**/
static void
-cc_update_panel_upgrade_freq_combo_setup (CcUpdatePanel *panel)
+gpk_prefs_upgrade_freq_combo_setup (GpkPrefsPrivate *priv)
{
- guint value;
gboolean is_writable;
GtkWidget *widget;
+ guint value;
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "combobox_upgrade"));
- is_writable = g_settings_is_writable (panel->priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPGRADES);
- value = g_settings_get_int (panel->priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPGRADES);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "combobox_upgrade"));
+ is_writable = g_settings_is_writable (priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPGRADES);
+ value = g_settings_get_int (priv->settings, GPK_SETTINGS_FREQUENCY_GET_UPGRADES);
g_debug ("value from settings %i", value);
/* do we have permission to write? */
@@ -247,22 +242,22 @@ cc_update_panel_upgrade_freq_combo_setup (CcUpdatePanel *panel)
/* only do this after else we redraw the window */
g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (cc_update_panel_upgrade_freq_combo_changed), panel);
+ G_CALLBACK (gpk_prefs_upgrade_freq_combo_changed), priv);
}
/**
- * cc_update_panel_auto_update_combo_setup:
+ * gpk_prefs_auto_update_combo_setup:
**/
static void
-cc_update_panel_auto_update_combo_setup (CcUpdatePanel *panel)
+gpk_prefs_auto_update_combo_setup (GpkPrefsPrivate *priv)
{
gboolean is_writable;
- GtkWidget *widget;
GpkUpdateEnum update;
+ GtkWidget *widget;
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "combobox_install"));
- is_writable = g_settings_is_writable (panel->priv->settings, GPK_SETTINGS_AUTO_UPDATE);
- update = g_settings_get_enum (panel->priv->settings, GPK_SETTINGS_AUTO_UPDATE);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "combobox_install"));
+ is_writable = g_settings_is_writable (priv->settings, GPK_SETTINGS_AUTO_UPDATE);
+ update = g_settings_get_enum (priv->settings, GPK_SETTINGS_AUTO_UPDATE);
/* do we have permission to write? */
gtk_widget_set_sensitive (widget, is_writable);
@@ -276,14 +271,14 @@ cc_update_panel_auto_update_combo_setup (CcUpdatePanel *panel)
/* only do this after else we redraw the window */
g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (cc_update_panel_update_combo_changed), panel);
+ G_CALLBACK (gpk_prefs_update_combo_changed), priv);
}
/**
- * cc_update_panel_notify_network_state_cb:
+ * gpk_prefs_notify_network_state_cb:
**/
static void
-cc_update_panel_notify_network_state_cb (PkControl *control, GParamSpec *pspec, CcUpdatePanel *panel)
+gpk_prefs_notify_network_state_cb (PkControl *control, GParamSpec *pspec, GpkPrefsPrivate *priv)
{
GtkWidget *widget;
PkNetworkEnum state;
@@ -292,7 +287,7 @@ cc_update_panel_notify_network_state_cb (PkControl *control, GParamSpec *pspec,
g_object_get (control,
"network-state", &state,
NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "hbox_mobile_broadband"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "hbox_mobile_broadband"));
if (state == PK_NETWORK_ENUM_MOBILE)
gtk_widget_show (widget);
else
@@ -300,27 +295,27 @@ cc_update_panel_notify_network_state_cb (PkControl *control, GParamSpec *pspec,
}
/**
- * cc_update_panel_find_iter_model_cb:
+ * gpk_prefs_find_iter_model_cb:
**/
static gboolean
-cc_update_panel_find_iter_model_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, CcUpdatePanel *panel)
+gpk_prefs_find_iter_model_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, GpkPrefsPrivate *priv)
{
gchar *repo_id_tmp = NULL;
gtk_tree_model_get (model, iter,
GPK_COLUMN_ID, &repo_id_tmp,
-1);
- if (strcmp (repo_id_tmp, panel->priv->id_tmp) == 0) {
- panel->priv->path_tmp = gtk_tree_path_copy (path);
+ if (strcmp (repo_id_tmp, priv->id_tmp) == 0) {
+ priv->path_tmp = gtk_tree_path_copy (path);
return TRUE;
}
return FALSE;
}
/**
- * cc_update_panel_mark_nonactive_cb:
+ * gpk_prefs_mark_nonactive_cb:
**/
static gboolean
-cc_update_panel_mark_nonactive_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, CcUpdatePanel *panel)
+gpk_prefs_mark_nonactive_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, GpkPrefsPrivate *priv)
{
gtk_list_store_set (GTK_LIST_STORE(model), iter,
GPK_COLUMN_ACTIVE, FALSE,
@@ -329,38 +324,38 @@ cc_update_panel_mark_nonactive_cb (GtkTreeModel *model, GtkTreePath *path, GtkTr
}
/**
- * cc_update_panel_mark_nonactive:
+ * gpk_prefs_mark_nonactive:
**/
static void
-cc_update_panel_mark_nonactive (CcUpdatePanel *panel, GtkTreeModel *model)
+gpk_prefs_mark_nonactive (GpkPrefsPrivate *priv, GtkTreeModel *model)
{
- gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc) cc_update_panel_mark_nonactive_cb, panel);
+ gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc) gpk_prefs_mark_nonactive_cb, priv);
}
/**
- * cc_update_panel_model_get_iter:
+ * gpk_prefs_model_get_iter:
**/
static gboolean
-cc_update_panel_model_get_iter (CcUpdatePanel *panel, GtkTreeModel *model, GtkTreeIter *iter, const gchar *id)
+gpk_prefs_model_get_iter (GpkPrefsPrivate *priv, GtkTreeModel *model, GtkTreeIter *iter, const gchar *id)
{
gboolean ret = TRUE;
- panel->priv->id_tmp = id;
- panel->priv->path_tmp = NULL;
- gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc) cc_update_panel_find_iter_model_cb, panel);
- if (panel->priv->path_tmp == NULL) {
+ priv->id_tmp = id;
+ priv->path_tmp = NULL;
+ gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc) gpk_prefs_find_iter_model_cb, priv);
+ if (priv->path_tmp == NULL) {
gtk_list_store_append (GTK_LIST_STORE(model), iter);
} else {
- ret = gtk_tree_model_get_iter (model, iter, panel->priv->path_tmp);
- gtk_tree_path_free (panel->priv->path_tmp);
+ ret = gtk_tree_model_get_iter (model, iter, priv->path_tmp);
+ gtk_tree_path_free (priv->path_tmp);
}
return ret;
}
/**
- * cc_update_panel_remove_nonactive_cb:
+ * gpk_prefs_remove_nonactive_cb:
**/
static gboolean
-cc_update_panel_remove_nonactive_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gboolean *ret)
+gpk_prefs_remove_nonactive_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gboolean *ret)
{
gboolean active;
gtk_tree_model_get (model, iter,
@@ -375,53 +370,53 @@ cc_update_panel_remove_nonactive_cb (GtkTreeModel *model, GtkTreePath *path, Gtk
}
/**
- * cc_update_panel_remove_nonactive:
+ * gpk_prefs_remove_nonactive:
**/
static void
-cc_update_panel_remove_nonactive (GtkTreeModel *model)
+gpk_prefs_remove_nonactive (GtkTreeModel *model)
{
gboolean ret;
/* do this again and again as removing in gtk_tree_model_foreach causes errors */
do {
ret = FALSE;
- gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc) cc_update_panel_remove_nonactive_cb, &ret);
+ gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc) gpk_prefs_remove_nonactive_cb, &ret);
} while (ret);
}
/**
- * cc_update_panel_status_changed_timeout_cb:
+ * gpk_prefs_status_changed_timeout_cb:
**/
static gboolean
-cc_update_panel_status_changed_timeout_cb (CcUpdatePanel *panel)
+gpk_prefs_status_changed_timeout_cb (GpkPrefsPrivate *priv)
{
const gchar *text;
GtkWidget *widget;
/* set the text and show */
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "scrolledwindow_repo"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "scrolledwindow_repo"));
gtk_widget_hide (widget);
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "viewport_status"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "viewport_status"));
gtk_widget_show (widget);
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "label_status"));
- text = gpk_status_enum_to_localised_text (panel->priv->status);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "label_status"));
+ text = gpk_status_enum_to_localised_text (priv->status);
gtk_label_set_label (GTK_LABEL (widget), text);
/* set icon */
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->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 (panel->priv->status),
+ gpk_status_enum_to_icon_name (priv->status),
GTK_ICON_SIZE_DIALOG);
/* never repeat */
- panel->priv->status_id = 0;
+ priv->status_id = 0;
return FALSE;
}
/**
- * cc_update_panel_progress_cb:
+ * gpk_prefs_progress_cb:
**/
static void
-cc_update_panel_progress_cb (PkProgress *progress, PkProgressType type, CcUpdatePanel *panel)
+gpk_prefs_progress_cb (PkProgress *progress, PkProgressType type, GpkPrefsPrivate *priv)
{
GtkWidget *widget;
@@ -430,44 +425,44 @@ cc_update_panel_progress_cb (PkProgress *progress, PkProgressType type, CcUpdate
/* get value */
g_object_get (progress,
- "status", &panel->priv->status,
+ "status", &priv->status,
NULL);
- g_debug ("now %s", pk_status_enum_to_text (panel->priv->status));
+ g_debug ("now %s", pk_status_enum_to_text (priv->status));
- if (panel->priv->status == PK_STATUS_ENUM_FINISHED) {
+ if (priv->status == PK_STATUS_ENUM_FINISHED) {
/* we've not yet shown, so don't bother */
- if (panel->priv->status_id > 0) {
- g_source_remove (panel->priv->status_id);
- panel->priv->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 (panel->priv->builder, "viewport_status"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "viewport_status"));
gtk_widget_hide (widget);
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "scrolledwindow_repo"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "scrolledwindow_repo"));
gtk_widget_show (widget);
goto out;
}
/* already pending show */
- if (panel->priv->status_id > 0)
+ if (priv->status_id > 0)
goto out;
/* only show after some time in the transaction */
- panel->priv->status_id = g_timeout_add (GPK_UI_STATUS_SHOW_DELAY, (GSourceFunc) cc_update_panel_status_changed_timeout_cb, panel);
- g_source_set_name_by_id (panel->priv->status_id, "[GpkRepo] status");
+ priv->status_id = g_timeout_add (GPK_UI_STATUS_SHOW_DELAY, (GSourceFunc) gpk_prefs_status_changed_timeout_cb, priv);
+ g_source_set_name_by_id (priv->status_id, "[GpkRepo] status");
out:
return;
}
/**
- * cc_update_panel_process_messages_cb:
+ * gpk_prefs_process_messages_cb:
**/
static void
-cc_update_panel_process_messages_cb (PkMessage *item, CcUpdatePanel *panel)
+gpk_prefs_process_messages_cb (PkMessage *item, GpkPrefsPrivate *priv)
{
+ const gchar *title;
+ gchar *details;
GtkWindow *window;
PkMessageEnum type;
- gchar *details;
- const gchar *title;
/* get data */
g_object_get (item,
@@ -476,7 +471,7 @@ cc_update_panel_process_messages_cb (PkMessage *item, CcUpdatePanel *panel)
NULL);
/* show a modal window */
- window = GTK_WINDOW (gtk_builder_get_object (panel->priv->builder, "dialog_prefs"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "dialog_prefs"));
title = gpk_message_enum_to_localised_text (type);
gpk_error_dialog_modal (window, title, details, NULL);
@@ -484,17 +479,17 @@ cc_update_panel_process_messages_cb (PkMessage *item, CcUpdatePanel *panel)
}
/**
- * cc_update_panel_repo_enable_cb
+ * gpk_prefs_repo_enable_cb
**/
static void
-cc_update_panel_repo_enable_cb (GObject *object, GAsyncResult *res, CcUpdatePanel *panel)
+gpk_prefs_repo_enable_cb (GObject *object, GAsyncResult *res, GpkPrefsPrivate *priv)
{
- PkClient *client = PK_CLIENT (object);
GError *error = NULL;
- PkResults *results = NULL;
- PkError *error_code = NULL;
- GtkWindow *window;
GPtrArray *array;
+ GtkWindow *window;
+ PkClient *client = PK_CLIENT (object);
+ PkError *error_code = NULL;
+ PkResults *results = NULL;
/* get the results */
results = pk_client_generic_finish (client, res, &error);
@@ -508,7 +503,7 @@ cc_update_panel_repo_enable_cb (GObject *object, GAsyncResult *res, CcUpdatePane
error_code = pk_results_get_error_code (results);
if (error_code != NULL) {
g_warning ("failed to set repo: %s, %s", pk_error_enum_to_text (pk_error_get_code (error_code)), pk_error_get_details (error_code));
- window = GTK_WINDOW (gtk_builder_get_object (panel->priv->builder, "dialog_prefs"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "dialog_prefs"));
/* TRANSLATORS: for one reason or another, we could not enable or disable a software source */
gpk_error_dialog_modal (window, _("Failed to change status"),
gpk_error_enum_to_localised_text (pk_error_get_code (error_code)), pk_error_get_details (error_code));
@@ -517,7 +512,7 @@ cc_update_panel_repo_enable_cb (GObject *object, GAsyncResult *res, CcUpdatePane
/* process messages */
array = pk_results_get_message_array (results);
- g_ptr_array_foreach (array, (GFunc) cc_update_panel_process_messages_cb, panel);
+ g_ptr_array_foreach (array, (GFunc) gpk_prefs_process_messages_cb, priv);
g_ptr_array_unref (array);
out:
if (error_code != NULL)
@@ -527,23 +522,23 @@ out:
}
static void
-gpk_misc_enabled_toggled (GtkCellRendererToggle *cell, gchar *path_str, CcUpdatePanel *panel)
+gpk_misc_enabled_toggled (GtkCellRendererToggle *cell, gchar *path_str, GpkPrefsPrivate *priv)
{
- GtkTreeModel *model;
- GtkTreeView *treeview;
- GtkTreeIter iter;
- GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
gboolean enabled;
gchar *repo_id = NULL;
+ GtkTreeIter iter;
+ GtkTreeModel *model;
+ GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
+ GtkTreeView *treeview;
/* do we have the capability? */
- if (pk_bitfield_contain (panel->priv->roles, PK_ROLE_ENUM_REPO_ENABLE) == FALSE) {
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_REPO_ENABLE) == FALSE) {
g_debug ("can't change state");
goto out;
}
/* get toggled iter */
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (panel->priv->builder, "treeview_repo"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_repo"));
model = gtk_tree_view_get_model (treeview);
gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_model_get (model, &iter,
@@ -560,10 +555,10 @@ gpk_misc_enabled_toggled (GtkCellRendererToggle *cell, gchar *path_str, CcUpdate
/* set the repo */
g_debug ("setting %s to %i", repo_id, enabled);
- pk_client_repo_enable_async (panel->priv->client, repo_id, enabled,
- panel->priv->cancellable,
- (PkProgressCallback) cc_update_panel_progress_cb, panel,
- (GAsyncReadyCallback) cc_update_panel_repo_enable_cb, panel);
+ pk_client_repo_enable_async (priv->client, repo_id, enabled,
+ priv->cancellable,
+ (PkProgressCallback) gpk_prefs_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_prefs_repo_enable_cb, priv);
out:
/* clean up */
@@ -575,14 +570,14 @@ out:
* gpk_treeview_add_columns:
**/
static void
-gpk_treeview_add_columns (CcUpdatePanel *panel, GtkTreeView *treeview)
+gpk_treeview_add_columns (GpkPrefsPrivate *priv, GtkTreeView *treeview)
{
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
/* column for enabled toggles */
renderer = gtk_cell_renderer_toggle_new ();
- g_signal_connect (renderer, "toggled", G_CALLBACK (gpk_misc_enabled_toggled), panel);
+ g_signal_connect (renderer, "toggled", G_CALLBACK (gpk_misc_enabled_toggled), priv);
/* TRANSLATORS: column if the source is enabled */
column = gtk_tree_view_column_new_with_attributes (_("Enabled"), renderer,
@@ -605,11 +600,11 @@ gpk_treeview_add_columns (CcUpdatePanel *panel, GtkTreeView *treeview)
* gpk_repos_treeview_clicked_cb:
**/
static void
-gpk_repos_treeview_clicked_cb (GtkTreeSelection *selection, CcUpdatePanel *panel)
+gpk_repos_treeview_clicked_cb (GtkTreeSelection *selection, GpkPrefsPrivate *priv)
{
- GtkTreeModel *model;
- GtkTreeIter iter;
gchar *repo_id;
+ GtkTreeIter iter;
+ GtkTreeModel *model;
/* This will only work in single or browse selection mode! */
if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
@@ -622,25 +617,25 @@ gpk_repos_treeview_clicked_cb (GtkTreeSelection *selection, CcUpdatePanel *panel
}
/**
- * cc_update_panel_get_repo_list_cb
+ * gpk_prefs_get_repo_list_cb
**/
static void
-cc_update_panel_get_repo_list_cb (GObject *object, GAsyncResult *res, CcUpdatePanel *panel)
+gpk_prefs_get_repo_list_cb (GObject *object, GAsyncResult *res, GpkPrefsPrivate *priv)
{
- PkClient *client = PK_CLIENT (object);
+ gboolean enabled;
+ gchar *description;
+ gchar *repo_id;
GError *error = NULL;
- PkResults *results = NULL;
- PkError *error_code = NULL;
- GtkTreeView *treeview;
+ GPtrArray *array = NULL;
+ GtkTreeIter iter;
GtkTreeModel *model;
+ GtkTreeView *treeview;
GtkWindow *window;
- GPtrArray *array = NULL;
guint i;
+ PkClient *client = PK_CLIENT (object);
+ PkError *error_code = NULL;
PkRepoDetail *item;
- GtkTreeIter iter;
- gchar *repo_id;
- gchar *description;
- gboolean enabled;
+ PkResults *results = NULL;
/* get the results */
results = pk_client_generic_finish (client, res, &error);
@@ -654,7 +649,7 @@ cc_update_panel_get_repo_list_cb (GObject *object, GAsyncResult *res, CcUpdatePa
error_code = pk_results_get_error_code (results);
if (error_code != NULL) {
g_warning ("failed to get repo list: %s, %s", pk_error_enum_to_text (pk_error_get_code (error_code)), pk_error_get_details (error_code));
- window = GTK_WINDOW (gtk_builder_get_object (panel->priv->builder, "dialog_prefs"));
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "dialog_prefs"));
/* TRANSLATORS: for one reason or another, we could not get the list of sources */
gpk_error_dialog_modal (window, _("Failed to get the list of sources"),
gpk_error_enum_to_localised_text (pk_error_get_code (error_code)), pk_error_get_details (error_code));
@@ -662,7 +657,7 @@ cc_update_panel_get_repo_list_cb (GObject *object, GAsyncResult *res, CcUpdatePa
}
/* add repos */
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (panel->priv->builder, "treeview_repo"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_repo"));
model = gtk_tree_view_get_model (treeview);
array = pk_results_get_repo_detail_array (results);
for (i=0; i<array->len; i++) {
@@ -673,8 +668,8 @@ cc_update_panel_get_repo_list_cb (GObject *object, GAsyncResult *res, CcUpdatePa
"enabled", &enabled,
NULL);
g_debug ("repo = %s:%s:%i", repo_id, description, enabled);
- cc_update_panel_model_get_iter (panel, model, &iter, repo_id);
- gtk_list_store_set (panel->priv->list_store, &iter,
+ gpk_prefs_model_get_iter (priv, model, &iter, repo_id);
+ gtk_list_store_set (priv->list_store, &iter,
GPK_COLUMN_ENABLED, enabled,
GPK_COLUMN_TEXT, description,
GPK_COLUMN_ID, repo_id,
@@ -687,10 +682,10 @@ cc_update_panel_get_repo_list_cb (GObject *object, GAsyncResult *res, CcUpdatePa
}
/* remove the items that are not now present */
- cc_update_panel_remove_nonactive (model);
+ gpk_prefs_remove_nonactive (model);
/* sort */
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(panel->priv->list_store), GPK_COLUMN_TEXT, GTK_SORT_ASCENDING);
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(priv->list_store), GPK_COLUMN_TEXT, GTK_SORT_ASCENDING);
out:
if (error_code != NULL)
g_object_unref (error_code);
@@ -701,63 +696,63 @@ out:
}
/**
- * cc_update_panel_repo_list_refresh:
+ * gpk_prefs_repo_list_refresh:
**/
static void
-cc_update_panel_repo_list_refresh (CcUpdatePanel *panel)
+gpk_prefs_repo_list_refresh (GpkPrefsPrivate *priv)
{
- PkBitfield filters;
- GtkWidget *widget;
- GtkTreeView *treeview;
- GtkTreeModel *model;
gboolean show_details;
+ GtkTreeModel *model;
+ GtkTreeView *treeview;
+ GtkWidget *widget;
+ PkBitfield filters;
/* mark the items as not used */
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (panel->priv->builder, "treeview_repo"));
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_repo"));
model = gtk_tree_view_get_model (treeview);
- cc_update_panel_mark_nonactive (panel, model);
+ gpk_prefs_mark_nonactive (priv, model);
g_debug ("refreshing list");
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "checkbutton_detail"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "checkbutton_detail"));
show_details = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
if (!show_details)
filters = pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT);
else
filters = pk_bitfield_value (PK_FILTER_ENUM_NONE);
- pk_client_get_repo_list_async (panel->priv->client, filters,
- panel->priv->cancellable,
- (PkProgressCallback) cc_update_panel_progress_cb, panel,
- (GAsyncReadyCallback) cc_update_panel_get_repo_list_cb, panel);
+ pk_client_get_repo_list_async (priv->client, filters,
+ priv->cancellable,
+ (PkProgressCallback) gpk_prefs_progress_cb, priv,
+ (GAsyncReadyCallback) gpk_prefs_get_repo_list_cb, priv);
}
/**
- * cc_update_panel_repo_list_changed_cb:
+ * gpk_prefs_repo_list_changed_cb:
**/
static void
-cc_update_panel_repo_list_changed_cb (PkControl *control, CcUpdatePanel *panel)
+gpk_prefs_repo_list_changed_cb (PkControl *control, GpkPrefsPrivate *priv)
{
- cc_update_panel_repo_list_refresh (panel);
+ gpk_prefs_repo_list_refresh (priv);
}
/**
- * cc_update_panel_checkbutton_detail_cb:
+ * gpk_prefs_checkbutton_detail_cb:
**/
static void
-cc_update_panel_checkbutton_detail_cb (GtkWidget *widget, CcUpdatePanel *panel)
+gpk_prefs_checkbutton_detail_cb (GtkWidget *widget, GpkPrefsPrivate *priv)
{
- cc_update_panel_repo_list_refresh (panel);
+ gpk_prefs_repo_list_refresh (priv);
}
/**
- * cc_update_panel_get_properties_cb:
+ * gpk_prefs_get_properties_cb:
**/
static void
-cc_update_panel_get_properties_cb (GObject *object, GAsyncResult *res, CcUpdatePanel *panel)
+gpk_prefs_get_properties_cb (GObject *object, GAsyncResult *res, GpkPrefsPrivate *priv)
{
- GtkWidget *widget;
+ gboolean ret;
GError *error = NULL;
+ GtkWidget *widget;
PkControl *control = PK_CONTROL(object);
- gboolean ret;
PkNetworkEnum state;
/* get the result */
@@ -771,190 +766,257 @@ cc_update_panel_get_properties_cb (GObject *object, GAsyncResult *res, CcUpdateP
/* get values */
g_object_get (control,
- "roles", &panel->priv->roles,
+ "roles", &priv->roles,
"network-state", &state,
NULL);
/* only show label on mobile broadband */
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "hbox_mobile_broadband"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "hbox_mobile_broadband"));
gtk_widget_set_visible (widget, (state == PK_NETWORK_ENUM_MOBILE));
/* hide if not supported */
- if (!pk_bitfield_contain (panel->priv->roles, PK_ROLE_ENUM_GET_DISTRO_UPGRADES)) {
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "label_upgrade"));
+ if (!pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_GET_DISTRO_UPGRADES)) {
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "label_upgrade"));
gtk_widget_hide (widget);
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "combobox_upgrade"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "combobox_upgrade"));
gtk_widget_hide (widget);
}
/* setup sources GUI elements */
- if (pk_bitfield_contain (panel->priv->roles, PK_ROLE_ENUM_GET_REPO_LIST)) {
- cc_update_panel_repo_list_refresh (panel);
+ if (pk_bitfield_contain (priv->roles, PK_ROLE_ENUM_GET_REPO_LIST)) {
+ gpk_prefs_repo_list_refresh (priv);
} else {
GtkTreeIter iter;
- GtkTreeView *treeview = GTK_TREE_VIEW (gtk_builder_get_object (panel->priv->builder, "treeview_repo"));
+ GtkTreeView *treeview = GTK_TREE_VIEW (gtk_builder_get_object (priv->builder, "treeview_repo"));
GtkTreeModel *model = gtk_tree_view_get_model (treeview);
gtk_list_store_append (GTK_LIST_STORE(model), &iter);
- gtk_list_store_set (panel->priv->list_store, &iter,
+ gtk_list_store_set (priv->list_store, &iter,
GPK_COLUMN_ENABLED, FALSE,
GPK_COLUMN_TEXT, _("Getting software source list not supported by backend"),
GPK_COLUMN_ACTIVE, FALSE,
GPK_COLUMN_SENSITIVE, FALSE,
-1);
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "treeview_repo"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_repo"));
gtk_widget_set_sensitive (widget, FALSE);
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "checkbutton_detail"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "checkbutton_detail"));
gtk_widget_set_sensitive (widget, FALSE);
}
out:
return;
}
+/**
+ * gpk_prefs_close_cb:
+ **/
static void
-cc_update_panel_class_init (CcUpdatePanelClass *klass)
+gpk_prefs_close_cb (GtkWidget *widget, gpointer data)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (CcUpdatePanelPrivate));
- object_class->finalize = cc_update_panel_finalize;
+ GpkPrefsPrivate *priv = (GpkPrefsPrivate *) data;
+ g_application_release (G_APPLICATION (priv->application));
}
-static void
-cc_update_panel_class_finalize (CcUpdatePanelClass *klass)
+/**
+ * gpk_prefs_delete_event_cb:
+ **/
+static gboolean
+gpk_prefs_delete_event_cb (GtkWidget *widget, GdkEvent *event, GpkPrefsPrivate *priv)
{
+ gpk_prefs_close_cb (widget, priv);
+ return FALSE;
}
-static void
-cc_update_panel_finalize (GObject *object)
-{
- CcUpdatePanel *panel = CC_UPDATE_PANEL (object);
- g_cancellable_cancel (panel->priv->cancellable);
- g_object_unref (panel->priv->cancellable);
- g_object_unref (panel->priv->builder);
- g_object_unref (panel->priv->settings);
- g_object_unref (panel->priv->list_store);
- g_object_unref (panel->priv->client);
- G_OBJECT_CLASS (cc_update_panel_parent_class)->finalize (object);
-}
+/**
+ * gpk_pack_startup_cb:
+ **/
static void
-cc_update_panel_init (CcUpdatePanel *panel)
+gpk_pack_startup_cb (GtkApplication *application, GpkPrefsPrivate *priv)
{
+ GError *error = NULL;
+ GtkTreeSelection *selection;
GtkWidget *main_window;
GtkWidget *widget;
- PkControl *control;
guint retval;
- GError *error = NULL;
- GtkTreeSelection *selection;
-
- panel->priv = CC_UPDATE_PREFS_GET_PRIVATE (panel);
- panel->priv->cancellable = g_cancellable_new ();
+ PkControl *control;
/* add application specific icons to search path */
gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
- GPK_DATA G_DIR_SEPARATOR_S "icons");
-
- /* load settings */
- panel->priv->settings = g_settings_new (GPK_SETTINGS_SCHEMA);
+ GPK_DATA G_DIR_SEPARATOR_S "icons");
/* get actions */
control = pk_control_new ();
g_signal_connect (control, "notify::network-state",
- G_CALLBACK (cc_update_panel_notify_network_state_cb), panel);
+ G_CALLBACK (gpk_prefs_notify_network_state_cb), priv);
g_signal_connect (control, "repo-list-changed",
- G_CALLBACK (cc_update_panel_repo_list_changed_cb), panel);
-
- panel->priv->client = pk_client_new ();
- g_object_set (panel->priv->client,
- "background", FALSE,
- NULL);
+ G_CALLBACK (gpk_prefs_repo_list_changed_cb), priv);
/* get UI */
- panel->priv->builder = gtk_builder_new ();
- retval = gtk_builder_add_from_file (panel->priv->builder, GPK_DATA "/gpk-prefs.ui", &error);
+ retval = gtk_builder_add_from_file (priv->builder, GPK_DATA "/gpk-prefs.ui", &error);
if (retval == 0) {
g_warning ("failed to load ui: %s", error->message);
g_error_free (error);
goto out;
}
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "checkbutton_mobile_broadband"));
- g_settings_bind (panel->priv->settings,
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "checkbutton_mobile_broadband"));
+ g_settings_bind (priv->settings,
GPK_SETTINGS_CONNECTION_USE_MOBILE,
widget, "active",
G_SETTINGS_BIND_DEFAULT);
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "button_help"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_close"));
g_signal_connect (widget, "clicked",
- G_CALLBACK (cc_update_panel_help_cb), panel);
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "button_check_now"));
+ G_CALLBACK (gpk_prefs_close_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_help"));
g_signal_connect (widget, "clicked",
- G_CALLBACK (cc_update_panel_check_now_cb), panel);
+ G_CALLBACK (gpk_prefs_help_cb), priv);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_check_now"));
+ g_signal_connect (widget, "clicked",
+ G_CALLBACK (gpk_prefs_check_now_cb), priv);
/* update the combo boxes */
- cc_update_panel_update_freq_combo_setup (panel);
- cc_update_panel_upgrade_freq_combo_setup (panel);
- cc_update_panel_auto_update_combo_setup (panel);
+ gpk_prefs_update_freq_combo_setup (priv);
+ gpk_prefs_upgrade_freq_combo_setup (priv);
+ gpk_prefs_auto_update_combo_setup (priv);
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "checkbutton_detail"));
- g_settings_bind (panel->priv->settings,
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "checkbutton_detail"));
+ g_settings_bind (priv->settings,
GPK_SETTINGS_REPO_SHOW_DETAILS,
widget, "active",
G_SETTINGS_BIND_DEFAULT);
g_signal_connect (widget, "clicked",
- G_CALLBACK (cc_update_panel_checkbutton_detail_cb), panel);
-
- /* create list stores */
- panel->priv->list_store = gtk_list_store_new (GPK_COLUMN_LAST, G_TYPE_BOOLEAN,
- G_TYPE_STRING, G_TYPE_STRING,
- G_TYPE_BOOLEAN, G_TYPE_BOOLEAN);
+ G_CALLBACK (gpk_prefs_checkbutton_detail_cb), priv);
/* create repo tree view */
- widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "treeview_repo"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "treeview_repo"));
gtk_tree_view_set_model (GTK_TREE_VIEW (widget),
- GTK_TREE_MODEL (panel->priv->list_store));
+ GTK_TREE_MODEL (priv->list_store));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
g_signal_connect (selection, "changed",
- G_CALLBACK (gpk_repos_treeview_clicked_cb), panel);
+ G_CALLBACK (gpk_repos_treeview_clicked_cb), priv);
/* add columns to the tree view */
- gpk_treeview_add_columns (panel, GTK_TREE_VIEW (widget));
+ gpk_treeview_add_columns (priv, GTK_TREE_VIEW (widget));
gtk_tree_view_columns_autosize (GTK_TREE_VIEW (widget));
+ main_window = GTK_WIDGET (gtk_builder_get_object (priv->builder, "dialog_prefs"));
+ g_signal_connect (main_window, "delete_event",
+ G_CALLBACK (gpk_prefs_delete_event_cb), priv);
+ gtk_application_add_window (application, GTK_WINDOW (main_window));
+
+ gtk_widget_show (main_window);
+
/* get some data */
- pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) cc_update_panel_get_properties_cb, panel);
+ pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) gpk_prefs_get_properties_cb, priv);
out:
g_object_unref (control);
- main_window = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "dialog_prefs"));
- widget = gtk_dialog_get_content_area (GTK_DIALOG (main_window));
- gtk_widget_unparent (widget);
-
- gtk_container_add (GTK_CONTAINER (panel), widget);
}
-void
-cc_update_panel_register (GIOModule *module)
+
+/**
+ * gpm_prefs_commandline_cb:
+ **/
+static int
+gpm_prefs_commandline_cb (GApplication *application,
+ GApplicationCommandLine *cmdline,
+ GpkPrefsPrivate *priv)
{
- cc_update_panel_register_type (G_TYPE_MODULE (module));
- g_io_extension_point_implement (CC_SHELL_PANEL_EXTENSION_POINT,
- CC_TYPE_UPDATE_PANEL,
- "update", 0);
+ gboolean ret;
+ gchar **argv;
+ gint argc;
+ GOptionContext *context;
+ GtkWindow *window;
+ guint xid = 0;
+
+ const GOptionEntry options[] = {
+ { "parent-window", 'p', 0, G_OPTION_ARG_INT, &xid,
+ /* TRANSLATORS: we can make this modal (stay on top of) another window */
+ _("Set the parent window to make this modal"), NULL },
+ { NULL}
+ };
+
+ /* get arguments */
+ argv = g_application_command_line_get_arguments (cmdline, &argc);
+
+ context = g_option_context_new (NULL);
+ /* TRANSLATORS: program name, an application to set per-user policy for updates */
+ g_option_context_set_summary(context, _("Software Update Preferences"));
+ g_option_context_add_main_entries (context, options, NULL);
+ g_option_context_add_group (context, gpk_debug_get_option_group ());
+ ret = g_option_context_parse (context, &argc, &argv, NULL);
+ if (!ret)
+ goto out;
+
+ /* make sure the window is raised */
+ window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "dialog_prefs"));
+ gtk_window_present (window);
+
+ /* set the parent window if it is specified */
+ if (xid != 0) {
+ g_debug ("Setting xid %i", xid);
+ gpk_window_set_parent_xid (window, xid);
+ }
+out:
+ g_strfreev (argv);
+ g_option_context_free (context);
+ return ret;
}
-/* GIO extension stuff */
-void
-g_io_module_load (GIOModule *module)
+/**
+ * main:
+ **/
+int
+main (int argc, char *argv[])
{
+ gint status = 0;
+ GpkPrefsPrivate *priv = NULL;
+
+ setlocale (LC_ALL, "");
+
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+
+ if (! g_thread_supported ())
+ g_thread_init (NULL);
+ g_type_init ();
+
+ gtk_init (&argc, &argv);
+
+ priv = g_new0 (GpkPrefsPrivate, 1);
+ priv->cancellable = g_cancellable_new ();
+ priv->builder = gtk_builder_new ();
+ priv->settings = g_settings_new (GPK_SETTINGS_SCHEMA);
+ priv->list_store = gtk_list_store_new (GPK_COLUMN_LAST, G_TYPE_BOOLEAN,
+ G_TYPE_STRING, G_TYPE_STRING,
+ G_TYPE_BOOLEAN, G_TYPE_BOOLEAN);
+ priv->client = pk_client_new ();
+ g_object_set (priv->client,
+ "background", FALSE,
+ NULL);
- /* register the panel */
- cc_update_panel_register (module);
-}
-
-void
-g_io_module_unload (GIOModule *module)
-{
+ /* are we already activated? */
+ priv->application = gtk_application_new ("org.freedesktop.PackageKit.Prefs",
+ G_APPLICATION_HANDLES_COMMAND_LINE);
+ g_signal_connect (priv->application, "startup",
+ G_CALLBACK (gpk_pack_startup_cb), priv);
+ g_signal_connect (priv->application, "command-line",
+ G_CALLBACK (gpm_prefs_commandline_cb), priv);
+
+ /* run */
+ status = g_application_run (G_APPLICATION (priv->application), argc, argv);
+
+ if (priv != NULL) {
+ g_cancellable_cancel (priv->cancellable);
+ g_object_unref (priv->cancellable);
+ g_object_unref (priv->builder);
+ g_object_unref (priv->settings);
+ g_object_unref (priv->list_store);
+ g_object_unref (priv->client);
+ g_free (priv);
+ }
+ return status;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]