1
/* unified-privacy-applications.c generated by valac 0.20.1.51-7ff1, the Vala compiler
2
* generated from unified-privacy-applications.vala, do not modify */
4
/* -*- Mode: vala; tab-width: 4; intend-tabs-mode: t -*- */
7
* Copyright (C) 2012 Seif Lotfy <seif@lotfy.com>
8
* Copyright (C) 2012 Stefano Candori <stefano.candori@gmail.com>
9
* Copyright (C) 2012 Manish Sinha <manishsinha@ubuntu.com>
10
* Copyright (C) 2012 Intel Corp.
11
* Authored by: Seif Lotfy <seif.lotfy@collabora.co.uk>
13
* alm is free software: you can redistribute it and/or modify it
14
* under the terms of the GNU Lesser General Public License as published
15
* by the Free Software Foundation, either version 2 of the License, or
16
* (at your option) any later version.
18
* alm is distributed in the hope that it will be useful, but
19
* WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21
* See the GNU Lesser General Public License for more details.
23
* You should have received a copy of the GNU Lesser General Public License
24
* along with this program. If not, see <http://www.gnu.org/licenses/>.";
28
#include <glib-object.h>
32
#include <zeitgeist-datamodel.h>
34
#include <gdk-pixbuf/gdk-pixbuf.h>
35
#include <glib/gi18n-lib.h>
36
#include <pango/pango.h>
38
#include <gio/gdesktopappinfo.h>
43
#include <gobject/gvaluecollector.h>
46
#define ALM_TYPE_APPLICATION_BLACKLIST (alm_application_blacklist_get_type ())
47
#define ALM_APPLICATION_BLACKLIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ALM_TYPE_APPLICATION_BLACKLIST, AlmApplicationBlacklist))
48
#define ALM_APPLICATION_BLACKLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ALM_TYPE_APPLICATION_BLACKLIST, AlmApplicationBlacklistClass))
49
#define ALM_IS_APPLICATION_BLACKLIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ALM_TYPE_APPLICATION_BLACKLIST))
50
#define ALM_IS_APPLICATION_BLACKLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ALM_TYPE_APPLICATION_BLACKLIST))
51
#define ALM_APPLICATION_BLACKLIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ALM_TYPE_APPLICATION_BLACKLIST, AlmApplicationBlacklistClass))
53
typedef struct _AlmApplicationBlacklist AlmApplicationBlacklist;
54
typedef struct _AlmApplicationBlacklistClass AlmApplicationBlacklistClass;
55
typedef struct _AlmApplicationBlacklistPrivate AlmApplicationBlacklistPrivate;
57
#define ALM_TYPE_BLACKLIST (alm_blacklist_get_type ())
58
#define ALM_BLACKLIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ALM_TYPE_BLACKLIST, AlmBlacklist))
59
#define ALM_BLACKLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ALM_TYPE_BLACKLIST, AlmBlacklistClass))
60
#define ALM_IS_BLACKLIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ALM_TYPE_BLACKLIST))
61
#define ALM_IS_BLACKLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ALM_TYPE_BLACKLIST))
62
#define ALM_BLACKLIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ALM_TYPE_BLACKLIST, AlmBlacklistClass))
64
typedef struct _AlmBlacklist AlmBlacklist;
65
typedef struct _AlmBlacklistClass AlmBlacklistClass;
66
#define _alm_blacklist_unref0(var) ((var == NULL) ? NULL : (var = (alm_blacklist_unref (var), NULL)))
67
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
69
#define ALM_TYPE_APPLICATIONS_CHOOSER_DIALOG (alm_applications_chooser_dialog_get_type ())
70
#define ALM_APPLICATIONS_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ALM_TYPE_APPLICATIONS_CHOOSER_DIALOG, AlmApplicationsChooserDialog))
71
#define ALM_APPLICATIONS_CHOOSER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ALM_TYPE_APPLICATIONS_CHOOSER_DIALOG, AlmApplicationsChooserDialogClass))
72
#define ALM_IS_APPLICATIONS_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ALM_TYPE_APPLICATIONS_CHOOSER_DIALOG))
73
#define ALM_IS_APPLICATIONS_CHOOSER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ALM_TYPE_APPLICATIONS_CHOOSER_DIALOG))
74
#define ALM_APPLICATIONS_CHOOSER_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ALM_TYPE_APPLICATIONS_CHOOSER_DIALOG, AlmApplicationsChooserDialogClass))
76
typedef struct _AlmApplicationsChooserDialog AlmApplicationsChooserDialog;
77
typedef struct _AlmApplicationsChooserDialogClass AlmApplicationsChooserDialogClass;
78
#define _g_free0(var) (var = (g_free (var), NULL))
79
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
80
typedef struct _AlmParamSpecApplicationBlacklist AlmParamSpecApplicationBlacklist;
82
#define ALM_TYPE_APPLICATIONS_TREE_VIEW (alm_applications_tree_view_get_type ())
83
#define ALM_APPLICATIONS_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ALM_TYPE_APPLICATIONS_TREE_VIEW, AlmApplicationsTreeView))
84
#define ALM_APPLICATIONS_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ALM_TYPE_APPLICATIONS_TREE_VIEW, AlmApplicationsTreeViewClass))
85
#define ALM_IS_APPLICATIONS_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ALM_TYPE_APPLICATIONS_TREE_VIEW))
86
#define ALM_IS_APPLICATIONS_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ALM_TYPE_APPLICATIONS_TREE_VIEW))
87
#define ALM_APPLICATIONS_TREE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ALM_TYPE_APPLICATIONS_TREE_VIEW, AlmApplicationsTreeViewClass))
89
typedef struct _AlmApplicationsTreeView AlmApplicationsTreeView;
90
typedef struct _AlmApplicationsTreeViewClass AlmApplicationsTreeViewClass;
91
typedef struct _AlmApplicationsTreeViewPrivate AlmApplicationsTreeViewPrivate;
93
#define ALM_TYPE_APP_CHOOSE_INFO (alm_app_choose_info_get_type ())
94
#define ALM_APP_CHOOSE_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ALM_TYPE_APP_CHOOSE_INFO, AlmAppChooseInfo))
95
#define ALM_APP_CHOOSE_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ALM_TYPE_APP_CHOOSE_INFO, AlmAppChooseInfoClass))
96
#define ALM_IS_APP_CHOOSE_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ALM_TYPE_APP_CHOOSE_INFO))
97
#define ALM_IS_APP_CHOOSE_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ALM_TYPE_APP_CHOOSE_INFO))
98
#define ALM_APP_CHOOSE_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ALM_TYPE_APP_CHOOSE_INFO, AlmAppChooseInfoClass))
100
typedef struct _AlmAppChooseInfo AlmAppChooseInfo;
101
typedef struct _AlmAppChooseInfoClass AlmAppChooseInfoClass;
103
#define ALM_APPLICATIONS_TREE_VIEW_TYPE_TREE_VIEW_COLS (alm_applications_tree_view_tree_view_cols_get_type ())
104
#define _alm_application_blacklist_unref0(var) ((var == NULL) ? NULL : (var = (alm_application_blacklist_unref (var), NULL)))
105
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
106
#define _gtk_icon_info_free0(var) ((var == NULL) ? NULL : (var = (gtk_icon_info_free (var), NULL)))
107
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
109
#define ALM_TYPE_APP_SELECTION_TREE_VIEW (alm_app_selection_tree_view_get_type ())
110
#define ALM_APP_SELECTION_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ALM_TYPE_APP_SELECTION_TREE_VIEW, AlmAppSelectionTreeView))
111
#define ALM_APP_SELECTION_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ALM_TYPE_APP_SELECTION_TREE_VIEW, AlmAppSelectionTreeViewClass))
112
#define ALM_IS_APP_SELECTION_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ALM_TYPE_APP_SELECTION_TREE_VIEW))
113
#define ALM_IS_APP_SELECTION_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ALM_TYPE_APP_SELECTION_TREE_VIEW))
114
#define ALM_APP_SELECTION_TREE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ALM_TYPE_APP_SELECTION_TREE_VIEW, AlmAppSelectionTreeViewClass))
116
typedef struct _AlmAppSelectionTreeView AlmAppSelectionTreeView;
117
typedef struct _AlmAppSelectionTreeViewClass AlmAppSelectionTreeViewClass;
118
typedef struct _AlmAppSelectionTreeViewPrivate AlmAppSelectionTreeViewPrivate;
120
#define ALM_APP_SELECTION_TREE_VIEW_TYPE_TREE_VIEW_COLS (alm_app_selection_tree_view_tree_view_cols_get_type ())
122
#define ALM_TYPE_USAGE_CELL_RENDERER (alm_usage_cell_renderer_get_type ())
123
#define ALM_USAGE_CELL_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ALM_TYPE_USAGE_CELL_RENDERER, AlmUsageCellRenderer))
124
#define ALM_USAGE_CELL_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ALM_TYPE_USAGE_CELL_RENDERER, AlmUsageCellRendererClass))
125
#define ALM_IS_USAGE_CELL_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ALM_TYPE_USAGE_CELL_RENDERER))
126
#define ALM_IS_USAGE_CELL_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ALM_TYPE_USAGE_CELL_RENDERER))
127
#define ALM_USAGE_CELL_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ALM_TYPE_USAGE_CELL_RENDERER, AlmUsageCellRendererClass))
129
typedef struct _AlmUsageCellRenderer AlmUsageCellRenderer;
130
typedef struct _AlmUsageCellRendererClass AlmUsageCellRendererClass;
131
typedef struct _AlmApplicationsChooserDialogPrivate AlmApplicationsChooserDialogPrivate;
132
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
133
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
134
#define _alm_app_choose_info_unref0(var) ((var == NULL) ? NULL : (var = (alm_app_choose_info_unref (var), NULL)))
135
typedef struct _AlmUsageCellRendererPrivate AlmUsageCellRendererPrivate;
136
typedef struct _AlmAppChooseInfoPrivate AlmAppChooseInfoPrivate;
137
typedef struct _AlmParamSpecAppChooseInfo AlmParamSpecAppChooseInfo;
139
struct _AlmApplicationBlacklist {
140
GTypeInstance parent_instance;
141
volatile int ref_count;
142
AlmApplicationBlacklistPrivate * priv;
145
struct _AlmApplicationBlacklistClass {
146
GTypeClass parent_class;
147
void (*finalize) (AlmApplicationBlacklist *self);
150
struct _AlmApplicationBlacklistPrivate {
151
AlmBlacklist* blacklist_interface;
152
GeeHashSet* all_blocked_apps;
155
struct _AlmParamSpecApplicationBlacklist {
156
GParamSpec parent_instance;
159
struct _AlmApplicationsTreeView {
160
GtkBox parent_instance;
161
AlmApplicationsTreeViewPrivate * priv;
164
struct _AlmApplicationsTreeViewClass {
165
GtkBoxClass parent_class;
168
struct _AlmApplicationsTreeViewPrivate {
169
AlmApplicationBlacklist* app_blacklist;
171
GtkTreeView* treeview;
172
GHashTable* blocked_apps;
173
GHashTable* unblocked_apps;
177
ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_APP_NAME,
178
ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_ICON,
179
ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_DESKTOP_FILE,
180
ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_N_COLS
181
} AlmApplicationsTreeViewTreeViewCols;
183
struct _AlmAppSelectionTreeView {
184
GtkBox parent_instance;
185
AlmAppSelectionTreeViewPrivate * priv;
188
struct _AlmAppSelectionTreeViewClass {
189
GtkBoxClass parent_class;
192
struct _AlmAppSelectionTreeViewPrivate {
193
AlmApplicationBlacklist* app_blacklist;
195
GtkTreeView* treeview;
199
ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_APP_NAME,
200
ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_ICON,
201
ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_DESKTOP_FILE,
202
ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_LAST_ACCESSED_STRING,
203
ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_LAST_ACCESSED_INT,
204
ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_USAGE,
205
ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_N_COLS
206
} AlmAppSelectionTreeViewTreeViewCols;
208
struct _AlmApplicationsChooserDialog {
209
GtkDialog parent_instance;
210
AlmApplicationsChooserDialogPrivate * priv;
213
struct _AlmApplicationsChooserDialogClass {
214
GtkDialogClass parent_class;
217
struct _AlmApplicationsChooserDialogPrivate {
218
AlmApplicationBlacklist* app_blacklist;
219
AlmAppSelectionTreeView* treeview;
220
GHashTable* all_actors_list;
221
GHashTable* actors_iter;
222
GHashTable* blocked_apps;
223
GHashTable* unblocked_apps;
226
struct _AlmUsageCellRenderer {
227
GtkCellRenderer parent_instance;
228
AlmUsageCellRendererPrivate * priv;
231
struct _AlmUsageCellRendererClass {
232
GtkCellRendererClass parent_class;
235
struct _AlmUsageCellRendererPrivate {
239
struct _AlmAppChooseInfo {
240
GTypeInstance parent_instance;
241
volatile int ref_count;
242
AlmAppChooseInfoPrivate * priv;
245
struct _AlmAppChooseInfoClass {
246
GTypeClass parent_class;
247
void (*finalize) (AlmAppChooseInfo *self);
250
struct _AlmAppChooseInfoPrivate {
254
gchar* last_accessed_time_s;
255
gint64 last_accessed_time_i;
259
struct _AlmParamSpecAppChooseInfo {
260
GParamSpec parent_instance;
264
static gpointer alm_application_blacklist_parent_class = NULL;
265
extern gchar* alm_application_blacklist_interpretation_prefix;
266
gchar* alm_application_blacklist_interpretation_prefix = NULL;
267
extern gchar* alm_application_blacklist_launcher_prefix;
268
gchar* alm_application_blacklist_launcher_prefix = NULL;
269
static gpointer alm_applications_tree_view_parent_class = NULL;
270
static gpointer alm_app_selection_tree_view_parent_class = NULL;
271
static gpointer alm_applications_chooser_dialog_parent_class = NULL;
272
static gpointer alm_usage_cell_renderer_parent_class = NULL;
273
static gpointer alm_app_choose_info_parent_class = NULL;
275
gpointer alm_application_blacklist_ref (gpointer instance);
276
void alm_application_blacklist_unref (gpointer instance);
277
GParamSpec* alm_param_spec_application_blacklist (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
278
void alm_value_set_application_blacklist (GValue* value, gpointer v_object);
279
void alm_value_take_application_blacklist (GValue* value, gpointer v_object);
280
gpointer alm_value_get_application_blacklist (const GValue* value);
281
GType alm_application_blacklist_get_type (void) G_GNUC_CONST;
282
gpointer alm_blacklist_ref (gpointer instance);
283
void alm_blacklist_unref (gpointer instance);
284
GParamSpec* alm_param_spec_blacklist (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
285
void alm_value_set_blacklist (GValue* value, gpointer v_object);
286
void alm_value_take_blacklist (GValue* value, gpointer v_object);
287
gpointer alm_value_get_blacklist (const GValue* value);
288
GType alm_blacklist_get_type (void) G_GNUC_CONST;
289
#define ALM_APPLICATION_BLACKLIST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ALM_TYPE_APPLICATION_BLACKLIST, AlmApplicationBlacklistPrivate))
291
ALM_APPLICATION_BLACKLIST_DUMMY_PROPERTY
293
AlmApplicationBlacklist* alm_application_blacklist_new (AlmBlacklist* blacklist);
294
AlmApplicationBlacklist* alm_application_blacklist_construct (GType object_type, AlmBlacklist* blacklist);
295
static void alm_application_blacklist_on_blacklist_added (AlmApplicationBlacklist* self, const gchar* blacklist_id, ZeitgeistEvent* ev);
296
static void _alm_application_blacklist_on_blacklist_added_alm_blacklist_template_added (AlmBlacklist* _sender, const gchar* blacklist_id, ZeitgeistEvent* blacklist_template, gpointer self);
297
static void alm_application_blacklist_on_blacklist_removed (AlmApplicationBlacklist* self, const gchar* blacklist_id, ZeitgeistEvent* ev);
298
static void _alm_application_blacklist_on_blacklist_removed_alm_blacklist_template_removed (AlmBlacklist* _sender, const gchar* blacklist_id, ZeitgeistEvent* blacklist_template, gpointer self);
299
static GeeHashSet* alm_application_blacklist_get_blocked_apps (AlmApplicationBlacklist* self);
300
GType alm_applications_chooser_dialog_get_type (void) G_GNUC_CONST;
301
void alm_application_blacklist_get_all_applications (AlmApplicationBlacklist* self, AlmApplicationsChooserDialog* dialog);
302
void alm_blacklist_get_all_applications (AlmBlacklist* self, AlmApplicationsChooserDialog* dialog);
303
void alm_application_blacklist_get_count_for_app (AlmApplicationBlacklist* self, const gchar* id, GtkTreeIter* iter, GtkListStore* store);
304
void alm_blacklist_get_count_for_app (AlmBlacklist* self, const gchar* app_id, GtkTreeIter* iter, GtkListStore* store);
305
GHashTable* alm_blacklist_get_all_templates (AlmBlacklist* self);
306
GeeHashSet* alm_application_blacklist_get_all_apps (AlmApplicationBlacklist* self);
307
void alm_application_blacklist_block (AlmApplicationBlacklist* self, const gchar* application);
308
void alm_blacklist_add_template (AlmBlacklist* self, const gchar* blacklist_id, ZeitgeistEvent* blacklist_template);
309
void alm_application_blacklist_unblock (AlmApplicationBlacklist* self, const gchar* application);
310
void alm_blacklist_remove_template (AlmBlacklist* self, const gchar* blacklist_id);
311
static void g_cclosure_user_marshal_VOID__STRING_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
312
static void alm_application_blacklist_finalize (AlmApplicationBlacklist* obj);
313
GType alm_applications_tree_view_get_type (void) G_GNUC_CONST;
314
gpointer alm_app_choose_info_ref (gpointer instance);
315
void alm_app_choose_info_unref (gpointer instance);
316
GParamSpec* alm_param_spec_app_choose_info (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
317
void alm_value_set_app_choose_info (GValue* value, gpointer v_object);
318
void alm_value_take_app_choose_info (GValue* value, gpointer v_object);
319
gpointer alm_value_get_app_choose_info (const GValue* value);
320
GType alm_app_choose_info_get_type (void) G_GNUC_CONST;
321
#define ALM_APPLICATIONS_TREE_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ALM_TYPE_APPLICATIONS_TREE_VIEW, AlmApplicationsTreeViewPrivate))
323
ALM_APPLICATIONS_TREE_VIEW_DUMMY_PROPERTY,
324
ALM_APPLICATIONS_TREE_VIEW_LISTSTORE
326
static GType alm_applications_tree_view_tree_view_cols_get_type (void) G_GNUC_UNUSED;
327
AlmApplicationsTreeView* alm_applications_tree_view_new (AlmApplicationBlacklist* app_blacklist, GHashTable* blocked, GHashTable* unblocked);
328
AlmApplicationsTreeView* alm_applications_tree_view_construct (GType object_type, AlmApplicationBlacklist* app_blacklist, GHashTable* blocked, GHashTable* unblocked);
329
static void alm_applications_tree_view_set_up_ui (AlmApplicationsTreeView* self);
330
GdkPixbuf* alm_applications_tree_view_get_pixbuf_from_gio_icon (GIcon* icon, gint size);
331
gchar* alm_applications_tree_view_markup_for_app (GDesktopAppInfo* app_info);
332
void alm_applications_tree_view_add_application_to_view (AlmApplicationsTreeView* self, const gchar* app);
333
GtkListStore* alm_applications_tree_view_get_liststore (AlmApplicationsTreeView* self);
334
AlmAppChooseInfo* alm_app_choose_info_new (const gchar* id, const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time_s, gint64 last_accessed_time_i, guint usage_rating);
335
AlmAppChooseInfo* alm_app_choose_info_construct (GType object_type, const gchar* id, const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time_s, gint64 last_accessed_time_i, guint usage_rating);
336
void alm_applications_tree_view_remove_app_from_view (AlmApplicationsTreeView* self, const gchar* app);
337
gchar* alm_applications_tree_view_remove_selected_app (AlmApplicationsTreeView* self);
338
static void alm_applications_tree_view_finalize (GObject* obj);
339
static void _vala_alm_applications_tree_view_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
340
GType alm_app_selection_tree_view_get_type (void) G_GNUC_CONST;
341
#define ALM_APP_SELECTION_TREE_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ALM_TYPE_APP_SELECTION_TREE_VIEW, AlmAppSelectionTreeViewPrivate))
343
ALM_APP_SELECTION_TREE_VIEW_DUMMY_PROPERTY,
344
ALM_APP_SELECTION_TREE_VIEW_TREE,
345
ALM_APP_SELECTION_TREE_VIEW_LISTSTORE
347
static GType alm_app_selection_tree_view_tree_view_cols_get_type (void) G_GNUC_UNUSED;
348
AlmAppSelectionTreeView* alm_app_selection_tree_view_new (AlmApplicationBlacklist* app_blacklist);
349
AlmAppSelectionTreeView* alm_app_selection_tree_view_construct (GType object_type, AlmApplicationBlacklist* app_blacklist);
350
static void alm_app_selection_tree_view_set_up_ui (AlmAppSelectionTreeView* self);
351
GType alm_usage_cell_renderer_get_type (void) G_GNUC_CONST;
352
AlmUsageCellRenderer* alm_usage_cell_renderer_new (void);
353
AlmUsageCellRenderer* alm_usage_cell_renderer_construct (GType object_type);
354
GtkTreeView* alm_app_selection_tree_view_get_tree (AlmAppSelectionTreeView* self);
355
GtkListStore* alm_app_selection_tree_view_get_liststore (AlmAppSelectionTreeView* self);
356
static void alm_app_selection_tree_view_finalize (GObject* obj);
357
static void _vala_alm_app_selection_tree_view_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
358
#define ALM_APPLICATIONS_CHOOSER_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ALM_TYPE_APPLICATIONS_CHOOSER_DIALOG, AlmApplicationsChooserDialogPrivate))
360
ALM_APPLICATIONS_CHOOSER_DIALOG_DUMMY_PROPERTY,
361
ALM_APPLICATIONS_CHOOSER_DIALOG_TREE,
362
ALM_APPLICATIONS_CHOOSER_DIALOG_LISTSTORE
364
AlmApplicationsChooserDialog* alm_applications_chooser_dialog_new (AlmApplicationBlacklist* app_blacklist, GHashTable* blocked_list, GHashTable* unblocked_list);
365
AlmApplicationsChooserDialog* alm_applications_chooser_dialog_construct (GType object_type, AlmApplicationBlacklist* app_blacklist, GHashTable* blocked_list, GHashTable* unblocked_list);
366
static void _g_free0_ (gpointer var);
367
static void alm_applications_chooser_dialog_set_up_ui (AlmApplicationsChooserDialog* self);
368
static gint alm_applications_chooser_dialog_compare_dates (AlmApplicationsChooserDialog* self, GDateTime* now, GDateTime* time);
369
void alm_applications_chooser_dialog_handle_app_population (AlmApplicationsChooserDialog* self, GHashTable* all_actors);
370
static gint64* _int64_dup (gint64* self);
371
void alm_applications_chooser_dialog_insert_liststore (AlmApplicationsChooserDialog* self, GAppInfo* app_info, const gchar* last_accessed, gint64 last_accessed_time, guint usage);
372
static void _g_object_unref0_ (gpointer var);
373
static void _g_list_free__g_object_unref0_ (GList* self);
374
void alm_app_choose_info_set_last_accessed (AlmAppChooseInfo* self, const gchar* value);
375
void alm_app_choose_info_set_usage (AlmAppChooseInfo* self, guint value);
376
void alm_applications_chooser_dialog_insert_app_liststore (AlmApplicationsChooserDialog* self, const gchar* app);
377
const gchar* alm_app_choose_info_get_name (AlmAppChooseInfo* self);
378
GdkPixbuf* alm_app_choose_info_get_icon (AlmAppChooseInfo* self);
379
const gchar* alm_app_choose_info_get_last_accessed (AlmAppChooseInfo* self);
380
gint64 alm_app_choose_info_get_last_accessed_time (AlmAppChooseInfo* self);
381
gchar* alm_app_choose_info_get_id (AlmAppChooseInfo* self);
382
GtkTreeView* alm_applications_chooser_dialog_get_tree (AlmApplicationsChooserDialog* self);
383
GtkListStore* alm_applications_chooser_dialog_get_liststore (AlmApplicationsChooserDialog* self);
384
static void alm_applications_chooser_dialog_finalize (GObject* obj);
385
static void _vala_alm_applications_chooser_dialog_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
386
#define ALM_USAGE_CELL_RENDERER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ALM_TYPE_USAGE_CELL_RENDERER, AlmUsageCellRendererPrivate))
388
ALM_USAGE_CELL_RENDERER_DUMMY_PROPERTY,
389
ALM_USAGE_CELL_RENDERER_USAGE
391
#define ALM_USAGE_CELL_RENDERER_RECT_NUM 10
392
#define ALM_USAGE_CELL_RENDERER_RECT_WIDTH 5
393
#define ALM_USAGE_CELL_RENDERER_RECT_HEIGHT 20
394
#define ALM_USAGE_CELL_RENDERER_RECT_SPACING 3
395
#define ALM_USAGE_CELL_RENDERER_xpadding 25
396
#define ALM_USAGE_CELL_RENDERER_ypadding 10
397
static void alm_usage_cell_renderer_real_get_size (GtkCellRenderer* base, GtkWidget* widget, GdkRectangle* cell_area, gint* x_offset, gint* y_offset, gint* width, gint* height);
398
static void alm_usage_cell_renderer_real_render (GtkCellRenderer* base, cairo_t* ctx, GtkWidget* widget, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags);
399
gint alm_usage_cell_renderer_get_usage (AlmUsageCellRenderer* self);
400
void alm_usage_cell_renderer_set_usage (AlmUsageCellRenderer* self, gint value);
401
static void alm_usage_cell_renderer_finalize (GObject* obj);
402
static void _vala_alm_usage_cell_renderer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
403
static void _vala_alm_usage_cell_renderer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
404
#define ALM_APP_CHOOSE_INFO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ALM_TYPE_APP_CHOOSE_INFO, AlmAppChooseInfoPrivate))
406
ALM_APP_CHOOSE_INFO_DUMMY_PROPERTY
408
void alm_app_choose_info_set_name (AlmAppChooseInfo* self, const gchar* value);
409
void alm_app_choose_info_set_icon (AlmAppChooseInfo* self, GdkPixbuf* value);
410
void alm_app_choose_info_set_last_accessed_time (AlmAppChooseInfo* self, gint64 value);
411
guint alm_app_choose_info_get_usage (AlmAppChooseInfo* self);
412
static void alm_app_choose_info_finalize (AlmAppChooseInfo* obj);
415
static gpointer _alm_blacklist_ref0 (gpointer self) {
416
return self ? alm_blacklist_ref (self) : NULL;
420
static void _alm_application_blacklist_on_blacklist_added_alm_blacklist_template_added (AlmBlacklist* _sender, const gchar* blacklist_id, ZeitgeistEvent* blacklist_template, gpointer self) {
421
alm_application_blacklist_on_blacklist_added (self, blacklist_id, blacklist_template);
425
static void _alm_application_blacklist_on_blacklist_removed_alm_blacklist_template_removed (AlmBlacklist* _sender, const gchar* blacklist_id, ZeitgeistEvent* blacklist_template, gpointer self) {
426
alm_application_blacklist_on_blacklist_removed (self, blacklist_id, blacklist_template);
430
AlmApplicationBlacklist* alm_application_blacklist_construct (GType object_type, AlmBlacklist* blacklist) {
431
AlmApplicationBlacklist* self = NULL;
432
AlmBlacklist* _tmp0_ = NULL;
433
AlmBlacklist* _tmp1_ = NULL;
434
AlmBlacklist* _tmp2_ = NULL;
435
AlmBlacklist* _tmp3_ = NULL;
436
GeeHashSet* _tmp4_ = NULL;
437
GeeHashSet* _tmp5_ = NULL;
438
g_return_val_if_fail (blacklist != NULL, NULL);
439
self = (AlmApplicationBlacklist*) g_type_create_instance (object_type);
441
_tmp1_ = _alm_blacklist_ref0 (_tmp0_);
442
_alm_blacklist_unref0 (self->priv->blacklist_interface);
443
self->priv->blacklist_interface = _tmp1_;
444
_tmp2_ = self->priv->blacklist_interface;
445
g_signal_connect (_tmp2_, "template-added", (GCallback) _alm_application_blacklist_on_blacklist_added_alm_blacklist_template_added, self);
446
_tmp3_ = self->priv->blacklist_interface;
447
g_signal_connect (_tmp3_, "template-removed", (GCallback) _alm_application_blacklist_on_blacklist_removed_alm_blacklist_template_removed, self);
448
_tmp4_ = alm_application_blacklist_get_blocked_apps (self);
450
_g_object_unref0 (_tmp5_);
455
AlmApplicationBlacklist* alm_application_blacklist_new (AlmBlacklist* blacklist) {
456
return alm_application_blacklist_construct (ALM_TYPE_APPLICATION_BLACKLIST, blacklist);
460
void alm_application_blacklist_get_all_applications (AlmApplicationBlacklist* self, AlmApplicationsChooserDialog* dialog) {
461
AlmBlacklist* _tmp0_ = NULL;
462
AlmApplicationsChooserDialog* _tmp1_ = NULL;
463
g_return_if_fail (self != NULL);
464
g_return_if_fail (dialog != NULL);
465
_tmp0_ = self->priv->blacklist_interface;
467
alm_blacklist_get_all_applications (_tmp0_, _tmp1_);
471
void alm_application_blacklist_get_count_for_app (AlmApplicationBlacklist* self, const gchar* id, GtkTreeIter* iter, GtkListStore* store) {
472
AlmBlacklist* _tmp0_ = NULL;
473
const gchar* _tmp1_ = NULL;
474
GtkTreeIter _tmp2_ = {0};
475
GtkListStore* _tmp3_ = NULL;
476
g_return_if_fail (self != NULL);
477
g_return_if_fail (id != NULL);
478
g_return_if_fail (iter != NULL);
479
g_return_if_fail (store != NULL);
480
_tmp0_ = self->priv->blacklist_interface;
484
alm_blacklist_get_count_for_app (_tmp0_, _tmp1_, &_tmp2_, _tmp3_);
488
static glong string_strnlen (gchar* str, glong maxlen) {
491
gchar* _tmp0_ = NULL;
493
gchar* _tmp2_ = NULL;
494
gchar* _tmp3_ = NULL;
497
_tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
500
if (_tmp3_ == NULL) {
506
gchar* _tmp5_ = NULL;
507
gchar* _tmp6_ = NULL;
510
result = (glong) (_tmp5_ - _tmp6_);
516
static gchar* string_substring (const gchar* self, glong offset, glong len) {
517
gchar* result = NULL;
518
glong string_length = 0L;
519
gboolean _tmp0_ = FALSE;
521
gboolean _tmp3_ = FALSE;
529
gchar* _tmp23_ = NULL;
530
g_return_val_if_fail (self != NULL, NULL);
532
if (_tmp1_ >= ((glong) 0)) {
535
_tmp0_ = _tmp2_ >= ((glong) 0);
546
_tmp6_ = string_strnlen ((gchar*) self, _tmp4_ + _tmp5_);
547
string_length = _tmp6_;
551
_tmp7_ = strlen (self);
553
string_length = (glong) _tmp8_;
556
if (_tmp9_ < ((glong) 0)) {
560
_tmp10_ = string_length;
562
offset = _tmp10_ + _tmp11_;
564
g_return_val_if_fail (_tmp12_ >= ((glong) 0), NULL);
569
_tmp14_ = string_length;
570
g_return_val_if_fail (_tmp13_ <= _tmp14_, NULL);
573
if (_tmp15_ < ((glong) 0)) {
576
_tmp16_ = string_length;
578
len = _tmp16_ - _tmp17_;
582
_tmp20_ = string_length;
583
g_return_val_if_fail ((_tmp18_ + _tmp19_) <= _tmp20_, NULL);
586
_tmp23_ = g_strndup (((gchar*) self) + _tmp21_, (gsize) _tmp22_);
592
static gpointer _g_object_ref0 (gpointer self) {
593
return self ? g_object_ref (self) : NULL;
597
static GeeHashSet* alm_application_blacklist_get_blocked_apps (AlmApplicationBlacklist* self) {
598
GeeHashSet* result = NULL;
599
GeeHashSet* _tmp0_ = NULL;
600
AlmBlacklist* _tmp1_ = NULL;
601
GHashTable* _tmp2_ = NULL;
602
GHashTable* _tmp3_ = NULL;
603
GList* _tmp4_ = NULL;
604
GeeHashSet* _tmp13_ = NULL;
605
GeeHashSet* _tmp14_ = NULL;
606
g_return_val_if_fail (self != NULL, NULL);
607
_tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL);
608
_g_object_unref0 (self->priv->all_blocked_apps);
609
self->priv->all_blocked_apps = _tmp0_;
610
_tmp1_ = self->priv->blacklist_interface;
611
_tmp2_ = alm_blacklist_get_all_templates (_tmp1_);
613
_tmp4_ = g_hash_table_get_keys (_tmp3_);
615
GList* key_collection = NULL;
616
GList* key_it = NULL;
617
key_collection = _tmp4_;
618
for (key_it = key_collection; key_it != NULL; key_it = key_it->next) {
619
gchar* _tmp5_ = NULL;
621
_tmp5_ = g_strdup ((const gchar*) key_it->data);
624
const gchar* _tmp6_ = NULL;
625
const gchar* _tmp7_ = NULL;
626
gboolean _tmp8_ = FALSE;
628
_tmp7_ = alm_application_blacklist_interpretation_prefix;
629
_tmp8_ = g_str_has_prefix (_tmp6_, _tmp7_);
632
const gchar* _tmp9_ = NULL;
633
gchar* _tmp10_ = NULL;
634
GeeHashSet* _tmp11_ = NULL;
635
const gchar* _tmp12_ = NULL;
637
_tmp10_ = string_substring (_tmp9_, (glong) 4, (glong) (-1));
639
_tmp11_ = self->priv->all_blocked_apps;
641
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp11_, _tmp12_);
647
_g_list_free0 (key_collection);
649
_tmp13_ = self->priv->all_blocked_apps;
650
_tmp14_ = _g_object_ref0 (_tmp13_);
656
static void alm_application_blacklist_on_blacklist_added (AlmApplicationBlacklist* self, const gchar* blacklist_id, ZeitgeistEvent* ev) {
657
const gchar* _tmp0_ = NULL;
658
const gchar* _tmp1_ = NULL;
659
gboolean _tmp2_ = FALSE;
660
g_return_if_fail (self != NULL);
661
g_return_if_fail (blacklist_id != NULL);
662
g_return_if_fail (ev != NULL);
663
_tmp0_ = blacklist_id;
664
_tmp1_ = alm_application_blacklist_interpretation_prefix;
665
_tmp2_ = g_str_has_prefix (_tmp0_, _tmp1_);
668
const gchar* _tmp3_ = NULL;
669
gchar* _tmp4_ = NULL;
670
const gchar* _tmp5_ = NULL;
671
ZeitgeistEvent* _tmp6_ = NULL;
672
GeeHashSet* _tmp7_ = NULL;
673
GeeHashSet* _tmp8_ = NULL;
674
const gchar* _tmp9_ = NULL;
675
gboolean _tmp10_ = FALSE;
676
_tmp3_ = blacklist_id;
677
_tmp4_ = string_substring (_tmp3_, (glong) 4, (glong) (-1));
681
g_signal_emit_by_name (self, "application-added", _tmp5_, _tmp6_);
682
_tmp7_ = alm_application_blacklist_get_all_apps (self);
685
_tmp10_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp8_, _tmp9_);
687
GeeHashSet* _tmp11_ = NULL;
688
GeeHashSet* _tmp12_ = NULL;
689
const gchar* _tmp13_ = NULL;
690
_tmp11_ = alm_application_blacklist_get_all_apps (self);
693
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp12_, _tmp13_);
700
static void alm_application_blacklist_on_blacklist_removed (AlmApplicationBlacklist* self, const gchar* blacklist_id, ZeitgeistEvent* ev) {
701
const gchar* _tmp0_ = NULL;
702
const gchar* _tmp1_ = NULL;
703
gboolean _tmp2_ = FALSE;
704
g_return_if_fail (self != NULL);
705
g_return_if_fail (blacklist_id != NULL);
706
g_return_if_fail (ev != NULL);
707
_tmp0_ = blacklist_id;
708
_tmp1_ = alm_application_blacklist_interpretation_prefix;
709
_tmp2_ = g_str_has_prefix (_tmp0_, _tmp1_);
712
const gchar* _tmp3_ = NULL;
713
gchar* _tmp4_ = NULL;
714
const gchar* _tmp5_ = NULL;
715
ZeitgeistEvent* _tmp6_ = NULL;
716
GeeHashSet* _tmp7_ = NULL;
717
GeeHashSet* _tmp8_ = NULL;
718
const gchar* _tmp9_ = NULL;
719
gboolean _tmp10_ = FALSE;
720
_tmp3_ = blacklist_id;
721
_tmp4_ = string_substring (_tmp3_, (glong) 4, (glong) (-1));
725
g_signal_emit_by_name (self, "application-removed", _tmp5_, _tmp6_);
726
_tmp7_ = alm_application_blacklist_get_all_apps (self);
729
_tmp10_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp8_, _tmp9_);
731
GeeHashSet* _tmp11_ = NULL;
732
GeeHashSet* _tmp12_ = NULL;
733
const gchar* _tmp13_ = NULL;
734
_tmp11_ = alm_application_blacklist_get_all_apps (self);
737
gee_abstract_collection_remove ((GeeAbstractCollection*) _tmp12_, _tmp13_);
744
void alm_application_blacklist_block (AlmApplicationBlacklist* self, const gchar* application) {
745
ZeitgeistEvent* ev = NULL;
746
ZeitgeistEvent* _tmp0_ = NULL;
747
ZeitgeistEvent* _tmp1_ = NULL;
748
const gchar* _tmp2_ = NULL;
749
gchar* _tmp3_ = NULL;
750
gchar* _tmp4_ = NULL;
751
ZeitgeistSubject* sub = NULL;
752
ZeitgeistSubject* _tmp5_ = NULL;
753
ZeitgeistEvent* _tmp6_ = NULL;
754
ZeitgeistSubject* _tmp7_ = NULL;
755
ZeitgeistEvent* launch_ev = NULL;
756
ZeitgeistEvent* _tmp8_ = NULL;
757
ZeitgeistSubject* launch_sub = NULL;
758
ZeitgeistSubject* _tmp9_ = NULL;
759
ZeitgeistSubject* _tmp10_ = NULL;
760
const gchar* _tmp11_ = NULL;
761
gchar* _tmp12_ = NULL;
762
gchar* _tmp13_ = NULL;
763
ZeitgeistEvent* _tmp14_ = NULL;
764
ZeitgeistSubject* _tmp15_ = NULL;
765
AlmBlacklist* _tmp16_ = NULL;
766
const gchar* _tmp17_ = NULL;
767
const gchar* _tmp18_ = NULL;
768
gchar* _tmp19_ = NULL;
769
gchar* _tmp20_ = NULL;
770
ZeitgeistEvent* _tmp21_ = NULL;
771
AlmBlacklist* _tmp22_ = NULL;
772
const gchar* _tmp23_ = NULL;
773
const gchar* _tmp24_ = NULL;
774
gchar* _tmp25_ = NULL;
775
gchar* _tmp26_ = NULL;
776
ZeitgeistEvent* _tmp27_ = NULL;
777
GeeHashSet* _tmp28_ = NULL;
778
GeeHashSet* _tmp29_ = NULL;
779
const gchar* _tmp30_ = NULL;
780
gboolean _tmp31_ = FALSE;
781
g_return_if_fail (self != NULL);
782
g_return_if_fail (application != NULL);
783
_tmp0_ = zeitgeist_event_new ();
786
_tmp2_ = application;
787
_tmp3_ = g_strdup_printf ("application://%s", _tmp2_);
789
zeitgeist_event_set_actor (_tmp1_, _tmp4_);
791
_tmp5_ = zeitgeist_subject_new ();
795
zeitgeist_event_add_subject (_tmp6_, _tmp7_);
796
_tmp8_ = zeitgeist_event_new ();
798
_tmp9_ = zeitgeist_subject_new ();
800
_tmp10_ = launch_sub;
801
_tmp11_ = application;
802
_tmp12_ = g_strdup_printf ("application://%s", _tmp11_);
804
zeitgeist_subject_set_uri (_tmp10_, _tmp13_);
807
_tmp15_ = launch_sub;
808
zeitgeist_event_add_subject (_tmp14_, _tmp15_);
809
_tmp16_ = self->priv->blacklist_interface;
810
_tmp17_ = alm_application_blacklist_interpretation_prefix;
811
_tmp18_ = application;
812
_tmp19_ = g_strdup_printf ("%s%s", _tmp17_, _tmp18_);
815
alm_blacklist_add_template (_tmp16_, _tmp20_, _tmp21_);
817
_tmp22_ = self->priv->blacklist_interface;
818
_tmp23_ = alm_application_blacklist_launcher_prefix;
819
_tmp24_ = application;
820
_tmp25_ = g_strdup_printf ("%s%s", _tmp23_, _tmp24_);
823
alm_blacklist_add_template (_tmp22_, _tmp26_, _tmp27_);
825
_tmp28_ = alm_application_blacklist_get_all_apps (self);
827
_tmp30_ = application;
828
_tmp31_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp29_, _tmp30_);
830
GeeHashSet* _tmp32_ = NULL;
831
GeeHashSet* _tmp33_ = NULL;
832
const gchar* _tmp34_ = NULL;
833
_tmp32_ = alm_application_blacklist_get_all_apps (self);
835
_tmp34_ = application;
836
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp33_, _tmp34_);
838
_g_object_unref0 (launch_sub);
839
_g_object_unref0 (launch_ev);
840
_g_object_unref0 (sub);
841
_g_object_unref0 (ev);
845
void alm_application_blacklist_unblock (AlmApplicationBlacklist* self, const gchar* application) {
846
AlmBlacklist* _tmp0_ = NULL;
847
const gchar* _tmp1_ = NULL;
848
const gchar* _tmp2_ = NULL;
849
gchar* _tmp3_ = NULL;
850
gchar* _tmp4_ = NULL;
851
AlmBlacklist* _tmp5_ = NULL;
852
const gchar* _tmp6_ = NULL;
853
const gchar* _tmp7_ = NULL;
854
gchar* _tmp8_ = NULL;
855
gchar* _tmp9_ = NULL;
856
GeeHashSet* _tmp10_ = NULL;
857
GeeHashSet* _tmp11_ = NULL;
858
const gchar* _tmp12_ = NULL;
859
gboolean _tmp13_ = FALSE;
860
g_return_if_fail (self != NULL);
861
g_return_if_fail (application != NULL);
862
_tmp0_ = self->priv->blacklist_interface;
863
_tmp1_ = alm_application_blacklist_interpretation_prefix;
864
_tmp2_ = application;
865
_tmp3_ = g_strdup_printf ("%s%s", _tmp1_, _tmp2_);
867
alm_blacklist_remove_template (_tmp0_, _tmp4_);
869
_tmp5_ = self->priv->blacklist_interface;
870
_tmp6_ = alm_application_blacklist_launcher_prefix;
871
_tmp7_ = application;
872
_tmp8_ = g_strdup_printf ("%s%s", _tmp6_, _tmp7_);
874
alm_blacklist_remove_template (_tmp5_, _tmp9_);
876
_tmp10_ = alm_application_blacklist_get_all_apps (self);
878
_tmp12_ = application;
879
_tmp13_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp11_, _tmp12_);
881
GeeHashSet* _tmp14_ = NULL;
882
GeeHashSet* _tmp15_ = NULL;
883
const gchar* _tmp16_ = NULL;
884
_tmp14_ = alm_application_blacklist_get_all_apps (self);
886
_tmp16_ = application;
887
gee_abstract_collection_remove ((GeeAbstractCollection*) _tmp15_, _tmp16_);
892
GeeHashSet* alm_application_blacklist_get_all_apps (AlmApplicationBlacklist* self) {
894
GeeHashSet* _tmp0_ = NULL;
895
g_return_val_if_fail (self != NULL, NULL);
896
_tmp0_ = self->priv->all_blocked_apps;
902
static void g_cclosure_user_marshal_VOID__STRING_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
903
typedef void (*GMarshalFunc_VOID__STRING_OBJECT) (gpointer data1, const char* arg_1, gpointer arg_2, gpointer data2);
904
register GMarshalFunc_VOID__STRING_OBJECT callback;
905
register GCClosure * cc;
906
register gpointer data1;
907
register gpointer data2;
908
cc = (GCClosure *) closure;
909
g_return_if_fail (n_param_values == 3);
910
if (G_CCLOSURE_SWAP_DATA (closure)) {
911
data1 = closure->data;
912
data2 = param_values->data[0].v_pointer;
914
data1 = param_values->data[0].v_pointer;
915
data2 = closure->data;
917
callback = (GMarshalFunc_VOID__STRING_OBJECT) (marshal_data ? marshal_data : cc->callback);
918
callback (data1, g_value_get_string (param_values + 1), g_value_get_object (param_values + 2), data2);
922
static void alm_value_application_blacklist_init (GValue* value) {
923
value->data[0].v_pointer = NULL;
927
static void alm_value_application_blacklist_free_value (GValue* value) {
928
if (value->data[0].v_pointer) {
929
alm_application_blacklist_unref (value->data[0].v_pointer);
934
static void alm_value_application_blacklist_copy_value (const GValue* src_value, GValue* dest_value) {
935
if (src_value->data[0].v_pointer) {
936
dest_value->data[0].v_pointer = alm_application_blacklist_ref (src_value->data[0].v_pointer);
938
dest_value->data[0].v_pointer = NULL;
943
static gpointer alm_value_application_blacklist_peek_pointer (const GValue* value) {
944
return value->data[0].v_pointer;
948
static gchar* alm_value_application_blacklist_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
949
if (collect_values[0].v_pointer) {
950
AlmApplicationBlacklist* object;
951
object = collect_values[0].v_pointer;
952
if (object->parent_instance.g_class == NULL) {
953
return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
954
} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
955
return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
957
value->data[0].v_pointer = alm_application_blacklist_ref (object);
959
value->data[0].v_pointer = NULL;
965
static gchar* alm_value_application_blacklist_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
966
AlmApplicationBlacklist** object_p;
967
object_p = collect_values[0].v_pointer;
969
return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
971
if (!value->data[0].v_pointer) {
973
} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
974
*object_p = value->data[0].v_pointer;
976
*object_p = alm_application_blacklist_ref (value->data[0].v_pointer);
982
GParamSpec* alm_param_spec_application_blacklist (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
983
AlmParamSpecApplicationBlacklist* spec;
984
g_return_val_if_fail (g_type_is_a (object_type, ALM_TYPE_APPLICATION_BLACKLIST), NULL);
985
spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
986
G_PARAM_SPEC (spec)->value_type = object_type;
987
return G_PARAM_SPEC (spec);
991
gpointer alm_value_get_application_blacklist (const GValue* value) {
992
g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, ALM_TYPE_APPLICATION_BLACKLIST), NULL);
993
return value->data[0].v_pointer;
997
void alm_value_set_application_blacklist (GValue* value, gpointer v_object) {
998
AlmApplicationBlacklist* old;
999
g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, ALM_TYPE_APPLICATION_BLACKLIST));
1000
old = value->data[0].v_pointer;
1002
g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, ALM_TYPE_APPLICATION_BLACKLIST));
1003
g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
1004
value->data[0].v_pointer = v_object;
1005
alm_application_blacklist_ref (value->data[0].v_pointer);
1007
value->data[0].v_pointer = NULL;
1010
alm_application_blacklist_unref (old);
1015
void alm_value_take_application_blacklist (GValue* value, gpointer v_object) {
1016
AlmApplicationBlacklist* old;
1017
g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, ALM_TYPE_APPLICATION_BLACKLIST));
1018
old = value->data[0].v_pointer;
1020
g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, ALM_TYPE_APPLICATION_BLACKLIST));
1021
g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
1022
value->data[0].v_pointer = v_object;
1024
value->data[0].v_pointer = NULL;
1027
alm_application_blacklist_unref (old);
1032
static void alm_application_blacklist_class_init (AlmApplicationBlacklistClass * klass) {
1033
gchar* _tmp0_ = NULL;
1034
gchar* _tmp1_ = NULL;
1035
alm_application_blacklist_parent_class = g_type_class_peek_parent (klass);
1036
ALM_APPLICATION_BLACKLIST_CLASS (klass)->finalize = alm_application_blacklist_finalize;
1037
g_type_class_add_private (klass, sizeof (AlmApplicationBlacklistPrivate));
1038
g_signal_new ("application_added", ALM_TYPE_APPLICATION_BLACKLIST, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_OBJECT, G_TYPE_NONE, 2, G_TYPE_STRING, ZEITGEIST_TYPE_EVENT);
1039
g_signal_new ("application_removed", ALM_TYPE_APPLICATION_BLACKLIST, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_OBJECT, G_TYPE_NONE, 2, G_TYPE_STRING, ZEITGEIST_TYPE_EVENT);
1040
_tmp0_ = g_strdup ("app-");
1041
alm_application_blacklist_interpretation_prefix = _tmp0_;
1042
_tmp1_ = g_strdup ("launch-");
1043
alm_application_blacklist_launcher_prefix = _tmp1_;
1047
static void alm_application_blacklist_instance_init (AlmApplicationBlacklist * self) {
1048
self->priv = ALM_APPLICATION_BLACKLIST_GET_PRIVATE (self);
1049
self->ref_count = 1;
1053
static void alm_application_blacklist_finalize (AlmApplicationBlacklist* obj) {
1054
AlmApplicationBlacklist * self;
1055
self = G_TYPE_CHECK_INSTANCE_CAST (obj, ALM_TYPE_APPLICATION_BLACKLIST, AlmApplicationBlacklist);
1056
_alm_blacklist_unref0 (self->priv->blacklist_interface);
1057
_g_object_unref0 (self->priv->all_blocked_apps);
1061
GType alm_application_blacklist_get_type (void) {
1062
static volatile gsize alm_application_blacklist_type_id__volatile = 0;
1063
if (g_once_init_enter (&alm_application_blacklist_type_id__volatile)) {
1064
static const GTypeValueTable g_define_type_value_table = { alm_value_application_blacklist_init, alm_value_application_blacklist_free_value, alm_value_application_blacklist_copy_value, alm_value_application_blacklist_peek_pointer, "p", alm_value_application_blacklist_collect_value, "p", alm_value_application_blacklist_lcopy_value };
1065
static const GTypeInfo g_define_type_info = { sizeof (AlmApplicationBlacklistClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) alm_application_blacklist_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AlmApplicationBlacklist), 0, (GInstanceInitFunc) alm_application_blacklist_instance_init, &g_define_type_value_table };
1066
static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
1067
GType alm_application_blacklist_type_id;
1068
alm_application_blacklist_type_id = g_type_register_fundamental (g_type_fundamental_next (), "AlmApplicationBlacklist", &g_define_type_info, &g_define_type_fundamental_info, 0);
1069
g_once_init_leave (&alm_application_blacklist_type_id__volatile, alm_application_blacklist_type_id);
1071
return alm_application_blacklist_type_id__volatile;
1075
gpointer alm_application_blacklist_ref (gpointer instance) {
1076
AlmApplicationBlacklist* self;
1078
g_atomic_int_inc (&self->ref_count);
1083
void alm_application_blacklist_unref (gpointer instance) {
1084
AlmApplicationBlacklist* self;
1086
if (g_atomic_int_dec_and_test (&self->ref_count)) {
1087
ALM_APPLICATION_BLACKLIST_GET_CLASS (self)->finalize (self);
1088
g_type_free_instance ((GTypeInstance *) self);
1093
static GType alm_applications_tree_view_tree_view_cols_get_type (void) {
1094
static volatile gsize alm_applications_tree_view_tree_view_cols_type_id__volatile = 0;
1095
if (g_once_init_enter (&alm_applications_tree_view_tree_view_cols_type_id__volatile)) {
1096
static const GEnumValue values[] = {{ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_APP_NAME, "ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_APP_NAME", "app-name"}, {ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_ICON, "ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_ICON", "icon"}, {ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_DESKTOP_FILE, "ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_DESKTOP_FILE", "desktop-file"}, {ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_N_COLS, "ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_N_COLS", "n-cols"}, {0, NULL, NULL}};
1097
GType alm_applications_tree_view_tree_view_cols_type_id;
1098
alm_applications_tree_view_tree_view_cols_type_id = g_enum_register_static ("AlmApplicationsTreeViewTreeViewCols", values);
1099
g_once_init_leave (&alm_applications_tree_view_tree_view_cols_type_id__volatile, alm_applications_tree_view_tree_view_cols_type_id);
1101
return alm_applications_tree_view_tree_view_cols_type_id__volatile;
1105
static gpointer _alm_application_blacklist_ref0 (gpointer self) {
1106
return self ? alm_application_blacklist_ref (self) : NULL;
1110
static gpointer _g_hash_table_ref0 (gpointer self) {
1111
return self ? g_hash_table_ref (self) : NULL;
1115
AlmApplicationsTreeView* alm_applications_tree_view_construct (GType object_type, AlmApplicationBlacklist* app_blacklist, GHashTable* blocked, GHashTable* unblocked) {
1116
AlmApplicationsTreeView * self = NULL;
1117
AlmApplicationBlacklist* _tmp0_ = NULL;
1118
AlmApplicationBlacklist* _tmp1_ = NULL;
1119
GHashTable* _tmp2_ = NULL;
1120
GHashTable* _tmp3_ = NULL;
1121
GHashTable* _tmp4_ = NULL;
1122
GHashTable* _tmp5_ = NULL;
1123
GtkListStore* _tmp6_ = NULL;
1124
GtkListStore* _tmp7_ = NULL;
1125
GtkTreeView* _tmp8_ = NULL;
1126
GtkTreeView* _tmp9_ = NULL;
1127
GtkTreeView* _tmp10_ = NULL;
1128
g_return_val_if_fail (app_blacklist != NULL, NULL);
1129
g_return_val_if_fail (blocked != NULL, NULL);
1130
g_return_val_if_fail (unblocked != NULL, NULL);
1131
self = (AlmApplicationsTreeView*) g_object_new (object_type, "orientation", GTK_ORIENTATION_VERTICAL, NULL);
1132
_tmp0_ = app_blacklist;
1133
_tmp1_ = _alm_application_blacklist_ref0 (_tmp0_);
1134
_alm_application_blacklist_unref0 (self->priv->app_blacklist);
1135
self->priv->app_blacklist = _tmp1_;
1137
_tmp3_ = _g_hash_table_ref0 (_tmp2_);
1138
_g_hash_table_unref0 (self->priv->blocked_apps);
1139
self->priv->blocked_apps = _tmp3_;
1141
_tmp5_ = _g_hash_table_ref0 (_tmp4_);
1142
_g_hash_table_unref0 (self->priv->unblocked_apps);
1143
self->priv->unblocked_apps = _tmp5_;
1144
_tmp6_ = gtk_list_store_new ((gint) ALM_APPLICATIONS_TREE_VIEW_TREE_VIEW_COLS_N_COLS, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_STRING);
1145
_g_object_unref0 (self->priv->store);
1146
self->priv->store = _tmp6_;
1147
_tmp7_ = self->priv->store;
1148
_tmp8_ = (GtkTreeView*) gtk_tree_view_new_with_model ((GtkTreeModel*) _tmp7_);
1149
g_object_ref_sink (_tmp8_);
1150
_g_object_unref0 (self->priv->treeview);
1151
self->priv->treeview = _tmp8_;
1152
_tmp9_ = self->priv->treeview;
1153
gtk_tree_view_set_headers_visible (_tmp9_, FALSE);
1154
_tmp10_ = self->priv->treeview;
1155
gtk_tree_view_set_rules_hint (_tmp10_, TRUE);
1156
alm_applications_tree_view_set_up_ui (self);
1161
AlmApplicationsTreeView* alm_applications_tree_view_new (AlmApplicationBlacklist* app_blacklist, GHashTable* blocked, GHashTable* unblocked) {
1162
return alm_applications_tree_view_construct (ALM_TYPE_APPLICATIONS_TREE_VIEW, app_blacklist, blocked, unblocked);
1166
static void alm_applications_tree_view_set_up_ui (AlmApplicationsTreeView* self) {
1167
GtkTreeViewColumn* column_pix_name = NULL;
1168
GtkTreeViewColumn* _tmp0_ = NULL;
1169
const gchar* _tmp1_ = NULL;
1170
GtkTreeView* _tmp2_ = NULL;
1171
GtkCellRendererPixbuf* pix_rend = NULL;
1172
GtkCellRendererPixbuf* _tmp3_ = NULL;
1173
GtkCellRendererText* name_rend = NULL;
1174
GtkCellRendererText* _tmp4_ = NULL;
1175
GValue _tmp5_ = {0};
1176
GtkScrolledWindow* scroll = NULL;
1177
GtkScrolledWindow* _tmp6_ = NULL;
1178
GtkTreeView* _tmp7_ = NULL;
1179
g_return_if_fail (self != NULL);
1180
_tmp0_ = gtk_tree_view_column_new ();
1181
g_object_ref_sink (_tmp0_);
1182
column_pix_name = _tmp0_;
1183
_tmp1_ = _ ("Name");
1184
gtk_tree_view_column_set_title (column_pix_name, _tmp1_);
1185
_tmp2_ = self->priv->treeview;
1186
gtk_tree_view_append_column (_tmp2_, column_pix_name);
1187
_tmp3_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new ();
1188
g_object_ref_sink (_tmp3_);
1190
gtk_cell_layout_pack_start ((GtkCellLayout*) column_pix_name, (GtkCellRenderer*) pix_rend, FALSE);
1191
gtk_cell_layout_add_attribute ((GtkCellLayout*) column_pix_name, (GtkCellRenderer*) pix_rend, "pixbuf", 1);
1192
_tmp4_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
1193
g_object_ref_sink (_tmp4_);
1195
g_value_init (&_tmp5_, pango_ellipsize_mode_get_type ());
1196
g_value_set_enum (&_tmp5_, PANGO_ELLIPSIZE_END);
1197
g_object_set_property ((GObject*) name_rend, "ellipsize", &_tmp5_);
1198
G_IS_VALUE (&_tmp5_) ? (g_value_unset (&_tmp5_), NULL) : NULL;
1199
gtk_cell_layout_pack_start ((GtkCellLayout*) column_pix_name, (GtkCellRenderer*) name_rend, TRUE);
1200
gtk_cell_layout_add_attribute ((GtkCellLayout*) column_pix_name, (GtkCellRenderer*) name_rend, "markup", 0);
1201
gtk_tree_view_column_set_resizable (column_pix_name, TRUE);
1202
_tmp6_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL);
1203
g_object_ref_sink (_tmp6_);
1205
_tmp7_ = self->priv->treeview;
1206
gtk_container_add ((GtkContainer*) scroll, (GtkWidget*) _tmp7_);
1207
gtk_scrolled_window_set_policy (scroll, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1208
gtk_scrolled_window_set_shadow_type (scroll, GTK_SHADOW_IN);
1209
gtk_container_set_border_width ((GtkContainer*) scroll, (guint) 1);
1210
gtk_box_pack_start ((GtkBox*) self, (GtkWidget*) scroll, TRUE, TRUE, (guint) 0);
1211
_g_object_unref0 (scroll);
1212
_g_object_unref0 (name_rend);
1213
_g_object_unref0 (pix_rend);
1214
_g_object_unref0 (column_pix_name);
1218
GdkPixbuf* alm_applications_tree_view_get_pixbuf_from_gio_icon (GIcon* icon, gint size) {
1219
GdkPixbuf* result = NULL;
1220
GdkPixbuf* pix = NULL;
1221
GtkIconTheme* theme = NULL;
1222
GtkIconTheme* _tmp0_ = NULL;
1223
GtkIconTheme* _tmp1_ = NULL;
1224
GtkIconInfo* icon_info = NULL;
1225
GIcon* _tmp2_ = NULL;
1226
GError * _inner_error_ = NULL;
1228
_tmp0_ = gtk_icon_theme_get_default ();
1229
_tmp1_ = _g_object_ref0 (_tmp0_);
1233
if (_tmp2_ == NULL) {
1234
GtkIconTheme* _tmp3_ = NULL;
1236
GtkIconInfo* _tmp5_ = NULL;
1239
_tmp5_ = gtk_icon_theme_lookup_icon (_tmp3_, "gtk-execute", _tmp4_, GTK_ICON_LOOKUP_FORCE_SVG);
1240
_gtk_icon_info_free0 (icon_info);
1243
GtkIconTheme* _tmp6_ = NULL;
1244
GIcon* _tmp7_ = NULL;
1246
GtkIconInfo* _tmp9_ = NULL;
1247
GtkIconInfo* _tmp10_ = NULL;
1251
_tmp9_ = gtk_icon_theme_lookup_by_gicon (_tmp6_, _tmp7_, _tmp8_, GTK_ICON_LOOKUP_FORCE_SVG);
1252
_gtk_icon_info_free0 (icon_info);
1254
_tmp10_ = icon_info;
1255
if (_tmp10_ == NULL) {
1256
GtkIconTheme* _tmp11_ = NULL;
1258
GtkIconInfo* _tmp13_ = NULL;
1261
_tmp13_ = gtk_icon_theme_lookup_icon (_tmp11_, "gtk-execute", _tmp12_, GTK_ICON_LOOKUP_FORCE_SVG);
1262
_gtk_icon_info_free0 (icon_info);
1263
icon_info = _tmp13_;
1267
GdkPixbuf* _tmp14_ = NULL;
1268
GtkIconInfo* _tmp15_ = NULL;
1269
GdkPixbuf* _tmp16_ = NULL;
1270
_tmp15_ = icon_info;
1271
_tmp16_ = gtk_icon_info_load_icon (_tmp15_, &_inner_error_);
1273
if (_inner_error_ != NULL) {
1274
goto __catch1_g_error;
1276
_g_object_unref0 (pix);
1284
_inner_error_ = NULL;
1287
_gtk_icon_info_free0 (icon_info);
1288
_g_object_unref0 (theme);
1289
_g_object_unref0 (pix);
1293
if (_inner_error_ != NULL) {
1294
_gtk_icon_info_free0 (icon_info);
1295
_g_object_unref0 (theme);
1296
_g_object_unref0 (pix);
1297
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1298
g_clear_error (&_inner_error_);
1302
_gtk_icon_info_free0 (icon_info);
1303
_g_object_unref0 (theme);
1308
gchar* alm_applications_tree_view_markup_for_app (GDesktopAppInfo* app_info) {
1309
gchar* result = NULL;
1310
gchar* app_name = NULL;
1311
GDesktopAppInfo* _tmp0_ = NULL;
1312
const gchar* _tmp1_ = NULL;
1313
gchar* _tmp2_ = NULL;
1314
gchar* description = NULL;
1315
GDesktopAppInfo* _tmp3_ = NULL;
1316
const gchar* _tmp4_ = NULL;
1317
gchar* _tmp5_ = NULL;
1318
const gchar* _tmp6_ = NULL;
1319
const gchar* _tmp7_ = NULL;
1320
const gchar* _tmp10_ = NULL;
1321
gchar* _tmp11_ = NULL;
1322
const gchar* _tmp12_ = NULL;
1323
gchar* _tmp13_ = NULL;
1324
gchar* _tmp14_ = NULL;
1325
const gchar* _tmp15_ = NULL;
1326
gchar* _tmp16_ = NULL;
1327
gchar* _tmp17_ = NULL;
1328
gchar* _tmp18_ = NULL;
1329
gchar* _tmp19_ = NULL;
1330
g_return_val_if_fail (app_info != NULL, NULL);
1332
_tmp1_ = g_app_info_get_name ((GAppInfo*) _tmp0_);
1333
_tmp2_ = g_strdup (_tmp1_);
1336
_tmp4_ = g_app_info_get_description ((GAppInfo*) _tmp3_);
1337
_tmp5_ = g_strdup (_tmp4_);
1338
description = _tmp5_;
1339
_tmp7_ = description;
1340
if (_tmp7_ != NULL) {
1341
const gchar* _tmp8_ = NULL;
1342
_tmp8_ = description;
1345
const gchar* _tmp9_ = NULL;
1346
_tmp9_ = _ ("No description available");
1350
_tmp11_ = g_strdup (_tmp10_);
1351
_g_free0 (description);
1352
description = _tmp11_;
1354
_tmp13_ = g_markup_escape_text (_tmp12_, (gssize) (-1));
1356
_tmp15_ = description;
1357
_tmp16_ = g_markup_escape_text (_tmp15_, (gssize) (-1));
1359
_tmp18_ = g_strdup_printf ("<b>%s</b>\n%s", _tmp14_, _tmp17_);
1364
_g_free0 (description);
1365
_g_free0 (app_name);
1370
void alm_applications_tree_view_add_application_to_view (AlmApplicationsTreeView* self, const gchar* app) {
1371
GDesktopAppInfo* app_info = NULL;
1372
const gchar* _tmp0_ = NULL;
1373
GDesktopAppInfo* _tmp1_ = NULL;
1374
GDesktopAppInfo* _tmp2_ = NULL;
1375
g_return_if_fail (self != NULL);
1376
g_return_if_fail (app != NULL);
1378
_tmp1_ = g_desktop_app_info_new (_tmp0_);
1381
if (_tmp2_ != NULL) {
1382
GdkPixbuf* pix = NULL;
1383
GDesktopAppInfo* _tmp3_ = NULL;
1384
GIcon* _tmp4_ = NULL;
1385
GdkPixbuf* _tmp5_ = NULL;
1386
gchar* markup = NULL;
1387
GDesktopAppInfo* _tmp6_ = NULL;
1388
gchar* _tmp7_ = NULL;
1389
GtkTreeIter iter = {0};
1390
GtkListStore* _tmp8_ = NULL;
1391
GtkListStore* _tmp9_ = NULL;
1392
GtkTreeIter _tmp10_ = {0};
1393
GtkListStore* _tmp11_ = NULL;
1394
GtkListStore* _tmp12_ = NULL;
1395
GtkTreeIter _tmp13_ = {0};
1396
const gchar* _tmp14_ = NULL;
1397
GdkPixbuf* _tmp15_ = NULL;
1398
const gchar* _tmp16_ = NULL;
1399
GHashTable* _tmp17_ = NULL;
1400
const gchar* _tmp18_ = NULL;
1401
gconstpointer _tmp19_ = NULL;
1403
_tmp4_ = g_app_info_get_icon ((GAppInfo*) _tmp3_);
1404
_tmp5_ = alm_applications_tree_view_get_pixbuf_from_gio_icon (_tmp4_, 32);
1407
_tmp7_ = alm_applications_tree_view_markup_for_app (_tmp6_);
1409
_tmp8_ = alm_applications_tree_view_get_liststore (self);
1411
gtk_list_store_append (_tmp9_, &_tmp10_);
1413
_tmp11_ = alm_applications_tree_view_get_liststore (self);
1419
gtk_list_store_set (_tmp12_, &_tmp13_, 0, _tmp14_, 1, _tmp15_, 2, _tmp16_, -1, -1);
1420
_tmp17_ = self->priv->blocked_apps;
1422
_tmp19_ = g_hash_table_lookup (_tmp17_, _tmp18_);
1423
if (((AlmAppChooseInfo*) _tmp19_) == NULL) {
1424
GHashTable* _tmp20_ = NULL;
1425
const gchar* _tmp21_ = NULL;
1426
gchar* _tmp22_ = NULL;
1427
GDesktopAppInfo* _tmp23_ = NULL;
1428
const gchar* _tmp24_ = NULL;
1429
GDesktopAppInfo* _tmp25_ = NULL;
1430
const gchar* _tmp26_ = NULL;
1431
GdkPixbuf* _tmp27_ = NULL;
1432
AlmAppChooseInfo* _tmp28_ = NULL;
1433
_tmp20_ = self->priv->blocked_apps;
1435
_tmp22_ = g_strdup (_tmp21_);
1437
_tmp24_ = g_app_info_get_id ((GAppInfo*) _tmp23_);
1439
_tmp26_ = g_app_info_get_name ((GAppInfo*) _tmp25_);
1441
_tmp28_ = alm_app_choose_info_new (_tmp24_, _tmp26_, _tmp27_, "", (gint64) 0, (guint) 0);
1442
g_hash_table_insert (_tmp20_, _tmp22_, _tmp28_);
1445
_g_object_unref0 (pix);
1447
_g_object_unref0 (app_info);
1451
void alm_applications_tree_view_remove_app_from_view (AlmApplicationsTreeView* self, const gchar* app) {
1452
GtkTreeModel* model = NULL;
1453
GtkTreeView* _tmp0_ = NULL;
1454
GtkTreeModel* _tmp1_ = NULL;
1455
GtkTreeModel* _tmp2_ = NULL;
1456
GtkTreeIter iter = {0};
1457
GtkTreeModel* _tmp3_ = NULL;
1458
GtkTreeIter _tmp4_ = {0};
1459
g_return_if_fail (self != NULL);
1460
g_return_if_fail (app != NULL);
1461
_tmp0_ = self->priv->treeview;
1462
_tmp1_ = gtk_tree_view_get_model (_tmp0_);
1463
_tmp2_ = _g_object_ref0 (_tmp1_);
1466
gtk_tree_model_get_iter_first (_tmp3_, &_tmp4_);
1469
GValue can_app_value = {0};
1470
GtkTreeModel* _tmp5_ = NULL;
1471
GtkTreeIter _tmp6_ = {0};
1472
GValue _tmp7_ = {0};
1473
gchar* can_app = NULL;
1474
const gchar* _tmp8_ = NULL;
1475
gchar* _tmp9_ = NULL;
1476
const gchar* _tmp10_ = NULL;
1477
const gchar* _tmp11_ = NULL;
1478
gboolean more_entires = FALSE;
1479
GtkTreeModel* _tmp14_ = NULL;
1480
gboolean _tmp15_ = FALSE;
1481
gboolean _tmp16_ = FALSE;
1484
gtk_tree_model_get_value (_tmp5_, &_tmp6_, 2, &_tmp7_);
1485
G_IS_VALUE (&can_app_value) ? (g_value_unset (&can_app_value), NULL) : NULL;
1486
can_app_value = _tmp7_;
1487
_tmp8_ = g_value_get_string (&can_app_value);
1488
_tmp9_ = g_strdup (_tmp8_);
1492
if (g_strcmp0 (_tmp10_, _tmp11_) == 0) {
1493
GtkListStore* _tmp12_ = NULL;
1494
GtkTreeIter _tmp13_ = {0};
1495
_tmp12_ = self->priv->store;
1497
gtk_list_store_remove (_tmp12_, &_tmp13_);
1499
G_IS_VALUE (&can_app_value) ? (g_value_unset (&can_app_value), NULL) : NULL;
1503
_tmp15_ = gtk_tree_model_iter_next (_tmp14_, &iter);
1504
more_entires = _tmp15_;
1505
_tmp16_ = more_entires;
1508
G_IS_VALUE (&can_app_value) ? (g_value_unset (&can_app_value), NULL) : NULL;
1512
G_IS_VALUE (&can_app_value) ? (g_value_unset (&can_app_value), NULL) : NULL;
1514
_g_object_unref0 (model);
1518
gchar* alm_applications_tree_view_remove_selected_app (AlmApplicationsTreeView* self) {
1519
gchar* result = NULL;
1520
GtkTreeSelection* selection = NULL;
1521
GtkTreeView* _tmp0_ = NULL;
1522
GtkTreeSelection* _tmp1_ = NULL;
1523
GtkTreeSelection* _tmp2_ = NULL;
1524
GtkTreeModel* model = NULL;
1525
GtkTreeIter iter = {0};
1527
GtkTreeSelection* _tmp3_ = NULL;
1528
GtkTreeModel* _tmp4_ = NULL;
1529
GtkTreeIter _tmp5_ = {0};
1530
gboolean _tmp6_ = FALSE;
1531
GtkTreeModel* _tmp7_ = NULL;
1532
g_return_val_if_fail (self != NULL, NULL);
1533
_tmp0_ = self->priv->treeview;
1534
_tmp1_ = gtk_tree_view_get_selection (_tmp0_);
1535
_tmp2_ = _g_object_ref0 (_tmp1_);
1539
_tmp6_ = gtk_tree_selection_get_selected (_tmp3_, &_tmp4_, &_tmp5_);
1540
_g_object_unref0 (model);
1541
_tmp7_ = _g_object_ref0 (_tmp4_);
1545
GtkTreeModel* _tmp8_ = NULL;
1546
GtkTreeIter _tmp9_ = {0};
1547
GtkListStore* _tmp10_ = NULL;
1548
GtkListStore* _tmp11_ = NULL;
1549
GtkTreeIter _tmp12_ = {0};
1552
gtk_tree_model_get (_tmp8_, &_tmp9_, 2, &app, -1);
1553
_tmp10_ = alm_applications_tree_view_get_liststore (self);
1556
gtk_list_store_remove (_tmp11_, &_tmp12_);
1559
_g_object_unref0 (model);
1560
_g_object_unref0 (selection);
1565
GtkListStore* alm_applications_tree_view_get_liststore (AlmApplicationsTreeView* self) {
1566
GtkListStore* result;
1567
GtkListStore* _tmp0_ = NULL;
1568
g_return_val_if_fail (self != NULL, NULL);
1569
_tmp0_ = self->priv->store;
1575
static void alm_applications_tree_view_class_init (AlmApplicationsTreeViewClass * klass) {
1576
alm_applications_tree_view_parent_class = g_type_class_peek_parent (klass);
1577
g_type_class_add_private (klass, sizeof (AlmApplicationsTreeViewPrivate));
1578
G_OBJECT_CLASS (klass)->get_property = _vala_alm_applications_tree_view_get_property;
1579
G_OBJECT_CLASS (klass)->finalize = alm_applications_tree_view_finalize;
1580
g_object_class_install_property (G_OBJECT_CLASS (klass), ALM_APPLICATIONS_TREE_VIEW_LISTSTORE, g_param_spec_object ("liststore", "liststore", "liststore", GTK_TYPE_LIST_STORE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
1584
static void alm_applications_tree_view_instance_init (AlmApplicationsTreeView * self) {
1585
self->priv = ALM_APPLICATIONS_TREE_VIEW_GET_PRIVATE (self);
1589
static void alm_applications_tree_view_finalize (GObject* obj) {
1590
AlmApplicationsTreeView * self;
1591
self = G_TYPE_CHECK_INSTANCE_CAST (obj, ALM_TYPE_APPLICATIONS_TREE_VIEW, AlmApplicationsTreeView);
1592
_alm_application_blacklist_unref0 (self->priv->app_blacklist);
1593
_g_object_unref0 (self->priv->store);
1594
_g_object_unref0 (self->priv->treeview);
1595
_g_hash_table_unref0 (self->priv->blocked_apps);
1596
_g_hash_table_unref0 (self->priv->unblocked_apps);
1597
G_OBJECT_CLASS (alm_applications_tree_view_parent_class)->finalize (obj);
1601
GType alm_applications_tree_view_get_type (void) {
1602
static volatile gsize alm_applications_tree_view_type_id__volatile = 0;
1603
if (g_once_init_enter (&alm_applications_tree_view_type_id__volatile)) {
1604
static const GTypeInfo g_define_type_info = { sizeof (AlmApplicationsTreeViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) alm_applications_tree_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AlmApplicationsTreeView), 0, (GInstanceInitFunc) alm_applications_tree_view_instance_init, NULL };
1605
GType alm_applications_tree_view_type_id;
1606
alm_applications_tree_view_type_id = g_type_register_static (GTK_TYPE_BOX, "AlmApplicationsTreeView", &g_define_type_info, 0);
1607
g_once_init_leave (&alm_applications_tree_view_type_id__volatile, alm_applications_tree_view_type_id);
1609
return alm_applications_tree_view_type_id__volatile;
1613
static void _vala_alm_applications_tree_view_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
1614
AlmApplicationsTreeView * self;
1615
self = G_TYPE_CHECK_INSTANCE_CAST (object, ALM_TYPE_APPLICATIONS_TREE_VIEW, AlmApplicationsTreeView);
1616
switch (property_id) {
1617
case ALM_APPLICATIONS_TREE_VIEW_LISTSTORE:
1618
g_value_set_object (value, alm_applications_tree_view_get_liststore (self));
1621
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
1627
static GType alm_app_selection_tree_view_tree_view_cols_get_type (void) {
1628
static volatile gsize alm_app_selection_tree_view_tree_view_cols_type_id__volatile = 0;
1629
if (g_once_init_enter (&alm_app_selection_tree_view_tree_view_cols_type_id__volatile)) {
1630
static const GEnumValue values[] = {{ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_APP_NAME, "ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_APP_NAME", "app-name"}, {ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_ICON, "ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_ICON", "icon"}, {ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_DESKTOP_FILE, "ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_DESKTOP_FILE", "desktop-file"}, {ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_LAST_ACCESSED_STRING, "ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_LAST_ACCESSED_STRING", "last-accessed-string"}, {ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_LAST_ACCESSED_INT, "ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_LAST_ACCESSED_INT", "last-accessed-int"}, {ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_USAGE, "ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_USAGE", "usage"}, {ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_N_COLS, "ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_N_COLS", "n-cols"}, {0, NULL, NULL}};
1631
GType alm_app_selection_tree_view_tree_view_cols_type_id;
1632
alm_app_selection_tree_view_tree_view_cols_type_id = g_enum_register_static ("AlmAppSelectionTreeViewTreeViewCols", values);
1633
g_once_init_leave (&alm_app_selection_tree_view_tree_view_cols_type_id__volatile, alm_app_selection_tree_view_tree_view_cols_type_id);
1635
return alm_app_selection_tree_view_tree_view_cols_type_id__volatile;
1639
AlmAppSelectionTreeView* alm_app_selection_tree_view_construct (GType object_type, AlmApplicationBlacklist* app_blacklist) {
1640
AlmAppSelectionTreeView * self = NULL;
1641
AlmApplicationBlacklist* _tmp0_ = NULL;
1642
AlmApplicationBlacklist* _tmp1_ = NULL;
1643
GtkListStore* _tmp2_ = NULL;
1644
GtkListStore* _tmp3_ = NULL;
1645
GtkTreeView* _tmp4_ = NULL;
1646
GtkTreeView* _tmp5_ = NULL;
1647
GtkTreeView* _tmp6_ = NULL;
1648
g_return_val_if_fail (app_blacklist != NULL, NULL);
1649
self = (AlmAppSelectionTreeView*) g_object_new (object_type, "orientation", GTK_ORIENTATION_VERTICAL, NULL);
1650
_tmp0_ = app_blacklist;
1651
_tmp1_ = _alm_application_blacklist_ref0 (_tmp0_);
1652
_alm_application_blacklist_unref0 (self->priv->app_blacklist);
1653
self->priv->app_blacklist = _tmp1_;
1654
_tmp2_ = gtk_list_store_new ((gint) ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_N_COLS, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT64, G_TYPE_UINT);
1655
_g_object_unref0 (self->priv->store);
1656
self->priv->store = _tmp2_;
1657
_tmp3_ = self->priv->store;
1658
_tmp4_ = (GtkTreeView*) gtk_tree_view_new_with_model ((GtkTreeModel*) _tmp3_);
1659
g_object_ref_sink (_tmp4_);
1660
_g_object_unref0 (self->priv->treeview);
1661
self->priv->treeview = _tmp4_;
1662
_tmp5_ = self->priv->treeview;
1663
gtk_tree_view_set_headers_visible (_tmp5_, TRUE);
1664
_tmp6_ = self->priv->treeview;
1665
gtk_tree_view_set_rules_hint (_tmp6_, TRUE);
1666
alm_app_selection_tree_view_set_up_ui (self);
1671
AlmAppSelectionTreeView* alm_app_selection_tree_view_new (AlmApplicationBlacklist* app_blacklist) {
1672
return alm_app_selection_tree_view_construct (ALM_TYPE_APP_SELECTION_TREE_VIEW, app_blacklist);
1676
static void alm_app_selection_tree_view_set_up_ui (AlmAppSelectionTreeView* self) {
1677
GtkTreeViewColumn* column_pix_name = NULL;
1678
GtkTreeViewColumn* _tmp0_ = NULL;
1679
const gchar* _tmp1_ = NULL;
1680
GtkTreeView* _tmp2_ = NULL;
1681
GtkCellRendererPixbuf* pix_rend = NULL;
1682
GtkCellRendererPixbuf* _tmp3_ = NULL;
1683
GtkCellRendererText* name_rend = NULL;
1684
GtkCellRendererText* _tmp4_ = NULL;
1685
GValue _tmp5_ = {0};
1686
GtkTreeViewColumn* column_used_name = NULL;
1687
GtkTreeViewColumn* _tmp6_ = NULL;
1688
const gchar* _tmp7_ = NULL;
1689
GtkTreeView* _tmp8_ = NULL;
1690
GtkCellRendererText* used_rend = NULL;
1691
GtkCellRendererText* _tmp9_ = NULL;
1692
GValue _tmp10_ = {0};
1693
GValue _tmp11_ = {0};
1694
GtkTreeViewColumn* column_usage_name = NULL;
1695
GtkTreeViewColumn* _tmp12_ = NULL;
1696
const gchar* _tmp13_ = NULL;
1697
GtkTreeView* _tmp14_ = NULL;
1698
AlmUsageCellRenderer* usage_rend = NULL;
1699
AlmUsageCellRenderer* _tmp15_ = NULL;
1700
GtkScrolledWindow* scroll = NULL;
1701
GtkScrolledWindow* _tmp16_ = NULL;
1702
GtkTreeView* _tmp17_ = NULL;
1703
g_return_if_fail (self != NULL);
1704
_tmp0_ = gtk_tree_view_column_new ();
1705
g_object_ref_sink (_tmp0_);
1706
column_pix_name = _tmp0_;
1707
_tmp1_ = _ ("Name");
1708
gtk_tree_view_column_set_title (column_pix_name, _tmp1_);
1709
_tmp2_ = self->priv->treeview;
1710
gtk_tree_view_append_column (_tmp2_, column_pix_name);
1711
_tmp3_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new ();
1712
g_object_ref_sink (_tmp3_);
1714
gtk_cell_layout_pack_start ((GtkCellLayout*) column_pix_name, (GtkCellRenderer*) pix_rend, FALSE);
1715
gtk_cell_layout_add_attribute ((GtkCellLayout*) column_pix_name, (GtkCellRenderer*) pix_rend, "pixbuf", 1);
1716
_tmp4_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
1717
g_object_ref_sink (_tmp4_);
1719
g_value_init (&_tmp5_, pango_ellipsize_mode_get_type ());
1720
g_value_set_enum (&_tmp5_, PANGO_ELLIPSIZE_END);
1721
g_object_set_property ((GObject*) name_rend, "ellipsize", &_tmp5_);
1722
G_IS_VALUE (&_tmp5_) ? (g_value_unset (&_tmp5_), NULL) : NULL;
1723
gtk_cell_layout_pack_start ((GtkCellLayout*) column_pix_name, (GtkCellRenderer*) name_rend, TRUE);
1724
gtk_cell_layout_add_attribute ((GtkCellLayout*) column_pix_name, (GtkCellRenderer*) name_rend, "text", 0);
1725
gtk_tree_view_column_set_resizable (column_pix_name, TRUE);
1726
gtk_tree_view_column_set_min_width (column_pix_name, 200);
1727
gtk_tree_view_column_set_max_width (column_pix_name, 400);
1728
gtk_tree_view_column_set_sort_column_id (column_pix_name, 0);
1729
_tmp6_ = gtk_tree_view_column_new ();
1730
g_object_ref_sink (_tmp6_);
1731
column_used_name = _tmp6_;
1732
_tmp7_ = _ ("Last Used");
1733
gtk_tree_view_column_set_title (column_used_name, _tmp7_);
1734
_tmp8_ = self->priv->treeview;
1735
gtk_tree_view_append_column (_tmp8_, column_used_name);
1736
_tmp9_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
1737
g_object_ref_sink (_tmp9_);
1739
g_value_init (&_tmp10_, pango_ellipsize_mode_get_type ());
1740
g_value_set_enum (&_tmp10_, PANGO_ELLIPSIZE_END);
1741
g_object_set_property ((GObject*) used_rend, "ellipsize", &_tmp10_);
1742
G_IS_VALUE (&_tmp10_) ? (g_value_unset (&_tmp10_), NULL) : NULL;
1743
gtk_cell_layout_pack_start ((GtkCellLayout*) column_used_name, (GtkCellRenderer*) used_rend, TRUE);
1744
gtk_cell_layout_add_attribute ((GtkCellLayout*) column_used_name, (GtkCellRenderer*) used_rend, "text", 3);
1745
gtk_tree_view_column_set_resizable (column_used_name, TRUE);
1746
gtk_tree_view_column_set_min_width (column_used_name, 200);
1747
gtk_tree_view_column_set_max_width (column_used_name, 400);
1748
gtk_tree_view_column_set_sort_column_id (column_used_name, 4);
1749
g_value_init (&_tmp11_, G_TYPE_INT);
1750
g_value_set_int (&_tmp11_, 0);
1751
g_object_set_property ((GObject*) used_rend, "xalign", &_tmp11_);
1752
G_IS_VALUE (&_tmp11_) ? (g_value_unset (&_tmp11_), NULL) : NULL;
1753
_tmp12_ = gtk_tree_view_column_new ();
1754
g_object_ref_sink (_tmp12_);
1755
column_usage_name = _tmp12_;
1756
_tmp13_ = _ ("Activity");
1757
gtk_tree_view_column_set_title (column_usage_name, _tmp13_);
1758
_tmp14_ = self->priv->treeview;
1759
gtk_tree_view_append_column (_tmp14_, column_usage_name);
1760
_tmp15_ = alm_usage_cell_renderer_new ();
1761
g_object_ref_sink (_tmp15_);
1762
usage_rend = _tmp15_;
1763
gtk_cell_layout_pack_start ((GtkCellLayout*) column_usage_name, (GtkCellRenderer*) usage_rend, TRUE);
1764
gtk_cell_layout_add_attribute ((GtkCellLayout*) column_usage_name, (GtkCellRenderer*) usage_rend, "usage", 5);
1765
gtk_tree_view_column_set_sort_column_id (column_usage_name, 5);
1766
gtk_tree_view_column_clicked (column_usage_name);
1767
gtk_tree_view_column_clicked (column_usage_name);
1768
_tmp16_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL);
1769
g_object_ref_sink (_tmp16_);
1771
_tmp17_ = self->priv->treeview;
1772
gtk_container_add ((GtkContainer*) scroll, (GtkWidget*) _tmp17_);
1773
gtk_scrolled_window_set_policy (scroll, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1774
gtk_scrolled_window_set_shadow_type (scroll, GTK_SHADOW_IN);
1775
gtk_container_set_border_width ((GtkContainer*) scroll, (guint) 1);
1776
gtk_box_pack_start ((GtkBox*) self, (GtkWidget*) scroll, TRUE, TRUE, (guint) 0);
1777
_g_object_unref0 (scroll);
1778
_g_object_unref0 (usage_rend);
1779
_g_object_unref0 (column_usage_name);
1780
_g_object_unref0 (used_rend);
1781
_g_object_unref0 (column_used_name);
1782
_g_object_unref0 (name_rend);
1783
_g_object_unref0 (pix_rend);
1784
_g_object_unref0 (column_pix_name);
1788
GtkTreeView* alm_app_selection_tree_view_get_tree (AlmAppSelectionTreeView* self) {
1789
GtkTreeView* result;
1790
GtkTreeView* _tmp0_ = NULL;
1791
g_return_val_if_fail (self != NULL, NULL);
1792
_tmp0_ = self->priv->treeview;
1798
GtkListStore* alm_app_selection_tree_view_get_liststore (AlmAppSelectionTreeView* self) {
1799
GtkListStore* result;
1800
GtkListStore* _tmp0_ = NULL;
1801
g_return_val_if_fail (self != NULL, NULL);
1802
_tmp0_ = self->priv->store;
1808
static void alm_app_selection_tree_view_class_init (AlmAppSelectionTreeViewClass * klass) {
1809
alm_app_selection_tree_view_parent_class = g_type_class_peek_parent (klass);
1810
g_type_class_add_private (klass, sizeof (AlmAppSelectionTreeViewPrivate));
1811
G_OBJECT_CLASS (klass)->get_property = _vala_alm_app_selection_tree_view_get_property;
1812
G_OBJECT_CLASS (klass)->finalize = alm_app_selection_tree_view_finalize;
1813
g_object_class_install_property (G_OBJECT_CLASS (klass), ALM_APP_SELECTION_TREE_VIEW_TREE, g_param_spec_object ("tree", "tree", "tree", GTK_TYPE_TREE_VIEW, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
1814
g_object_class_install_property (G_OBJECT_CLASS (klass), ALM_APP_SELECTION_TREE_VIEW_LISTSTORE, g_param_spec_object ("liststore", "liststore", "liststore", GTK_TYPE_LIST_STORE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
1818
static void alm_app_selection_tree_view_instance_init (AlmAppSelectionTreeView * self) {
1819
self->priv = ALM_APP_SELECTION_TREE_VIEW_GET_PRIVATE (self);
1823
static void alm_app_selection_tree_view_finalize (GObject* obj) {
1824
AlmAppSelectionTreeView * self;
1825
self = G_TYPE_CHECK_INSTANCE_CAST (obj, ALM_TYPE_APP_SELECTION_TREE_VIEW, AlmAppSelectionTreeView);
1826
_alm_application_blacklist_unref0 (self->priv->app_blacklist);
1827
_g_object_unref0 (self->priv->store);
1828
_g_object_unref0 (self->priv->treeview);
1829
G_OBJECT_CLASS (alm_app_selection_tree_view_parent_class)->finalize (obj);
1833
GType alm_app_selection_tree_view_get_type (void) {
1834
static volatile gsize alm_app_selection_tree_view_type_id__volatile = 0;
1835
if (g_once_init_enter (&alm_app_selection_tree_view_type_id__volatile)) {
1836
static const GTypeInfo g_define_type_info = { sizeof (AlmAppSelectionTreeViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) alm_app_selection_tree_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AlmAppSelectionTreeView), 0, (GInstanceInitFunc) alm_app_selection_tree_view_instance_init, NULL };
1837
GType alm_app_selection_tree_view_type_id;
1838
alm_app_selection_tree_view_type_id = g_type_register_static (GTK_TYPE_BOX, "AlmAppSelectionTreeView", &g_define_type_info, 0);
1839
g_once_init_leave (&alm_app_selection_tree_view_type_id__volatile, alm_app_selection_tree_view_type_id);
1841
return alm_app_selection_tree_view_type_id__volatile;
1845
static void _vala_alm_app_selection_tree_view_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
1846
AlmAppSelectionTreeView * self;
1847
self = G_TYPE_CHECK_INSTANCE_CAST (object, ALM_TYPE_APP_SELECTION_TREE_VIEW, AlmAppSelectionTreeView);
1848
switch (property_id) {
1849
case ALM_APP_SELECTION_TREE_VIEW_TREE:
1850
g_value_set_object (value, alm_app_selection_tree_view_get_tree (self));
1852
case ALM_APP_SELECTION_TREE_VIEW_LISTSTORE:
1853
g_value_set_object (value, alm_app_selection_tree_view_get_liststore (self));
1856
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
1862
static void _g_free0_ (gpointer var) {
1863
var = (g_free (var), NULL);
1867
AlmApplicationsChooserDialog* alm_applications_chooser_dialog_construct (GType object_type, AlmApplicationBlacklist* app_blacklist, GHashTable* blocked_list, GHashTable* unblocked_list) {
1868
AlmApplicationsChooserDialog * self = NULL;
1869
AlmApplicationBlacklist* _tmp0_ = NULL;
1870
AlmApplicationBlacklist* _tmp1_ = NULL;
1871
GHashTable* _tmp2_ = NULL;
1872
GHashTable* _tmp3_ = NULL;
1873
GHashTable* _tmp4_ = NULL;
1874
GHashTable* _tmp5_ = NULL;
1875
GHashFunc _tmp6_ = NULL;
1876
GEqualFunc _tmp7_ = NULL;
1877
GHashTable* _tmp8_ = NULL;
1878
const gchar* _tmp9_ = NULL;
1879
AlmApplicationBlacklist* _tmp10_ = NULL;
1880
g_return_val_if_fail (app_blacklist != NULL, NULL);
1881
g_return_val_if_fail (blocked_list != NULL, NULL);
1882
g_return_val_if_fail (unblocked_list != NULL, NULL);
1883
self = (AlmApplicationsChooserDialog*) g_object_new (object_type, NULL);
1884
_tmp0_ = app_blacklist;
1885
_tmp1_ = _alm_application_blacklist_ref0 (_tmp0_);
1886
_alm_application_blacklist_unref0 (self->priv->app_blacklist);
1887
self->priv->app_blacklist = _tmp1_;
1888
_tmp2_ = blocked_list;
1889
_tmp3_ = _g_hash_table_ref0 (_tmp2_);
1890
_g_hash_table_unref0 (self->priv->blocked_apps);
1891
self->priv->blocked_apps = _tmp3_;
1892
_tmp4_ = unblocked_list;
1893
_tmp5_ = _g_hash_table_ref0 (_tmp4_);
1894
_g_hash_table_unref0 (self->priv->unblocked_apps);
1895
self->priv->unblocked_apps = _tmp5_;
1896
_tmp6_ = g_str_hash;
1897
_tmp7_ = g_str_equal;
1898
_tmp8_ = g_hash_table_new_full (_tmp6_, _tmp7_, _g_free0_, _g_free0_);
1899
_g_hash_table_unref0 (self->priv->actors_iter);
1900
self->priv->actors_iter = _tmp8_;
1901
_tmp9_ = _ ("Select Application");
1902
gtk_window_set_title ((GtkWindow*) self, _tmp9_);
1903
gtk_window_set_destroy_with_parent ((GtkWindow*) self, TRUE);
1904
gtk_widget_set_size_request ((GtkWidget*) self, 600, 400);
1905
gtk_window_set_skip_taskbar_hint ((GtkWindow*) self, TRUE);
1906
gtk_container_set_border_width ((GtkContainer*) self, (guint) 12);
1907
gtk_window_set_resizable ((GtkWindow*) self, FALSE);
1908
alm_applications_chooser_dialog_set_up_ui (self);
1909
_tmp10_ = self->priv->app_blacklist;
1910
alm_application_blacklist_get_all_applications (_tmp10_, self);
1915
AlmApplicationsChooserDialog* alm_applications_chooser_dialog_new (AlmApplicationBlacklist* app_blacklist, GHashTable* blocked_list, GHashTable* unblocked_list) {
1916
return alm_applications_chooser_dialog_construct (ALM_TYPE_APPLICATIONS_CHOOSER_DIALOG, app_blacklist, blocked_list, unblocked_list);
1920
static gint alm_applications_chooser_dialog_compare_dates (AlmApplicationsChooserDialog* self, GDateTime* now, GDateTime* time) {
1929
GDateTime* _tmp0_ = NULL;
1933
GDateTime* _tmp4_ = NULL;
1937
gboolean _tmp8_ = FALSE;
1938
gboolean _tmp9_ = FALSE;
1941
gboolean _tmp14_ = FALSE;
1942
gboolean _tmp17_ = FALSE;
1943
g_return_val_if_fail (self != NULL, 0);
1944
g_return_val_if_fail (now != NULL, 0);
1945
g_return_val_if_fail (time != NULL, 0);
1948
g_date_time_get_ymd (_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_);
1953
g_date_time_get_ymd (_tmp4_, &_tmp5_, &_tmp6_, &_tmp7_);
1959
if (_tmp10_ == _tmp11_) {
1964
_tmp9_ = _tmp12_ == _tmp13_;
1974
_tmp8_ = _tmp15_ == _tmp16_;
1983
gboolean _tmp18_ = FALSE;
1984
gboolean _tmp19_ = FALSE;
1987
gboolean _tmp24_ = FALSE;
1988
gboolean _tmp27_ = FALSE;
1991
if (_tmp20_ == _tmp21_) {
1996
_tmp19_ = _tmp22_ == _tmp23_;
2006
_tmp18_ = _tmp25_ == (_tmp26_ + 1);
2021
static gint64* _int64_dup (gint64* self) {
2023
dup = g_new0 (gint64, 1);
2024
memcpy (dup, self, sizeof (gint64));
2029
static gpointer __int64_dup0 (gpointer self) {
2030
return self ? _int64_dup (self) : NULL;
2034
static void _g_object_unref0_ (gpointer var) {
2035
(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
2039
static void _g_list_free__g_object_unref0_ (GList* self) {
2040
g_list_foreach (self, (GFunc) _g_object_unref0_, NULL);
2045
void alm_applications_chooser_dialog_handle_app_population (AlmApplicationsChooserDialog* self, GHashTable* all_actors) {
2046
GHashTable* _tmp0_ = NULL;
2047
GHashTable* _tmp1_ = NULL;
2048
GList* all_infos = NULL;
2049
GList* _tmp2_ = NULL;
2050
GList* other_appinfo = NULL;
2051
GList* _tmp3_ = NULL;
2052
g_return_if_fail (self != NULL);
2053
g_return_if_fail (all_actors != NULL);
2054
_tmp0_ = all_actors;
2055
_tmp1_ = _g_hash_table_ref0 (_tmp0_);
2056
_g_hash_table_unref0 (self->priv->all_actors_list);
2057
self->priv->all_actors_list = _tmp1_;
2058
_tmp2_ = g_app_info_get_all ();
2060
other_appinfo = NULL;
2063
GList* app_info_collection = NULL;
2064
GList* app_info_it = NULL;
2065
app_info_collection = _tmp3_;
2066
for (app_info_it = app_info_collection; app_info_it != NULL; app_info_it = app_info_it->next) {
2067
GAppInfo* _tmp4_ = NULL;
2068
GAppInfo* app_info = NULL;
2069
_tmp4_ = _g_object_ref0 ((GAppInfo*) app_info_it->data);
2073
GAppInfo* _tmp5_ = NULL;
2074
const gchar* _tmp6_ = NULL;
2075
gchar* _tmp7_ = NULL;
2076
gint64* last_accessed_time = NULL;
2077
GHashTable* _tmp8_ = NULL;
2078
const gchar* _tmp9_ = NULL;
2079
gconstpointer _tmp10_ = NULL;
2080
gint64* _tmp11_ = NULL;
2081
gint64* _tmp12_ = NULL;
2083
_tmp6_ = g_app_info_get_id (_tmp5_);
2084
_tmp7_ = g_strdup (_tmp6_);
2086
_tmp8_ = all_actors;
2088
_tmp10_ = g_hash_table_lookup (_tmp8_, _tmp9_);
2089
_tmp11_ = __int64_dup0 ((gint64*) _tmp10_);
2090
last_accessed_time = _tmp11_;
2091
_tmp12_ = last_accessed_time;
2092
if (_tmp12_ != NULL) {
2093
GDateTime* time = NULL;
2094
gint64* _tmp13_ = NULL;
2095
GDateTime* _tmp14_ = NULL;
2096
GDateTime* now = NULL;
2097
GDateTime* _tmp15_ = NULL;
2099
GDateTime* _tmp16_ = NULL;
2100
GDateTime* _tmp17_ = NULL;
2102
gchar* last_accessed = NULL;
2103
gchar* _tmp19_ = NULL;
2105
GAppInfo* _tmp31_ = NULL;
2106
const gchar* _tmp32_ = NULL;
2107
gint64* _tmp33_ = NULL;
2108
_tmp13_ = last_accessed_time;
2109
_tmp14_ = g_date_time_new_from_unix_local ((*_tmp13_) / 1000);
2111
_tmp15_ = g_date_time_new_now_local ();
2115
_tmp18_ = alm_applications_chooser_dialog_compare_dates (self, _tmp16_, _tmp17_);
2117
_tmp19_ = g_strdup ("");
2118
last_accessed = _tmp19_;
2121
GDateTime* _tmp21_ = NULL;
2122
const gchar* _tmp22_ = NULL;
2123
gchar* _tmp23_ = NULL;
2125
_tmp22_ = _ ("Today, %H:%M");
2126
_tmp23_ = g_date_time_format (_tmp21_, _tmp22_);
2127
_g_free0 (last_accessed);
2128
last_accessed = _tmp23_;
2133
GDateTime* _tmp25_ = NULL;
2134
const gchar* _tmp26_ = NULL;
2135
gchar* _tmp27_ = NULL;
2137
_tmp26_ = _ ("Yesterday, %H:%M");
2138
_tmp27_ = g_date_time_format (_tmp25_, _tmp26_);
2139
_g_free0 (last_accessed);
2140
last_accessed = _tmp27_;
2142
GDateTime* _tmp28_ = NULL;
2143
const gchar* _tmp29_ = NULL;
2144
gchar* _tmp30_ = NULL;
2146
_tmp29_ = _ ("%e %B %Y, %H:%M");
2147
_tmp30_ = g_date_time_format (_tmp28_, _tmp29_);
2148
_g_free0 (last_accessed);
2149
last_accessed = _tmp30_;
2153
_tmp32_ = last_accessed;
2154
_tmp33_ = last_accessed_time;
2155
alm_applications_chooser_dialog_insert_liststore (self, _tmp31_, _tmp32_, *_tmp33_, (guint) 0);
2156
_g_free0 (last_accessed);
2157
_g_date_time_unref0 (now);
2158
_g_date_time_unref0 (time);
2160
GAppInfo* _tmp34_ = NULL;
2161
GAppInfo* _tmp35_ = NULL;
2162
GAppInfo* _tmp36_ = NULL;
2163
const gchar* _tmp37_ = NULL;
2165
_tmp35_ = _g_object_ref0 (_tmp34_);
2166
other_appinfo = g_list_append (other_appinfo, _tmp35_);
2168
_tmp37_ = _ ("Never");
2169
alm_applications_chooser_dialog_insert_liststore (self, _tmp36_, _tmp37_, (gint64) 0, (guint) 0);
2171
_g_free0 (last_accessed_time);
2173
_g_object_unref0 (app_info);
2177
__g_list_free__g_object_unref0_0 (other_appinfo);
2178
__g_list_free__g_object_unref0_0 (all_infos);
2182
static gpointer _alm_app_choose_info_ref0 (gpointer self) {
2183
return self ? alm_app_choose_info_ref (self) : NULL;
2187
void alm_applications_chooser_dialog_insert_liststore (AlmApplicationsChooserDialog* self, GAppInfo* app_info, const gchar* last_accessed, gint64 last_accessed_time, guint usage) {
2189
GAppInfo* _tmp0_ = NULL;
2190
const gchar* _tmp1_ = NULL;
2191
gchar* _tmp2_ = NULL;
2193
GAppInfo* _tmp3_ = NULL;
2194
const gchar* _tmp4_ = NULL;
2195
gchar* _tmp5_ = NULL;
2197
GAppInfo* _tmp6_ = NULL;
2198
GIcon* _tmp7_ = NULL;
2199
GIcon* _tmp8_ = NULL;
2200
GdkPixbuf* pix = NULL;
2201
GIcon* _tmp9_ = NULL;
2202
GdkPixbuf* _tmp10_ = NULL;
2203
AlmAppChooseInfo* app_choose_info = NULL;
2204
GHashTable* _tmp11_ = NULL;
2205
const gchar* _tmp12_ = NULL;
2206
gconstpointer _tmp13_ = NULL;
2207
AlmAppChooseInfo* _tmp14_ = NULL;
2208
AlmAppChooseInfo* _tmp15_ = NULL;
2209
g_return_if_fail (self != NULL);
2210
g_return_if_fail (app_info != NULL);
2211
g_return_if_fail (last_accessed != NULL);
2213
_tmp1_ = g_app_info_get_id (_tmp0_);
2214
_tmp2_ = g_strdup (_tmp1_);
2217
_tmp4_ = g_app_info_get_name (_tmp3_);
2218
_tmp5_ = g_strdup (_tmp4_);
2221
_tmp7_ = g_app_info_get_icon (_tmp6_);
2222
_tmp8_ = _g_object_ref0 (_tmp7_);
2225
_tmp10_ = alm_applications_tree_view_get_pixbuf_from_gio_icon (_tmp9_, 32);
2227
_tmp11_ = self->priv->blocked_apps;
2229
_tmp13_ = g_hash_table_lookup (_tmp11_, _tmp12_);
2230
_tmp14_ = _alm_app_choose_info_ref0 ((AlmAppChooseInfo*) _tmp13_);
2231
app_choose_info = _tmp14_;
2232
_tmp15_ = app_choose_info;
2233
if (_tmp15_ == NULL) {
2234
GtkTreeIter iter = {0};
2235
AlmAppSelectionTreeView* _tmp16_ = NULL;
2236
GtkListStore* _tmp17_ = NULL;
2237
GtkListStore* _tmp18_ = NULL;
2238
GtkTreeIter _tmp19_ = {0};
2239
AlmAppSelectionTreeView* _tmp20_ = NULL;
2240
GtkListStore* _tmp21_ = NULL;
2241
GtkListStore* _tmp22_ = NULL;
2242
GtkTreeIter _tmp23_ = {0};
2243
const gchar* _tmp24_ = NULL;
2244
GdkPixbuf* _tmp25_ = NULL;
2245
const gchar* _tmp26_ = NULL;
2246
const gchar* _tmp27_ = NULL;
2247
gint64 _tmp28_ = 0LL;
2248
GHashTable* _tmp29_ = NULL;
2249
const gchar* _tmp30_ = NULL;
2250
gchar* _tmp31_ = NULL;
2251
const gchar* _tmp32_ = NULL;
2252
const gchar* _tmp33_ = NULL;
2253
GdkPixbuf* _tmp34_ = NULL;
2254
const gchar* _tmp35_ = NULL;
2255
gint64 _tmp36_ = 0LL;
2257
AlmAppChooseInfo* _tmp38_ = NULL;
2258
gint64 _tmp39_ = 0LL;
2259
_tmp16_ = self->priv->treeview;
2260
_tmp17_ = alm_app_selection_tree_view_get_liststore (_tmp16_);
2262
gtk_list_store_append (_tmp18_, &_tmp19_);
2264
_tmp20_ = self->priv->treeview;
2265
_tmp21_ = alm_app_selection_tree_view_get_liststore (_tmp20_);
2271
_tmp27_ = last_accessed;
2272
_tmp28_ = last_accessed_time;
2273
gtk_list_store_set (_tmp22_, &_tmp23_, 0, _tmp24_, 1, _tmp25_, 2, _tmp26_, 3, _tmp27_, 4, _tmp28_, 5, 0, -1, -1);
2274
_tmp29_ = self->priv->blocked_apps;
2276
_tmp31_ = g_strdup (_tmp30_);
2280
_tmp35_ = last_accessed;
2281
_tmp36_ = last_accessed_time;
2283
_tmp38_ = alm_app_choose_info_new (_tmp32_, _tmp33_, _tmp34_, _tmp35_, _tmp36_, _tmp37_);
2284
g_hash_table_insert (_tmp29_, _tmp31_, _tmp38_);
2285
_tmp39_ = last_accessed_time;
2286
if (_tmp39_ > ((gint64) 0)) {
2287
AlmApplicationBlacklist* _tmp40_ = NULL;
2288
const gchar* _tmp41_ = NULL;
2289
GtkTreeIter _tmp42_ = {0};
2290
AlmAppSelectionTreeView* _tmp43_ = NULL;
2291
GtkListStore* _tmp44_ = NULL;
2292
GtkListStore* _tmp45_ = NULL;
2293
_tmp40_ = self->priv->app_blacklist;
2296
_tmp43_ = self->priv->treeview;
2297
_tmp44_ = alm_app_selection_tree_view_get_liststore (_tmp43_);
2299
alm_application_blacklist_get_count_for_app (_tmp40_, _tmp41_, &_tmp42_, _tmp45_);
2302
AlmAppChooseInfo* _tmp46_ = NULL;
2303
const gchar* _tmp47_ = NULL;
2304
AlmAppChooseInfo* _tmp48_ = NULL;
2305
_tmp46_ = app_choose_info;
2306
_tmp47_ = last_accessed;
2307
alm_app_choose_info_set_last_accessed (_tmp46_, _tmp47_);
2308
_tmp48_ = app_choose_info;
2309
alm_app_choose_info_set_usage (_tmp48_, (guint) 0);
2311
_alm_app_choose_info_unref0 (app_choose_info);
2312
_g_object_unref0 (pix);
2313
_g_object_unref0 (icon);
2319
void alm_applications_chooser_dialog_insert_app_liststore (AlmApplicationsChooserDialog* self, const gchar* app) {
2320
AlmAppChooseInfo* app_choose_info = NULL;
2321
GHashTable* _tmp0_ = NULL;
2322
const gchar* _tmp1_ = NULL;
2323
gconstpointer _tmp2_ = NULL;
2324
AlmAppChooseInfo* _tmp3_ = NULL;
2325
AlmAppChooseInfo* _tmp4_ = NULL;
2326
g_return_if_fail (self != NULL);
2327
g_return_if_fail (app != NULL);
2328
_tmp0_ = self->priv->unblocked_apps;
2330
_tmp2_ = g_hash_table_lookup (_tmp0_, _tmp1_);
2331
_tmp3_ = _alm_app_choose_info_ref0 ((AlmAppChooseInfo*) _tmp2_);
2332
app_choose_info = _tmp3_;
2333
_tmp4_ = app_choose_info;
2334
if (_tmp4_ != NULL) {
2335
GtkTreeIter iter = {0};
2336
AlmAppSelectionTreeView* _tmp5_ = NULL;
2337
GtkListStore* _tmp6_ = NULL;
2338
GtkListStore* _tmp7_ = NULL;
2339
GtkTreeIter _tmp8_ = {0};
2340
AlmAppSelectionTreeView* _tmp9_ = NULL;
2341
GtkListStore* _tmp10_ = NULL;
2342
GtkListStore* _tmp11_ = NULL;
2343
GtkTreeIter _tmp12_ = {0};
2344
AlmAppChooseInfo* _tmp13_ = NULL;
2345
const gchar* _tmp14_ = NULL;
2346
const gchar* _tmp15_ = NULL;
2347
AlmAppChooseInfo* _tmp16_ = NULL;
2348
GdkPixbuf* _tmp17_ = NULL;
2349
GdkPixbuf* _tmp18_ = NULL;
2350
const gchar* _tmp19_ = NULL;
2351
AlmAppChooseInfo* _tmp20_ = NULL;
2352
const gchar* _tmp21_ = NULL;
2353
const gchar* _tmp22_ = NULL;
2354
AlmAppChooseInfo* _tmp23_ = NULL;
2355
gint64 _tmp24_ = 0LL;
2356
gint64 _tmp25_ = 0LL;
2357
AlmApplicationBlacklist* _tmp26_ = NULL;
2358
AlmAppChooseInfo* _tmp27_ = NULL;
2359
gchar* _tmp28_ = NULL;
2360
gchar* _tmp29_ = NULL;
2361
GtkTreeIter _tmp30_ = {0};
2362
AlmAppSelectionTreeView* _tmp31_ = NULL;
2363
GtkListStore* _tmp32_ = NULL;
2364
GtkListStore* _tmp33_ = NULL;
2365
_tmp5_ = self->priv->treeview;
2366
_tmp6_ = alm_app_selection_tree_view_get_liststore (_tmp5_);
2368
gtk_list_store_insert (_tmp7_, &_tmp8_, 1);
2370
_tmp9_ = self->priv->treeview;
2371
_tmp10_ = alm_app_selection_tree_view_get_liststore (_tmp9_);
2374
_tmp13_ = app_choose_info;
2375
_tmp14_ = alm_app_choose_info_get_name (_tmp13_);
2377
_tmp16_ = app_choose_info;
2378
_tmp17_ = alm_app_choose_info_get_icon (_tmp16_);
2381
_tmp20_ = app_choose_info;
2382
_tmp21_ = alm_app_choose_info_get_last_accessed (_tmp20_);
2384
_tmp23_ = app_choose_info;
2385
_tmp24_ = alm_app_choose_info_get_last_accessed_time (_tmp23_);
2387
gtk_list_store_set (_tmp11_, &_tmp12_, 0, _tmp15_, 1, _tmp18_, 2, _tmp19_, 3, _tmp22_, 4, _tmp25_, -1, -1);
2388
_tmp26_ = self->priv->app_blacklist;
2389
_tmp27_ = app_choose_info;
2390
_tmp28_ = alm_app_choose_info_get_id (_tmp27_);
2393
_tmp31_ = self->priv->treeview;
2394
_tmp32_ = alm_app_selection_tree_view_get_liststore (_tmp31_);
2396
alm_application_blacklist_get_count_for_app (_tmp26_, _tmp29_, &_tmp30_, _tmp33_);
2399
_alm_app_choose_info_unref0 (app_choose_info);
2403
static void alm_applications_chooser_dialog_set_up_ui (AlmApplicationsChooserDialog* self) {
2404
AlmApplicationBlacklist* _tmp0_ = NULL;
2405
AlmAppSelectionTreeView* _tmp1_ = NULL;
2406
GtkBox* area = NULL;
2407
GtkBox* _tmp2_ = NULL;
2408
GtkBox* _tmp3_ = NULL;
2409
AlmAppSelectionTreeView* _tmp4_ = NULL;
2410
AlmAppSelectionTreeView* _tmp5_ = NULL;
2411
g_return_if_fail (self != NULL);
2412
_tmp0_ = self->priv->app_blacklist;
2413
_tmp1_ = alm_app_selection_tree_view_new (_tmp0_);
2414
g_object_ref_sink (_tmp1_);
2415
_g_object_unref0 (self->priv->treeview);
2416
self->priv->treeview = _tmp1_;
2417
_tmp2_ = (GtkBox*) gtk_dialog_get_content_area ((GtkDialog*) self);
2418
_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, GTK_TYPE_BOX) ? ((GtkBox*) _tmp2_) : NULL);
2420
_tmp4_ = self->priv->treeview;
2421
gtk_box_pack_start (area, (GtkWidget*) _tmp4_, TRUE, TRUE, (guint) 0);
2422
gtk_dialog_add_buttons ((GtkDialog*) self, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
2423
_tmp5_ = self->priv->treeview;
2424
gtk_widget_show_all ((GtkWidget*) _tmp5_);
2425
_g_object_unref0 (area);
2429
GtkTreeView* alm_applications_chooser_dialog_get_tree (AlmApplicationsChooserDialog* self) {
2430
GtkTreeView* result;
2431
AlmAppSelectionTreeView* _tmp0_ = NULL;
2432
GtkTreeView* _tmp1_ = NULL;
2433
GtkTreeView* _tmp2_ = NULL;
2434
g_return_val_if_fail (self != NULL, NULL);
2435
_tmp0_ = self->priv->treeview;
2436
_tmp1_ = alm_app_selection_tree_view_get_tree (_tmp0_);
2443
GtkListStore* alm_applications_chooser_dialog_get_liststore (AlmApplicationsChooserDialog* self) {
2444
GtkListStore* result;
2445
AlmAppSelectionTreeView* _tmp0_ = NULL;
2446
GtkListStore* _tmp1_ = NULL;
2447
GtkListStore* _tmp2_ = NULL;
2448
g_return_val_if_fail (self != NULL, NULL);
2449
_tmp0_ = self->priv->treeview;
2450
_tmp1_ = alm_app_selection_tree_view_get_liststore (_tmp0_);
2457
static void alm_applications_chooser_dialog_class_init (AlmApplicationsChooserDialogClass * klass) {
2458
alm_applications_chooser_dialog_parent_class = g_type_class_peek_parent (klass);
2459
g_type_class_add_private (klass, sizeof (AlmApplicationsChooserDialogPrivate));
2460
G_OBJECT_CLASS (klass)->get_property = _vala_alm_applications_chooser_dialog_get_property;
2461
G_OBJECT_CLASS (klass)->finalize = alm_applications_chooser_dialog_finalize;
2462
g_object_class_install_property (G_OBJECT_CLASS (klass), ALM_APPLICATIONS_CHOOSER_DIALOG_TREE, g_param_spec_object ("tree", "tree", "tree", GTK_TYPE_TREE_VIEW, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
2463
g_object_class_install_property (G_OBJECT_CLASS (klass), ALM_APPLICATIONS_CHOOSER_DIALOG_LISTSTORE, g_param_spec_object ("liststore", "liststore", "liststore", GTK_TYPE_LIST_STORE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
2467
static void alm_applications_chooser_dialog_instance_init (AlmApplicationsChooserDialog * self) {
2468
self->priv = ALM_APPLICATIONS_CHOOSER_DIALOG_GET_PRIVATE (self);
2472
static void alm_applications_chooser_dialog_finalize (GObject* obj) {
2473
AlmApplicationsChooserDialog * self;
2474
self = G_TYPE_CHECK_INSTANCE_CAST (obj, ALM_TYPE_APPLICATIONS_CHOOSER_DIALOG, AlmApplicationsChooserDialog);
2475
_alm_application_blacklist_unref0 (self->priv->app_blacklist);
2476
_g_object_unref0 (self->priv->treeview);
2477
_g_hash_table_unref0 (self->priv->all_actors_list);
2478
_g_hash_table_unref0 (self->priv->actors_iter);
2479
_g_hash_table_unref0 (self->priv->blocked_apps);
2480
_g_hash_table_unref0 (self->priv->unblocked_apps);
2481
G_OBJECT_CLASS (alm_applications_chooser_dialog_parent_class)->finalize (obj);
2485
GType alm_applications_chooser_dialog_get_type (void) {
2486
static volatile gsize alm_applications_chooser_dialog_type_id__volatile = 0;
2487
if (g_once_init_enter (&alm_applications_chooser_dialog_type_id__volatile)) {
2488
static const GTypeInfo g_define_type_info = { sizeof (AlmApplicationsChooserDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) alm_applications_chooser_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AlmApplicationsChooserDialog), 0, (GInstanceInitFunc) alm_applications_chooser_dialog_instance_init, NULL };
2489
GType alm_applications_chooser_dialog_type_id;
2490
alm_applications_chooser_dialog_type_id = g_type_register_static (GTK_TYPE_DIALOG, "AlmApplicationsChooserDialog", &g_define_type_info, 0);
2491
g_once_init_leave (&alm_applications_chooser_dialog_type_id__volatile, alm_applications_chooser_dialog_type_id);
2493
return alm_applications_chooser_dialog_type_id__volatile;
2497
static void _vala_alm_applications_chooser_dialog_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
2498
AlmApplicationsChooserDialog * self;
2499
self = G_TYPE_CHECK_INSTANCE_CAST (object, ALM_TYPE_APPLICATIONS_CHOOSER_DIALOG, AlmApplicationsChooserDialog);
2500
switch (property_id) {
2501
case ALM_APPLICATIONS_CHOOSER_DIALOG_TREE:
2502
g_value_set_object (value, alm_applications_chooser_dialog_get_tree (self));
2504
case ALM_APPLICATIONS_CHOOSER_DIALOG_LISTSTORE:
2505
g_value_set_object (value, alm_applications_chooser_dialog_get_liststore (self));
2508
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
2514
AlmUsageCellRenderer* alm_usage_cell_renderer_construct (GType object_type) {
2515
AlmUsageCellRenderer * self = NULL;
2516
self = (AlmUsageCellRenderer*) g_object_new (object_type, NULL);
2517
self->priv->usage_num = 0;
2522
AlmUsageCellRenderer* alm_usage_cell_renderer_new (void) {
2523
return alm_usage_cell_renderer_construct (ALM_TYPE_USAGE_CELL_RENDERER);
2527
static void alm_usage_cell_renderer_real_get_size (GtkCellRenderer* base, GtkWidget* widget, GdkRectangle* cell_area, gint* x_offset, gint* y_offset, gint* width, gint* height) {
2528
AlmUsageCellRenderer * self;
2529
gint _vala_x_offset = 0;
2530
gint _vala_y_offset = 0;
2531
gint _vala_width = 0;
2532
gint _vala_height = 0;
2533
self = (AlmUsageCellRenderer*) base;
2534
g_return_if_fail (widget != NULL);
2535
_vala_x_offset = ALM_USAGE_CELL_RENDERER_xpadding;
2536
_vala_y_offset = ALM_USAGE_CELL_RENDERER_ypadding;
2537
_vala_width = ((ALM_USAGE_CELL_RENDERER_RECT_WIDTH * ALM_USAGE_CELL_RENDERER_RECT_NUM) + (ALM_USAGE_CELL_RENDERER_xpadding * 2)) + (ALM_USAGE_CELL_RENDERER_RECT_SPACING * 9);
2538
_vala_height = ALM_USAGE_CELL_RENDERER_RECT_HEIGHT + (ALM_USAGE_CELL_RENDERER_ypadding * 2);
2540
*x_offset = _vala_x_offset;
2543
*y_offset = _vala_y_offset;
2546
*width = _vala_width;
2549
*height = _vala_height;
2554
static void alm_usage_cell_renderer_real_render (GtkCellRenderer* base, cairo_t* ctx, GtkWidget* widget, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags) {
2555
AlmUsageCellRenderer * self;
2557
GdkRectangle _tmp0_ = {0};
2560
GdkRectangle _tmp2_ = {0};
2562
self = (AlmUsageCellRenderer*) base;
2563
g_return_if_fail (ctx != NULL);
2564
g_return_if_fail (widget != NULL);
2565
g_return_if_fail (background_area != NULL);
2566
g_return_if_fail (cell_area != NULL);
2567
_tmp0_ = *cell_area;
2569
x = _tmp1_ + ALM_USAGE_CELL_RENDERER_xpadding;
2570
_tmp2_ = *cell_area;
2572
y = _tmp3_ + ALM_USAGE_CELL_RENDERER_ypadding;
2577
gboolean _tmp4_ = FALSE;
2580
gboolean _tmp5_ = FALSE;
2584
cairo_t* _tmp10_ = NULL;
2585
cairo_t* _tmp11_ = NULL;
2588
cairo_t* _tmp14_ = NULL;
2598
_tmp8_ = alm_usage_cell_renderer_get_usage (self);
2600
if (!(_tmp7_ < _tmp9_)) {
2604
cairo_set_source_rgb (_tmp10_, 0.4, 0.4, 0.4);
2608
cairo_rectangle (_tmp11_, (gdouble) _tmp12_, (gdouble) _tmp13_, (gdouble) ALM_USAGE_CELL_RENDERER_RECT_WIDTH, (gdouble) ALM_USAGE_CELL_RENDERER_RECT_HEIGHT);
2610
cairo_fill (_tmp14_);
2612
x = _tmp15_ + (ALM_USAGE_CELL_RENDERER_RECT_SPACING + ALM_USAGE_CELL_RENDERER_RECT_WIDTH);
2620
gboolean _tmp16_ = FALSE;
2623
gboolean _tmp17_ = FALSE;
2627
cairo_t* _tmp22_ = NULL;
2628
cairo_t* _tmp23_ = NULL;
2631
cairo_t* _tmp26_ = NULL;
2641
_tmp20_ = alm_usage_cell_renderer_get_usage (self);
2643
if (!(_tmp19_ < (ALM_USAGE_CELL_RENDERER_RECT_NUM - _tmp21_))) {
2647
cairo_set_source_rgb (_tmp22_, 0.7, 0.7, 0.7);
2651
cairo_rectangle (_tmp23_, (gdouble) _tmp24_, (gdouble) _tmp25_, (gdouble) ALM_USAGE_CELL_RENDERER_RECT_WIDTH, (gdouble) ALM_USAGE_CELL_RENDERER_RECT_HEIGHT);
2653
cairo_fill (_tmp26_);
2655
x = _tmp27_ + (ALM_USAGE_CELL_RENDERER_RECT_SPACING + ALM_USAGE_CELL_RENDERER_RECT_WIDTH);
2662
gint alm_usage_cell_renderer_get_usage (AlmUsageCellRenderer* self) {
2665
g_return_val_if_fail (self != NULL, 0);
2666
_tmp0_ = self->priv->usage_num;
2672
void alm_usage_cell_renderer_set_usage (AlmUsageCellRenderer* self, gint value) {
2674
g_return_if_fail (self != NULL);
2677
self->priv->usage_num = 10;
2681
self->priv->usage_num = _tmp1_;
2683
g_object_notify ((GObject *) self, "usage");
2687
static void alm_usage_cell_renderer_class_init (AlmUsageCellRendererClass * klass) {
2688
alm_usage_cell_renderer_parent_class = g_type_class_peek_parent (klass);
2689
g_type_class_add_private (klass, sizeof (AlmUsageCellRendererPrivate));
2690
GTK_CELL_RENDERER_CLASS (klass)->get_size = alm_usage_cell_renderer_real_get_size;
2691
GTK_CELL_RENDERER_CLASS (klass)->render = alm_usage_cell_renderer_real_render;
2692
G_OBJECT_CLASS (klass)->get_property = _vala_alm_usage_cell_renderer_get_property;
2693
G_OBJECT_CLASS (klass)->set_property = _vala_alm_usage_cell_renderer_set_property;
2694
G_OBJECT_CLASS (klass)->finalize = alm_usage_cell_renderer_finalize;
2695
g_object_class_install_property (G_OBJECT_CLASS (klass), ALM_USAGE_CELL_RENDERER_USAGE, g_param_spec_int ("usage", "usage", "usage", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
2699
static void alm_usage_cell_renderer_instance_init (AlmUsageCellRenderer * self) {
2700
self->priv = ALM_USAGE_CELL_RENDERER_GET_PRIVATE (self);
2704
static void alm_usage_cell_renderer_finalize (GObject* obj) {
2705
AlmUsageCellRenderer * self;
2706
self = G_TYPE_CHECK_INSTANCE_CAST (obj, ALM_TYPE_USAGE_CELL_RENDERER, AlmUsageCellRenderer);
2707
G_OBJECT_CLASS (alm_usage_cell_renderer_parent_class)->finalize (obj);
2711
GType alm_usage_cell_renderer_get_type (void) {
2712
static volatile gsize alm_usage_cell_renderer_type_id__volatile = 0;
2713
if (g_once_init_enter (&alm_usage_cell_renderer_type_id__volatile)) {
2714
static const GTypeInfo g_define_type_info = { sizeof (AlmUsageCellRendererClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) alm_usage_cell_renderer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AlmUsageCellRenderer), 0, (GInstanceInitFunc) alm_usage_cell_renderer_instance_init, NULL };
2715
GType alm_usage_cell_renderer_type_id;
2716
alm_usage_cell_renderer_type_id = g_type_register_static (GTK_TYPE_CELL_RENDERER, "AlmUsageCellRenderer", &g_define_type_info, 0);
2717
g_once_init_leave (&alm_usage_cell_renderer_type_id__volatile, alm_usage_cell_renderer_type_id);
2719
return alm_usage_cell_renderer_type_id__volatile;
2723
static void _vala_alm_usage_cell_renderer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
2724
AlmUsageCellRenderer * self;
2725
self = G_TYPE_CHECK_INSTANCE_CAST (object, ALM_TYPE_USAGE_CELL_RENDERER, AlmUsageCellRenderer);
2726
switch (property_id) {
2727
case ALM_USAGE_CELL_RENDERER_USAGE:
2728
g_value_set_int (value, alm_usage_cell_renderer_get_usage (self));
2731
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
2737
static void _vala_alm_usage_cell_renderer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
2738
AlmUsageCellRenderer * self;
2739
self = G_TYPE_CHECK_INSTANCE_CAST (object, ALM_TYPE_USAGE_CELL_RENDERER, AlmUsageCellRenderer);
2740
switch (property_id) {
2741
case ALM_USAGE_CELL_RENDERER_USAGE:
2742
alm_usage_cell_renderer_set_usage (self, g_value_get_int (value));
2745
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
2751
AlmAppChooseInfo* alm_app_choose_info_construct (GType object_type, const gchar* id, const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time_s, gint64 last_accessed_time_i, guint usage_rating) {
2752
AlmAppChooseInfo* self = NULL;
2753
const gchar* _tmp0_ = NULL;
2754
gchar* _tmp1_ = NULL;
2755
GdkPixbuf* _tmp2_ = NULL;
2756
GdkPixbuf* _tmp3_ = NULL;
2757
const gchar* _tmp4_ = NULL;
2758
gchar* _tmp5_ = NULL;
2759
gint64 _tmp6_ = 0LL;
2761
const gchar* _tmp8_ = NULL;
2762
gchar* _tmp9_ = NULL;
2763
g_return_val_if_fail (id != NULL, NULL);
2764
g_return_val_if_fail (app_name != NULL, NULL);
2765
g_return_val_if_fail (last_accessed_time_s != NULL, NULL);
2766
self = (AlmAppChooseInfo*) g_type_create_instance (object_type);
2768
_tmp1_ = g_strdup (_tmp0_);
2769
_g_free0 (self->priv->app_name);
2770
self->priv->app_name = _tmp1_;
2772
_tmp3_ = _g_object_ref0 (_tmp2_);
2773
_g_object_unref0 (self->priv->app_icon);
2774
self->priv->app_icon = _tmp3_;
2775
_tmp4_ = last_accessed_time_s;
2776
_tmp5_ = g_strdup (_tmp4_);
2777
_g_free0 (self->priv->last_accessed_time_s);
2778
self->priv->last_accessed_time_s = _tmp5_;
2779
_tmp6_ = last_accessed_time_i;
2780
self->priv->last_accessed_time_i = _tmp6_;
2781
_tmp7_ = usage_rating;
2782
self->priv->usage_rating = _tmp7_;
2784
_tmp9_ = g_strdup (_tmp8_);
2785
_g_free0 (self->priv->app_id);
2786
self->priv->app_id = _tmp9_;
2791
AlmAppChooseInfo* alm_app_choose_info_new (const gchar* id, const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time_s, gint64 last_accessed_time_i, guint usage_rating) {
2792
return alm_app_choose_info_construct (ALM_TYPE_APP_CHOOSE_INFO, id, app_name, app_icon, last_accessed_time_s, last_accessed_time_i, usage_rating);
2796
gchar* alm_app_choose_info_get_id (AlmAppChooseInfo* self) {
2797
gchar* result = NULL;
2798
const gchar* _tmp0_ = NULL;
2799
gchar* _tmp1_ = NULL;
2800
g_return_val_if_fail (self != NULL, NULL);
2801
_tmp0_ = self->priv->app_id;
2802
_tmp1_ = g_strdup (_tmp0_);
2808
const gchar* alm_app_choose_info_get_name (AlmAppChooseInfo* self) {
2809
const gchar* result;
2810
const gchar* _tmp0_ = NULL;
2811
g_return_val_if_fail (self != NULL, NULL);
2812
_tmp0_ = self->priv->app_name;
2818
void alm_app_choose_info_set_name (AlmAppChooseInfo* self, const gchar* value) {
2819
const gchar* _tmp0_ = NULL;
2820
gchar* _tmp1_ = NULL;
2821
g_return_if_fail (self != NULL);
2823
_tmp1_ = g_strdup (_tmp0_);
2824
_g_free0 (self->priv->app_name);
2825
self->priv->app_name = _tmp1_;
2829
GdkPixbuf* alm_app_choose_info_get_icon (AlmAppChooseInfo* self) {
2831
GdkPixbuf* _tmp0_ = NULL;
2832
g_return_val_if_fail (self != NULL, NULL);
2833
_tmp0_ = self->priv->app_icon;
2839
void alm_app_choose_info_set_icon (AlmAppChooseInfo* self, GdkPixbuf* value) {
2840
GdkPixbuf* _tmp0_ = NULL;
2841
GdkPixbuf* _tmp1_ = NULL;
2842
g_return_if_fail (self != NULL);
2844
_tmp1_ = _g_object_ref0 (_tmp0_);
2845
_g_object_unref0 (self->priv->app_icon);
2846
self->priv->app_icon = _tmp1_;
2850
const gchar* alm_app_choose_info_get_last_accessed (AlmAppChooseInfo* self) {
2851
const gchar* result;
2852
const gchar* _tmp0_ = NULL;
2853
g_return_val_if_fail (self != NULL, NULL);
2854
_tmp0_ = self->priv->last_accessed_time_s;
2860
void alm_app_choose_info_set_last_accessed (AlmAppChooseInfo* self, const gchar* value) {
2861
const gchar* _tmp0_ = NULL;
2862
gchar* _tmp1_ = NULL;
2863
g_return_if_fail (self != NULL);
2865
_tmp1_ = g_strdup (_tmp0_);
2866
_g_free0 (self->priv->last_accessed_time_s);
2867
self->priv->last_accessed_time_s = _tmp1_;
2871
gint64 alm_app_choose_info_get_last_accessed_time (AlmAppChooseInfo* self) {
2873
gint64 _tmp0_ = 0LL;
2874
g_return_val_if_fail (self != NULL, 0LL);
2875
_tmp0_ = self->priv->last_accessed_time_i;
2881
void alm_app_choose_info_set_last_accessed_time (AlmAppChooseInfo* self, gint64 value) {
2882
gint64 _tmp0_ = 0LL;
2883
g_return_if_fail (self != NULL);
2885
self->priv->last_accessed_time_i = _tmp0_;
2889
guint alm_app_choose_info_get_usage (AlmAppChooseInfo* self) {
2892
g_return_val_if_fail (self != NULL, 0U);
2893
_tmp0_ = self->priv->usage_rating;
2899
void alm_app_choose_info_set_usage (AlmAppChooseInfo* self, guint value) {
2901
g_return_if_fail (self != NULL);
2903
self->priv->usage_rating = _tmp0_;
2907
static void alm_value_app_choose_info_init (GValue* value) {
2908
value->data[0].v_pointer = NULL;
2912
static void alm_value_app_choose_info_free_value (GValue* value) {
2913
if (value->data[0].v_pointer) {
2914
alm_app_choose_info_unref (value->data[0].v_pointer);
2919
static void alm_value_app_choose_info_copy_value (const GValue* src_value, GValue* dest_value) {
2920
if (src_value->data[0].v_pointer) {
2921
dest_value->data[0].v_pointer = alm_app_choose_info_ref (src_value->data[0].v_pointer);
2923
dest_value->data[0].v_pointer = NULL;
2928
static gpointer alm_value_app_choose_info_peek_pointer (const GValue* value) {
2929
return value->data[0].v_pointer;
2933
static gchar* alm_value_app_choose_info_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
2934
if (collect_values[0].v_pointer) {
2935
AlmAppChooseInfo* object;
2936
object = collect_values[0].v_pointer;
2937
if (object->parent_instance.g_class == NULL) {
2938
return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
2939
} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
2940
return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
2942
value->data[0].v_pointer = alm_app_choose_info_ref (object);
2944
value->data[0].v_pointer = NULL;
2950
static gchar* alm_value_app_choose_info_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
2951
AlmAppChooseInfo** object_p;
2952
object_p = collect_values[0].v_pointer;
2954
return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
2956
if (!value->data[0].v_pointer) {
2958
} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
2959
*object_p = value->data[0].v_pointer;
2961
*object_p = alm_app_choose_info_ref (value->data[0].v_pointer);
2967
GParamSpec* alm_param_spec_app_choose_info (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
2968
AlmParamSpecAppChooseInfo* spec;
2969
g_return_val_if_fail (g_type_is_a (object_type, ALM_TYPE_APP_CHOOSE_INFO), NULL);
2970
spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
2971
G_PARAM_SPEC (spec)->value_type = object_type;
2972
return G_PARAM_SPEC (spec);
2976
gpointer alm_value_get_app_choose_info (const GValue* value) {
2977
g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, ALM_TYPE_APP_CHOOSE_INFO), NULL);
2978
return value->data[0].v_pointer;
2982
void alm_value_set_app_choose_info (GValue* value, gpointer v_object) {
2983
AlmAppChooseInfo* old;
2984
g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, ALM_TYPE_APP_CHOOSE_INFO));
2985
old = value->data[0].v_pointer;
2987
g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, ALM_TYPE_APP_CHOOSE_INFO));
2988
g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
2989
value->data[0].v_pointer = v_object;
2990
alm_app_choose_info_ref (value->data[0].v_pointer);
2992
value->data[0].v_pointer = NULL;
2995
alm_app_choose_info_unref (old);
3000
void alm_value_take_app_choose_info (GValue* value, gpointer v_object) {
3001
AlmAppChooseInfo* old;
3002
g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, ALM_TYPE_APP_CHOOSE_INFO));
3003
old = value->data[0].v_pointer;
3005
g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, ALM_TYPE_APP_CHOOSE_INFO));
3006
g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
3007
value->data[0].v_pointer = v_object;
3009
value->data[0].v_pointer = NULL;
3012
alm_app_choose_info_unref (old);
3017
static void alm_app_choose_info_class_init (AlmAppChooseInfoClass * klass) {
3018
alm_app_choose_info_parent_class = g_type_class_peek_parent (klass);
3019
ALM_APP_CHOOSE_INFO_CLASS (klass)->finalize = alm_app_choose_info_finalize;
3020
g_type_class_add_private (klass, sizeof (AlmAppChooseInfoPrivate));
3024
static void alm_app_choose_info_instance_init (AlmAppChooseInfo * self) {
3025
self->priv = ALM_APP_CHOOSE_INFO_GET_PRIVATE (self);
3026
self->ref_count = 1;
3030
static void alm_app_choose_info_finalize (AlmAppChooseInfo* obj) {
3031
AlmAppChooseInfo * self;
3032
self = G_TYPE_CHECK_INSTANCE_CAST (obj, ALM_TYPE_APP_CHOOSE_INFO, AlmAppChooseInfo);
3033
_g_free0 (self->priv->app_id);
3034
_g_free0 (self->priv->app_name);
3035
_g_object_unref0 (self->priv->app_icon);
3036
_g_free0 (self->priv->last_accessed_time_s);
3040
GType alm_app_choose_info_get_type (void) {
3041
static volatile gsize alm_app_choose_info_type_id__volatile = 0;
3042
if (g_once_init_enter (&alm_app_choose_info_type_id__volatile)) {
3043
static const GTypeValueTable g_define_type_value_table = { alm_value_app_choose_info_init, alm_value_app_choose_info_free_value, alm_value_app_choose_info_copy_value, alm_value_app_choose_info_peek_pointer, "p", alm_value_app_choose_info_collect_value, "p", alm_value_app_choose_info_lcopy_value };
3044
static const GTypeInfo g_define_type_info = { sizeof (AlmAppChooseInfoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) alm_app_choose_info_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AlmAppChooseInfo), 0, (GInstanceInitFunc) alm_app_choose_info_instance_init, &g_define_type_value_table };
3045
static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
3046
GType alm_app_choose_info_type_id;
3047
alm_app_choose_info_type_id = g_type_register_fundamental (g_type_fundamental_next (), "AlmAppChooseInfo", &g_define_type_info, &g_define_type_fundamental_info, 0);
3048
g_once_init_leave (&alm_app_choose_info_type_id__volatile, alm_app_choose_info_type_id);
3050
return alm_app_choose_info_type_id__volatile;
3054
gpointer alm_app_choose_info_ref (gpointer instance) {
3055
AlmAppChooseInfo* self;
3057
g_atomic_int_inc (&self->ref_count);
3062
void alm_app_choose_info_unref (gpointer instance) {
3063
AlmAppChooseInfo* self;
3065
if (g_atomic_int_dec_and_test (&self->ref_count)) {
3066
ALM_APP_CHOOSE_INFO_GET_CLASS (self)->finalize (self);
3067
g_type_free_instance ((GTypeInstance *) self);