~ubuntu-branches/ubuntu/quantal/activity-log-manager/quantal

« back to all changes in this revision

Viewing changes to src/applications-widget.c

  • Committer: Package Import Robot
  • Author(s): Didier Roche
  • Date: 2012-03-05 17:30:46 UTC
  • mfrom: (1.1.4)
  • Revision ID: package-import@ubuntu.com-20120305173046-0kf6bzadvw116i5k
Tags: 0.9.3-0ubuntu1
* New upstream release
  - Application blacklist does not block application launches (LP: #930093)
  - Application selection TreeView should show last used and usage
    (LP: #925638)
  - Typo in /src/history-widget.vala:68 (LP: #944993)
  - The Application selection list shows usage of applications
  - Some whoopsie related files have been added to i18n system
* debian/patches/fix-i18n.patch:
  - removed, usptreamed

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
#include <gio/gio.h>
39
39
#include <gdk-pixbuf/gdk-pixdata.h>
40
40
#include <pango/pango.h>
 
41
#include <gdk/gdk.h>
 
42
#include <cairo.h>
41
43
#include <gobject/gvaluecollector.h>
42
44
 
43
45
 
128
130
typedef struct _AlmAppSelectionTreeViewPrivate AlmAppSelectionTreeViewPrivate;
129
131
 
130
132
#define ALM_APP_SELECTION_TREE_VIEW_TYPE_TREE_VIEW_COLS (alm_app_selection_tree_view_tree_view_cols_get_type ())
 
133
 
 
134
#define ALM_TYPE_USAGE_CELL_RENDERER (alm_usage_cell_renderer_get_type ())
 
135
#define ALM_USAGE_CELL_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ALM_TYPE_USAGE_CELL_RENDERER, AlmUsageCellRenderer))
 
136
#define ALM_USAGE_CELL_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ALM_TYPE_USAGE_CELL_RENDERER, AlmUsageCellRendererClass))
 
137
#define ALM_IS_USAGE_CELL_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ALM_TYPE_USAGE_CELL_RENDERER))
 
138
#define ALM_IS_USAGE_CELL_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ALM_TYPE_USAGE_CELL_RENDERER))
 
139
#define ALM_USAGE_CELL_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ALM_TYPE_USAGE_CELL_RENDERER, AlmUsageCellRendererClass))
 
140
 
 
141
typedef struct _AlmUsageCellRenderer AlmUsageCellRenderer;
 
142
typedef struct _AlmUsageCellRendererClass AlmUsageCellRendererClass;
131
143
typedef struct _AlmApplicationsChooserDialogPrivate AlmApplicationsChooserDialogPrivate;
132
144
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
133
145
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
 
146
typedef struct _AlmUsageCellRendererPrivate AlmUsageCellRendererPrivate;
134
147
typedef struct _AlmAppChooseInfoPrivate AlmAppChooseInfoPrivate;
135
148
typedef struct _AlmParamSpecAppChooseInfo AlmParamSpecAppChooseInfo;
136
149
 
217
230
        ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_APP_NAME,
218
231
        ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_ICON,
219
232
        ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_DESKTOP_FILE,
 
233
        ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_LAST_ACCESSED_STRING,
 
234
        ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_LAST_ACCESSED_INT,
 
235
        ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_USAGE,
220
236
        ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_N_COLS
221
237
} AlmAppSelectionTreeViewTreeViewCols;
222
238
 
233
249
        AlmApplicationBlacklist* app_blacklist;
234
250
        AlmAppSelectionTreeView* treeview;
235
251
        GHashTable* all_actors_list;
 
252
        GHashTable* actors_iter;
236
253
        GHashTable* blocked_apps;
237
254
        GHashTable* unblocked_apps;
238
255
};
239
256
 
 
257
struct _AlmUsageCellRenderer {
 
258
        GtkCellRenderer parent_instance;
 
259
        AlmUsageCellRendererPrivate * priv;
 
260
};
 
261
 
 
262
struct _AlmUsageCellRendererClass {
 
263
        GtkCellRendererClass parent_class;
 
264
};
 
265
 
 
266
struct _AlmUsageCellRendererPrivate {
 
267
        gint usage_num;
 
268
};
 
269
 
240
270
struct _AlmAppChooseInfo {
241
271
        GTypeInstance parent_instance;
242
272
        volatile int ref_count;
249
279
};
250
280
 
251
281
struct _AlmAppChooseInfoPrivate {
 
282
        gchar* app_id;
252
283
        gchar* app_name;
253
284
        GdkPixbuf* app_icon;
254
285
        gchar* last_accessed_time;
264
295
static gpointer alm_application_blacklist_parent_class = NULL;
265
296
extern gchar* alm_application_blacklist_interpretation_prefix;
266
297
gchar* alm_application_blacklist_interpretation_prefix = NULL;
 
298
extern gchar* alm_application_blacklist_launcher_prefix;
 
299
gchar* alm_application_blacklist_launcher_prefix = NULL;
267
300
static gpointer alm_applications_tree_view_parent_class = NULL;
268
301
static GtkIconTheme* alm_applications_tree_view_icon_theme;
269
302
static GtkIconTheme* alm_applications_tree_view_icon_theme = NULL;
270
303
static gpointer alm_app_selection_tree_view_parent_class = NULL;
271
304
static gpointer alm_applications_chooser_dialog_parent_class = NULL;
 
305
static gpointer alm_usage_cell_renderer_parent_class = NULL;
272
306
static gpointer alm_app_choose_info_parent_class = NULL;
273
307
 
274
308
GType alm_applications_widget_get_type (void) G_GNUC_CONST;
341
375
static GeeHashSet* alm_application_blacklist_get_blocked_apps (AlmApplicationBlacklist* self);
342
376
void alm_application_blacklist_get_all_applications (AlmApplicationBlacklist* self, AlmApplicationsChooserDialog* dialog);
343
377
void alm_blacklist_get_all_applications (AlmBlacklist* self, AlmApplicationsChooserDialog* dialog);
 
378
void alm_application_blacklist_get_count_for_app (AlmApplicationBlacklist* self, const gchar* id, GtkTreeIter* iter, GtkListStore* store);
 
379
void alm_blacklist_get_count_for_app (AlmBlacklist* self, const gchar* app_id, GtkTreeIter* iter, GtkListStore* store);
344
380
GHashTable* alm_blacklist_get_all_templates (AlmBlacklist* self);
345
381
void alm_blacklist_add_template (AlmBlacklist* self, const gchar* blacklist_id, ZeitgeistEvent* blacklist_template);
346
382
void alm_blacklist_remove_template (AlmBlacklist* self, const gchar* blacklist_id);
355
391
static void alm_applications_tree_view_set_up_ui (AlmApplicationsTreeView* self);
356
392
GdkPixbuf* alm_applications_tree_view_get_pixbuf_from_gio_icon (GIcon* icon);
357
393
GtkListStore* alm_applications_tree_view_get_liststore (AlmApplicationsTreeView* self);
358
 
AlmAppChooseInfo* alm_app_choose_info_new (const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time, guint usage_rating);
359
 
AlmAppChooseInfo* alm_app_choose_info_construct (GType object_type, const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time, guint usage_rating);
 
394
AlmAppChooseInfo* alm_app_choose_info_new (const gchar* id, const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time, guint usage_rating);
 
395
AlmAppChooseInfo* alm_app_choose_info_construct (GType object_type, const gchar* id, const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time, guint usage_rating);
360
396
static void alm_applications_tree_view_finalize (GObject* obj);
361
397
static void _vala_alm_applications_tree_view_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
362
398
GType alm_app_selection_tree_view_get_type (void) G_GNUC_CONST;
370
406
AlmAppSelectionTreeView* alm_app_selection_tree_view_new (AlmApplicationBlacklist* app_blacklist);
371
407
AlmAppSelectionTreeView* alm_app_selection_tree_view_construct (GType object_type, AlmApplicationBlacklist* app_blacklist);
372
408
static void alm_app_selection_tree_view_set_up_ui (AlmAppSelectionTreeView* self);
 
409
AlmUsageCellRenderer* alm_usage_cell_renderer_new (void);
 
410
AlmUsageCellRenderer* alm_usage_cell_renderer_construct (GType object_type);
 
411
GType alm_usage_cell_renderer_get_type (void) G_GNUC_CONST;
373
412
GtkTreeView* alm_app_selection_tree_view_get_tree (AlmAppSelectionTreeView* self);
374
413
GtkListStore* alm_app_selection_tree_view_get_liststore (AlmAppSelectionTreeView* self);
375
414
static void alm_app_selection_tree_view_finalize (GObject* obj);
383
422
static void alm_applications_chooser_dialog_set_up_ui (AlmApplicationsChooserDialog* self);
384
423
void alm_applications_chooser_dialog_handle_app_population (AlmApplicationsChooserDialog* self, GHashTable* all_actors);
385
424
static gint64* _int64_dup (gint64* self);
386
 
void alm_applications_chooser_dialog_insert_liststore (AlmApplicationsChooserDialog* self, GAppInfo* app_info, const gchar* last_accessed, guint usage);
 
425
void alm_applications_chooser_dialog_insert_liststore (AlmApplicationsChooserDialog* self, GAppInfo* app_info, const gchar* last_accessed, gint64 last_accessed_time, guint usage);
387
426
static void _g_object_unref0_ (gpointer var);
388
427
static void _g_list_free__g_object_unref0_ (GList* self);
389
428
void alm_app_choose_info_set_last_accessed (AlmAppChooseInfo* self, const gchar* value);
390
429
void alm_app_choose_info_set_usage (AlmAppChooseInfo* self, guint value);
391
430
const gchar* alm_app_choose_info_get_name (AlmAppChooseInfo* self);
392
431
GdkPixbuf* alm_app_choose_info_get_icon (AlmAppChooseInfo* self);
 
432
gchar* alm_app_choose_info_get_id (AlmAppChooseInfo* self);
393
433
static void alm_applications_chooser_dialog_finalize (GObject* obj);
394
434
static void _vala_alm_applications_chooser_dialog_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
 
435
#define ALM_USAGE_CELL_RENDERER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ALM_TYPE_USAGE_CELL_RENDERER, AlmUsageCellRendererPrivate))
 
436
enum  {
 
437
        ALM_USAGE_CELL_RENDERER_DUMMY_PROPERTY,
 
438
        ALM_USAGE_CELL_RENDERER_USAGE
 
439
};
 
440
#define ALM_USAGE_CELL_RENDERER_RECT_NUM 10
 
441
#define ALM_USAGE_CELL_RENDERER_RECT_WIDTH 5
 
442
#define ALM_USAGE_CELL_RENDERER_RECT_HEIGHT 20
 
443
#define ALM_USAGE_CELL_RENDERER_RECT_SPACING 3
 
444
#define ALM_USAGE_CELL_RENDERER_xpadding 25
 
445
#define ALM_USAGE_CELL_RENDERER_ypadding 10
 
446
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);
 
447
static void alm_usage_cell_renderer_real_render (GtkCellRenderer* base, cairo_t* ctx, GtkWidget* widget, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags);
 
448
gint alm_usage_cell_renderer_get_usage (AlmUsageCellRenderer* self);
 
449
void alm_usage_cell_renderer_set_usage (AlmUsageCellRenderer* self, gint value);
 
450
static void alm_usage_cell_renderer_finalize (GObject* obj);
 
451
static void _vala_alm_usage_cell_renderer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
 
452
static void _vala_alm_usage_cell_renderer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
395
453
#define ALM_APP_CHOOSE_INFO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ALM_TYPE_APP_CHOOSE_INFO, AlmAppChooseInfoPrivate))
396
454
enum  {
397
455
        ALM_APP_CHOOSE_INFO_DUMMY_PROPERTY
1057
1115
}
1058
1116
 
1059
1117
 
 
1118
void alm_application_blacklist_get_count_for_app (AlmApplicationBlacklist* self, const gchar* id, GtkTreeIter* iter, GtkListStore* store) {
 
1119
        AlmBlacklist* _tmp0_;
 
1120
        const gchar* _tmp1_;
 
1121
        GtkTreeIter _tmp2_;
 
1122
        GtkListStore* _tmp3_;
 
1123
        g_return_if_fail (self != NULL);
 
1124
        g_return_if_fail (id != NULL);
 
1125
        g_return_if_fail (iter != NULL);
 
1126
        g_return_if_fail (store != NULL);
 
1127
        _tmp0_ = self->priv->blacklist_interface;
 
1128
        _tmp1_ = id;
 
1129
        _tmp2_ = *iter;
 
1130
        _tmp3_ = store;
 
1131
        alm_blacklist_get_count_for_app (_tmp0_, _tmp1_, &_tmp2_, _tmp3_);
 
1132
}
 
1133
 
 
1134
 
1060
1135
static glong string_strnlen (gchar* str, glong maxlen) {
1061
1136
        glong result = 0L;
1062
1137
        gchar* _tmp0_;
1321
1396
        ZeitgeistSubject* sub;
1322
1397
        ZeitgeistEvent* _tmp8_;
1323
1398
        ZeitgeistSubject* _tmp9_;
1324
 
        AlmBlacklist* _tmp10_;
1325
 
        const gchar* _tmp11_;
1326
 
        const gchar* _tmp12_;
1327
 
        gchar* _tmp13_ = NULL;
1328
 
        gchar* _tmp14_;
1329
 
        ZeitgeistEvent* _tmp15_;
1330
 
        GeeHashSet* _tmp16_;
1331
 
        GeeHashSet* _tmp17_;
1332
 
        const gchar* _tmp18_;
1333
 
        gboolean _tmp19_ = FALSE;
 
1399
        ZeitgeistEvent* _tmp10_;
 
1400
        ZeitgeistEvent* _tmp11_;
 
1401
        ZeitgeistEvent* launch_ev;
 
1402
        ZeitgeistSubject* _tmp12_;
 
1403
        ZeitgeistSubject* _tmp13_;
 
1404
        ZeitgeistSubject* launch_sub;
 
1405
        ZeitgeistSubject* _tmp14_;
 
1406
        const gchar* _tmp15_;
 
1407
        gchar* _tmp16_ = NULL;
 
1408
        gchar* _tmp17_;
 
1409
        ZeitgeistEvent* _tmp18_;
 
1410
        ZeitgeistSubject* _tmp19_;
 
1411
        AlmBlacklist* _tmp20_;
 
1412
        const gchar* _tmp21_;
 
1413
        const gchar* _tmp22_;
 
1414
        gchar* _tmp23_ = NULL;
 
1415
        gchar* _tmp24_;
 
1416
        ZeitgeistEvent* _tmp25_;
 
1417
        AlmBlacklist* _tmp26_;
 
1418
        const gchar* _tmp27_;
 
1419
        const gchar* _tmp28_;
 
1420
        gchar* _tmp29_ = NULL;
 
1421
        gchar* _tmp30_;
 
1422
        ZeitgeistEvent* _tmp31_;
 
1423
        GeeHashSet* _tmp32_;
 
1424
        GeeHashSet* _tmp33_;
 
1425
        const gchar* _tmp34_;
 
1426
        gboolean _tmp35_ = FALSE;
1334
1427
        g_return_if_fail (self != NULL);
1335
1428
        g_return_if_fail (application != NULL);
1336
1429
        _tmp0_ = zeitgeist_event_new ();
1348
1441
        _tmp8_ = ev;
1349
1442
        _tmp9_ = sub;
1350
1443
        zeitgeist_event_add_subject (_tmp8_, _tmp9_);
1351
 
        _tmp10_ = self->priv->blacklist_interface;
1352
 
        _tmp11_ = alm_application_blacklist_interpretation_prefix;
1353
 
        _tmp12_ = application;
1354
 
        _tmp13_ = g_strdup_printf ("%s%s", _tmp11_, _tmp12_);
1355
 
        _tmp14_ = _tmp13_;
1356
 
        _tmp15_ = ev;
1357
 
        alm_blacklist_add_template (_tmp10_, _tmp14_, _tmp15_);
1358
 
        _g_free0 (_tmp14_);
1359
 
        _tmp16_ = alm_application_blacklist_get_all_apps (self);
 
1444
        _tmp10_ = zeitgeist_event_new ();
 
1445
        _tmp11_ = g_object_ref_sink (_tmp10_);
 
1446
        launch_ev = _tmp11_;
 
1447
        _tmp12_ = zeitgeist_subject_new ();
 
1448
        _tmp13_ = g_object_ref_sink (_tmp12_);
 
1449
        launch_sub = _tmp13_;
 
1450
        _tmp14_ = launch_sub;
 
1451
        _tmp15_ = application;
 
1452
        _tmp16_ = g_strdup_printf ("application://%s", _tmp15_);
1360
1453
        _tmp17_ = _tmp16_;
1361
 
        _tmp18_ = application;
1362
 
        _tmp19_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp17_, _tmp18_);
1363
 
        if (!_tmp19_) {
1364
 
                GeeHashSet* _tmp20_;
1365
 
                GeeHashSet* _tmp21_;
1366
 
                const gchar* _tmp22_;
1367
 
                _tmp20_ = alm_application_blacklist_get_all_apps (self);
1368
 
                _tmp21_ = _tmp20_;
1369
 
                _tmp22_ = application;
1370
 
                gee_abstract_collection_add ((GeeAbstractCollection*) _tmp21_, _tmp22_);
 
1454
        zeitgeist_subject_set_uri (_tmp14_, _tmp17_);
 
1455
        _g_free0 (_tmp17_);
 
1456
        _tmp18_ = launch_ev;
 
1457
        _tmp19_ = launch_sub;
 
1458
        zeitgeist_event_add_subject (_tmp18_, _tmp19_);
 
1459
        _tmp20_ = self->priv->blacklist_interface;
 
1460
        _tmp21_ = alm_application_blacklist_interpretation_prefix;
 
1461
        _tmp22_ = application;
 
1462
        _tmp23_ = g_strdup_printf ("%s%s", _tmp21_, _tmp22_);
 
1463
        _tmp24_ = _tmp23_;
 
1464
        _tmp25_ = ev;
 
1465
        alm_blacklist_add_template (_tmp20_, _tmp24_, _tmp25_);
 
1466
        _g_free0 (_tmp24_);
 
1467
        _tmp26_ = self->priv->blacklist_interface;
 
1468
        _tmp27_ = alm_application_blacklist_launcher_prefix;
 
1469
        _tmp28_ = application;
 
1470
        _tmp29_ = g_strdup_printf ("%s%s", _tmp27_, _tmp28_);
 
1471
        _tmp30_ = _tmp29_;
 
1472
        _tmp31_ = launch_ev;
 
1473
        alm_blacklist_add_template (_tmp26_, _tmp30_, _tmp31_);
 
1474
        _g_free0 (_tmp30_);
 
1475
        _tmp32_ = alm_application_blacklist_get_all_apps (self);
 
1476
        _tmp33_ = _tmp32_;
 
1477
        _tmp34_ = application;
 
1478
        _tmp35_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp33_, _tmp34_);
 
1479
        if (!_tmp35_) {
 
1480
                GeeHashSet* _tmp36_;
 
1481
                GeeHashSet* _tmp37_;
 
1482
                const gchar* _tmp38_;
 
1483
                _tmp36_ = alm_application_blacklist_get_all_apps (self);
 
1484
                _tmp37_ = _tmp36_;
 
1485
                _tmp38_ = application;
 
1486
                gee_abstract_collection_add ((GeeAbstractCollection*) _tmp37_, _tmp38_);
1371
1487
        }
 
1488
        _g_object_unref0 (launch_sub);
 
1489
        _g_object_unref0 (launch_ev);
1372
1490
        _g_object_unref0 (sub);
1373
1491
        _g_object_unref0 (ev);
1374
1492
}
1380
1498
        const gchar* _tmp2_;
1381
1499
        gchar* _tmp3_ = NULL;
1382
1500
        gchar* _tmp4_;
1383
 
        GeeHashSet* _tmp5_;
1384
 
        GeeHashSet* _tmp6_;
 
1501
        AlmBlacklist* _tmp5_;
 
1502
        const gchar* _tmp6_;
1385
1503
        const gchar* _tmp7_;
1386
 
        gboolean _tmp8_ = FALSE;
 
1504
        gchar* _tmp8_ = NULL;
 
1505
        gchar* _tmp9_;
 
1506
        GeeHashSet* _tmp10_;
 
1507
        GeeHashSet* _tmp11_;
 
1508
        const gchar* _tmp12_;
 
1509
        gboolean _tmp13_ = FALSE;
1387
1510
        g_return_if_fail (self != NULL);
1388
1511
        g_return_if_fail (application != NULL);
1389
1512
        _tmp0_ = self->priv->blacklist_interface;
1393
1516
        _tmp4_ = _tmp3_;
1394
1517
        alm_blacklist_remove_template (_tmp0_, _tmp4_);
1395
1518
        _g_free0 (_tmp4_);
1396
 
        _tmp5_ = alm_application_blacklist_get_all_apps (self);
1397
 
        _tmp6_ = _tmp5_;
 
1519
        _tmp5_ = self->priv->blacklist_interface;
 
1520
        _tmp6_ = alm_application_blacklist_launcher_prefix;
1398
1521
        _tmp7_ = application;
1399
 
        _tmp8_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp6_, _tmp7_);
1400
 
        if (_tmp8_) {
1401
 
                GeeHashSet* _tmp9_;
1402
 
                GeeHashSet* _tmp10_;
1403
 
                const gchar* _tmp11_;
1404
 
                _tmp9_ = alm_application_blacklist_get_all_apps (self);
1405
 
                _tmp10_ = _tmp9_;
1406
 
                _tmp11_ = application;
1407
 
                gee_abstract_collection_remove ((GeeAbstractCollection*) _tmp10_, _tmp11_);
 
1522
        _tmp8_ = g_strdup_printf ("%s%s", _tmp6_, _tmp7_);
 
1523
        _tmp9_ = _tmp8_;
 
1524
        alm_blacklist_remove_template (_tmp5_, _tmp9_);
 
1525
        _g_free0 (_tmp9_);
 
1526
        _tmp10_ = alm_application_blacklist_get_all_apps (self);
 
1527
        _tmp11_ = _tmp10_;
 
1528
        _tmp12_ = application;
 
1529
        _tmp13_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp11_, _tmp12_);
 
1530
        if (_tmp13_) {
 
1531
                GeeHashSet* _tmp14_;
 
1532
                GeeHashSet* _tmp15_;
 
1533
                const gchar* _tmp16_;
 
1534
                _tmp14_ = alm_application_blacklist_get_all_apps (self);
 
1535
                _tmp15_ = _tmp14_;
 
1536
                _tmp16_ = application;
 
1537
                gee_abstract_collection_remove ((GeeAbstractCollection*) _tmp15_, _tmp16_);
1408
1538
        }
1409
1539
}
1410
1540
 
1551
1681
 
1552
1682
static void alm_application_blacklist_class_init (AlmApplicationBlacklistClass * klass) {
1553
1683
        gchar* _tmp0_;
 
1684
        gchar* _tmp1_;
1554
1685
        alm_application_blacklist_parent_class = g_type_class_peek_parent (klass);
1555
1686
        ALM_APPLICATION_BLACKLIST_CLASS (klass)->finalize = alm_application_blacklist_finalize;
1556
1687
        g_type_class_add_private (klass, sizeof (AlmApplicationBlacklistPrivate));
1558
1689
        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);
1559
1690
        _tmp0_ = g_strdup ("app-");
1560
1691
        alm_application_blacklist_interpretation_prefix = _tmp0_;
 
1692
        _tmp1_ = g_strdup ("launch-");
 
1693
        alm_application_blacklist_launcher_prefix = _tmp1_;
1561
1694
}
1562
1695
 
1563
1696
 
1851
1984
                        gchar* _tmp22_;
1852
1985
                        GDesktopAppInfo* _tmp23_;
1853
1986
                        const gchar* _tmp24_ = NULL;
1854
 
                        GdkPixbuf* _tmp25_;
1855
 
                        AlmAppChooseInfo* _tmp26_;
 
1987
                        GDesktopAppInfo* _tmp25_;
 
1988
                        const gchar* _tmp26_ = NULL;
 
1989
                        GdkPixbuf* _tmp27_;
 
1990
                        AlmAppChooseInfo* _tmp28_;
1856
1991
                        _tmp20_ = self->priv->blocked_apps;
1857
1992
                        _tmp21_ = app;
1858
1993
                        _tmp22_ = g_strdup (_tmp21_);
1859
1994
                        _tmp23_ = app_info;
1860
 
                        _tmp24_ = g_app_info_get_name ((GAppInfo*) _tmp23_);
1861
 
                        _tmp25_ = pix;
1862
 
                        _tmp26_ = alm_app_choose_info_new (_tmp24_, _tmp25_, "", (guint) 0);
1863
 
                        g_hash_table_insert (_tmp20_, _tmp22_, _tmp26_);
 
1995
                        _tmp24_ = g_app_info_get_id ((GAppInfo*) _tmp23_);
 
1996
                        _tmp25_ = app_info;
 
1997
                        _tmp26_ = g_app_info_get_name ((GAppInfo*) _tmp25_);
 
1998
                        _tmp27_ = pix;
 
1999
                        _tmp28_ = alm_app_choose_info_new (_tmp24_, _tmp26_, _tmp27_, "", (guint) 0);
 
2000
                        g_hash_table_insert (_tmp20_, _tmp22_, _tmp28_);
1864
2001
                }
1865
2002
                _g_free0 (markup);
1866
2003
                _g_object_unref0 (pix);
2053
2190
static GType alm_app_selection_tree_view_tree_view_cols_get_type (void) {
2054
2191
        static volatile gsize alm_app_selection_tree_view_tree_view_cols_type_id__volatile = 0;
2055
2192
        if (g_once_init_enter (&alm_app_selection_tree_view_tree_view_cols_type_id__volatile)) {
2056
 
                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_N_COLS, "ALM_APP_SELECTION_TREE_VIEW_TREE_VIEW_COLS_N_COLS", "n-cols"}, {0, NULL, NULL}};
 
2193
                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}};
2057
2194
                GType alm_app_selection_tree_view_tree_view_cols_type_id;
2058
2195
                alm_app_selection_tree_view_tree_view_cols_type_id = g_enum_register_static ("AlmAppSelectionTreeViewTreeViewCols", values);
2059
2196
                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);
2078
2215
        _tmp1_ = _alm_application_blacklist_ref0 (_tmp0_);
2079
2216
        _alm_application_blacklist_unref0 (self->priv->app_blacklist);
2080
2217
        self->priv->app_blacklist = _tmp1_;
2081
 
        _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_UINT);
 
2218
        _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);
2082
2219
        _g_object_unref0 (self->priv->store);
2083
2220
        self->priv->store = _tmp2_;
2084
2221
        _tmp3_ = self->priv->store;
2112
2249
        GtkCellRendererText* _tmp6_;
2113
2250
        GtkCellRendererText* name_rend;
2114
2251
        GValue _tmp7_ = {0};
2115
 
        GtkScrolledWindow* _tmp8_;
2116
 
        GtkScrolledWindow* _tmp9_;
 
2252
        GtkTreeViewColumn* _tmp8_;
 
2253
        GtkTreeViewColumn* _tmp9_;
 
2254
        GtkTreeViewColumn* column_used_name;
 
2255
        GtkTreeView* _tmp10_;
 
2256
        GtkCellRendererText* _tmp11_;
 
2257
        GtkCellRendererText* _tmp12_;
 
2258
        GtkCellRendererText* used_rend;
 
2259
        GValue _tmp13_ = {0};
 
2260
        GValue _tmp14_ = {0};
 
2261
        GtkTreeViewColumn* _tmp15_;
 
2262
        GtkTreeViewColumn* _tmp16_;
 
2263
        GtkTreeViewColumn* column_usage_name;
 
2264
        GtkTreeView* _tmp17_;
 
2265
        AlmUsageCellRenderer* _tmp18_;
 
2266
        AlmUsageCellRenderer* _tmp19_;
 
2267
        AlmUsageCellRenderer* usage_rend;
 
2268
        GtkScrolledWindow* _tmp20_;
 
2269
        GtkScrolledWindow* _tmp21_;
2117
2270
        GtkScrolledWindow* scroll;
2118
 
        GtkTreeView* _tmp10_;
 
2271
        GtkTreeView* _tmp22_;
2119
2272
        g_return_if_fail (self != NULL);
2120
2273
        _tmp0_ = gtk_tree_view_column_new ();
2121
2274
        _tmp1_ = g_object_ref_sink (_tmp0_);
2138
2291
        gtk_cell_layout_pack_start ((GtkCellLayout*) column_pix_name, (GtkCellRenderer*) name_rend, TRUE);
2139
2292
        gtk_cell_layout_add_attribute ((GtkCellLayout*) column_pix_name, (GtkCellRenderer*) name_rend, "text", 0);
2140
2293
        gtk_tree_view_column_set_resizable (column_pix_name, TRUE);
2141
 
        _tmp8_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL);
 
2294
        gtk_tree_view_column_set_min_width (column_pix_name, 200);
 
2295
        gtk_tree_view_column_set_sort_column_id (column_pix_name, 0);
 
2296
        _tmp8_ = gtk_tree_view_column_new ();
2142
2297
        _tmp9_ = g_object_ref_sink (_tmp8_);
2143
 
        scroll = _tmp9_;
 
2298
        column_used_name = _tmp9_;
 
2299
        gtk_tree_view_column_set_title (column_used_name, "Last Used");
2144
2300
        _tmp10_ = self->priv->treeview;
2145
 
        gtk_container_add ((GtkContainer*) scroll, (GtkWidget*) _tmp10_);
 
2301
        gtk_tree_view_append_column (_tmp10_, column_used_name);
 
2302
        _tmp11_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
 
2303
        _tmp12_ = g_object_ref_sink (_tmp11_);
 
2304
        used_rend = _tmp12_;
 
2305
        g_value_init (&_tmp13_, PANGO_TYPE_ELLIPSIZE_MODE);
 
2306
        g_value_set_enum (&_tmp13_, PANGO_ELLIPSIZE_END);
 
2307
        g_object_set_property ((GObject*) used_rend, "ellipsize", &_tmp13_);
 
2308
        G_IS_VALUE (&_tmp13_) ? (g_value_unset (&_tmp13_), NULL) : NULL;
 
2309
        gtk_cell_layout_pack_start ((GtkCellLayout*) column_used_name, (GtkCellRenderer*) used_rend, TRUE);
 
2310
        gtk_cell_layout_add_attribute ((GtkCellLayout*) column_used_name, (GtkCellRenderer*) used_rend, "text", 3);
 
2311
        gtk_tree_view_column_set_resizable (column_used_name, TRUE);
 
2312
        gtk_tree_view_column_set_min_width (column_used_name, 200);
 
2313
        gtk_tree_view_column_set_sort_column_id (column_used_name, 4);
 
2314
        g_value_init (&_tmp14_, G_TYPE_INT);
 
2315
        g_value_set_int (&_tmp14_, 1);
 
2316
        g_object_set_property ((GObject*) used_rend, "xalign", &_tmp14_);
 
2317
        G_IS_VALUE (&_tmp14_) ? (g_value_unset (&_tmp14_), NULL) : NULL;
 
2318
        _tmp15_ = gtk_tree_view_column_new ();
 
2319
        _tmp16_ = g_object_ref_sink (_tmp15_);
 
2320
        column_usage_name = _tmp16_;
 
2321
        gtk_tree_view_column_set_title (column_usage_name, "Activity");
 
2322
        _tmp17_ = self->priv->treeview;
 
2323
        gtk_tree_view_append_column (_tmp17_, column_usage_name);
 
2324
        _tmp18_ = alm_usage_cell_renderer_new ();
 
2325
        _tmp19_ = g_object_ref_sink (_tmp18_);
 
2326
        usage_rend = _tmp19_;
 
2327
        gtk_cell_layout_pack_start ((GtkCellLayout*) column_usage_name, (GtkCellRenderer*) usage_rend, TRUE);
 
2328
        gtk_cell_layout_add_attribute ((GtkCellLayout*) column_usage_name, (GtkCellRenderer*) usage_rend, "usage", 5);
 
2329
        gtk_tree_view_column_set_sort_column_id (column_usage_name, 5);
 
2330
        _tmp20_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL);
 
2331
        _tmp21_ = g_object_ref_sink (_tmp20_);
 
2332
        scroll = _tmp21_;
 
2333
        _tmp22_ = self->priv->treeview;
 
2334
        gtk_container_add ((GtkContainer*) scroll, (GtkWidget*) _tmp22_);
2146
2335
        gtk_scrolled_window_set_policy (scroll, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
2147
2336
        gtk_scrolled_window_set_shadow_type (scroll, GTK_SHADOW_IN);
2148
2337
        gtk_container_set_border_width ((GtkContainer*) scroll, (guint) 1);
2149
2338
        gtk_box_pack_start ((GtkBox*) self, (GtkWidget*) scroll, TRUE, TRUE, (guint) 0);
2150
2339
        _g_object_unref0 (scroll);
 
2340
        _g_object_unref0 (usage_rend);
 
2341
        _g_object_unref0 (column_usage_name);
 
2342
        _g_object_unref0 (used_rend);
 
2343
        _g_object_unref0 (column_used_name);
2151
2344
        _g_object_unref0 (name_rend);
2152
2345
        _g_object_unref0 (pix_rend);
2153
2346
        _g_object_unref0 (column_pix_name);
2236
2429
        GHashTable* _tmp3_;
2237
2430
        GHashTable* _tmp4_;
2238
2431
        GHashTable* _tmp5_;
2239
 
        const gchar* _tmp6_ = NULL;
2240
 
        AlmApplicationBlacklist* _tmp7_;
 
2432
        GHashFunc _tmp6_;
 
2433
        GEqualFunc _tmp7_;
 
2434
        GHashTable* _tmp8_;
 
2435
        const gchar* _tmp9_ = NULL;
 
2436
        AlmApplicationBlacklist* _tmp10_;
2241
2437
        g_return_val_if_fail (app_blacklist != NULL, NULL);
2242
2438
        g_return_val_if_fail (blocked_list != NULL, NULL);
2243
2439
        g_return_val_if_fail (unblocked_list != NULL, NULL);
2254
2450
        _tmp5_ = _g_hash_table_ref0 (_tmp4_);
2255
2451
        _g_hash_table_unref0 (self->priv->unblocked_apps);
2256
2452
        self->priv->unblocked_apps = _tmp5_;
2257
 
        _tmp6_ = _ ("Select Application");
2258
 
        gtk_window_set_title ((GtkWindow*) self, _tmp6_);
 
2453
        _tmp6_ = g_str_hash;
 
2454
        _tmp7_ = g_str_equal;
 
2455
        _tmp8_ = g_hash_table_new_full (_tmp6_, _tmp7_, _g_free0_, _g_free0_);
 
2456
        _g_hash_table_unref0 (self->priv->actors_iter);
 
2457
        self->priv->actors_iter = _tmp8_;
 
2458
        _tmp9_ = _ ("Select Application");
 
2459
        gtk_window_set_title ((GtkWindow*) self, _tmp9_);
2259
2460
        gtk_window_set_destroy_with_parent ((GtkWindow*) self, TRUE);
2260
2461
        gtk_widget_set_size_request ((GtkWidget*) self, 600, 400);
2261
2462
        gtk_window_set_skip_taskbar_hint ((GtkWindow*) self, TRUE);
2262
2463
        gtk_container_set_border_width ((GtkContainer*) self, (guint) 12);
2263
2464
        gtk_window_set_resizable ((GtkWindow*) self, FALSE);
2264
2465
        alm_applications_chooser_dialog_set_up_ui (self);
2265
 
        _tmp7_ = self->priv->app_blacklist;
2266
 
        alm_application_blacklist_get_all_applications (_tmp7_, self);
 
2466
        _tmp10_ = self->priv->app_blacklist;
 
2467
        alm_application_blacklist_get_all_applications (_tmp10_, self);
2267
2468
        return self;
2268
2469
}
2269
2470
 
2302
2503
        GHashTable* _tmp1_;
2303
2504
        GList* _tmp2_ = NULL;
2304
2505
        GList* all_infos;
2305
 
        GHashTable* _tmp3_;
2306
 
        guint _tmp4_ = 0U;
2307
 
        guint size_actors;
2308
 
        gfloat current_state;
2309
 
        gfloat _tmp5_;
2310
 
        guint _tmp6_;
2311
 
        gfloat step_dec;
2312
2506
        GList* other_appinfo;
2313
 
        GList* _tmp7_;
 
2507
        GList* _tmp3_;
2314
2508
        g_return_if_fail (self != NULL);
2315
2509
        g_return_if_fail (all_actors != NULL);
2316
2510
        _tmp0_ = all_actors;
2319
2513
        self->priv->all_actors_list = _tmp1_;
2320
2514
        _tmp2_ = g_app_info_get_all ();
2321
2515
        all_infos = _tmp2_;
2322
 
        _tmp3_ = all_actors;
2323
 
        _tmp4_ = g_hash_table_size (_tmp3_);
2324
 
        size_actors = _tmp4_;
2325
 
        current_state = (gfloat) 10;
2326
 
        _tmp5_ = current_state;
2327
 
        _tmp6_ = size_actors;
2328
 
        step_dec = _tmp5_ / _tmp6_;
2329
2516
        other_appinfo = NULL;
2330
 
        _tmp7_ = all_infos;
 
2517
        _tmp3_ = all_infos;
2331
2518
        {
2332
2519
                GList* app_info_collection = NULL;
2333
2520
                GList* app_info_it = NULL;
2334
 
                app_info_collection = _tmp7_;
 
2521
                app_info_collection = _tmp3_;
2335
2522
                for (app_info_it = app_info_collection; app_info_it != NULL; app_info_it = app_info_it->next) {
2336
 
                        GAppInfo* _tmp8_;
 
2523
                        GAppInfo* _tmp4_;
2337
2524
                        GAppInfo* app_info = NULL;
2338
 
                        _tmp8_ = _g_object_ref0 ((GAppInfo*) app_info_it->data);
2339
 
                        app_info = _tmp8_;
 
2525
                        _tmp4_ = _g_object_ref0 ((GAppInfo*) app_info_it->data);
 
2526
                        app_info = _tmp4_;
2340
2527
                        {
2341
 
                                GAppInfo* _tmp9_;
2342
 
                                const gchar* _tmp10_ = NULL;
2343
 
                                gchar* _tmp11_;
 
2528
                                GAppInfo* _tmp5_;
 
2529
                                const gchar* _tmp6_ = NULL;
 
2530
                                gchar* _tmp7_;
2344
2531
                                gchar* id;
2345
 
                                gint64 _tmp12_;
2346
 
                                gint64* _tmp13_;
 
2532
                                GHashTable* _tmp8_;
 
2533
                                const gchar* _tmp9_;
 
2534
                                gconstpointer _tmp10_ = NULL;
 
2535
                                gint64* _tmp11_;
2347
2536
                                gint64* last_accessed_time;
2348
 
                                gint64* _tmp14_;
2349
 
                                _tmp9_ = app_info;
2350
 
                                _tmp10_ = g_app_info_get_id (_tmp9_);
2351
 
                                _tmp11_ = g_strdup (_tmp10_);
2352
 
                                id = _tmp11_;
2353
 
                                _tmp12_ = (gint64) 0;
2354
 
                                _tmp13_ = __int64_dup0 (&_tmp12_);
2355
 
                                last_accessed_time = _tmp13_;
2356
 
                                _tmp14_ = last_accessed_time;
2357
 
                                if (_tmp14_ != NULL) {
2358
 
                                        gint64* _tmp15_;
2359
 
                                        GDateTime* _tmp16_;
 
2537
                                gint64* _tmp12_;
 
2538
                                _tmp5_ = app_info;
 
2539
                                _tmp6_ = g_app_info_get_id (_tmp5_);
 
2540
                                _tmp7_ = g_strdup (_tmp6_);
 
2541
                                id = _tmp7_;
 
2542
                                _tmp8_ = all_actors;
 
2543
                                _tmp9_ = id;
 
2544
                                _tmp10_ = g_hash_table_lookup (_tmp8_, _tmp9_);
 
2545
                                _tmp11_ = __int64_dup0 ((gint64*) _tmp10_);
 
2546
                                last_accessed_time = _tmp11_;
 
2547
                                _tmp12_ = last_accessed_time;
 
2548
                                if (_tmp12_ != NULL) {
 
2549
                                        gint64* _tmp13_;
 
2550
                                        GDateTime* _tmp14_;
2360
2551
                                        GDateTime* time;
2361
 
                                        GDateTime* _tmp17_;
2362
 
                                        gchar* _tmp18_ = NULL;
 
2552
                                        GDateTime* _tmp15_;
 
2553
                                        gchar* _tmp16_ = NULL;
2363
2554
                                        gchar* last_accessed;
2364
 
                                        gfloat _tmp19_;
2365
 
                                        gdouble _tmp20_ = 0.0;
2366
 
                                        guint usage;
2367
 
                                        gfloat _tmp21_;
2368
 
                                        gfloat _tmp22_;
2369
 
                                        GAppInfo* _tmp23_;
2370
 
                                        const gchar* _tmp24_;
2371
 
                                        guint _tmp25_;
2372
 
                                        _tmp15_ = last_accessed_time;
2373
 
                                        _tmp16_ = g_date_time_new_from_unix_local ((*_tmp15_) / 1000);
2374
 
                                        time = _tmp16_;
2375
 
                                        _tmp17_ = time;
2376
 
                                        _tmp18_ = g_date_time_format (_tmp17_, "%e %B %Y %R");
2377
 
                                        last_accessed = _tmp18_;
2378
 
                                        _tmp19_ = current_state;
2379
 
                                        _tmp20_ = ceil ((gdouble) _tmp19_);
2380
 
                                        usage = (guint) _tmp20_;
2381
 
                                        _tmp21_ = current_state;
2382
 
                                        _tmp22_ = step_dec;
2383
 
                                        current_state = _tmp21_ - _tmp22_;
2384
 
                                        _tmp23_ = app_info;
2385
 
                                        _tmp24_ = last_accessed;
2386
 
                                        _tmp25_ = usage;
2387
 
                                        alm_applications_chooser_dialog_insert_liststore (self, _tmp23_, _tmp24_, _tmp25_);
 
2555
                                        GAppInfo* _tmp17_;
 
2556
                                        const gchar* _tmp18_;
 
2557
                                        gint64* _tmp19_;
 
2558
                                        _tmp13_ = last_accessed_time;
 
2559
                                        _tmp14_ = g_date_time_new_from_unix_local ((*_tmp13_) / 1000);
 
2560
                                        time = _tmp14_;
 
2561
                                        _tmp15_ = time;
 
2562
                                        _tmp16_ = g_date_time_format (_tmp15_, "%e %B %Y");
 
2563
                                        last_accessed = _tmp16_;
 
2564
                                        _tmp17_ = app_info;
 
2565
                                        _tmp18_ = last_accessed;
 
2566
                                        _tmp19_ = last_accessed_time;
 
2567
                                        alm_applications_chooser_dialog_insert_liststore (self, _tmp17_, _tmp18_, *_tmp19_, (guint) 0);
2388
2568
                                        _g_free0 (last_accessed);
2389
2569
                                        _g_date_time_unref0 (time);
2390
2570
                                } else {
2391
 
                                        GAppInfo* _tmp26_;
2392
 
                                        GAppInfo* _tmp27_;
2393
 
                                        _tmp26_ = app_info;
2394
 
                                        _tmp27_ = _g_object_ref0 (_tmp26_);
2395
 
                                        other_appinfo = g_list_append (other_appinfo, _tmp27_);
 
2571
                                        GAppInfo* _tmp20_;
 
2572
                                        GAppInfo* _tmp21_;
 
2573
                                        GAppInfo* _tmp22_;
 
2574
                                        _tmp20_ = app_info;
 
2575
                                        _tmp21_ = _g_object_ref0 (_tmp20_);
 
2576
                                        other_appinfo = g_list_append (other_appinfo, _tmp21_);
 
2577
                                        _tmp22_ = app_info;
 
2578
                                        alm_applications_chooser_dialog_insert_liststore (self, _tmp22_, "", (gint64) 0, (guint) 0);
2396
2579
                                }
2397
2580
                                _g_free0 (last_accessed_time);
2398
2581
                                _g_free0 (id);
2405
2588
}
2406
2589
 
2407
2590
 
2408
 
void alm_applications_chooser_dialog_insert_liststore (AlmApplicationsChooserDialog* self, GAppInfo* app_info, const gchar* last_accessed, guint usage) {
 
2591
void alm_applications_chooser_dialog_insert_liststore (AlmApplicationsChooserDialog* self, GAppInfo* app_info, const gchar* last_accessed, gint64 last_accessed_time, guint usage) {
2409
2592
        GAppInfo* _tmp0_;
2410
2593
        const gchar* _tmp1_ = NULL;
2411
2594
        gchar* _tmp2_;
2470
2653
                const gchar* _tmp25_;
2471
2654
                GdkPixbuf* _tmp26_;
2472
2655
                const gchar* _tmp27_;
2473
 
                GHashTable* _tmp28_;
2474
 
                const gchar* _tmp29_;
2475
 
                gchar* _tmp30_;
 
2656
                const gchar* _tmp28_;
 
2657
                gint64 _tmp29_;
 
2658
                GHashTable* _tmp30_;
2476
2659
                const gchar* _tmp31_;
2477
 
                GdkPixbuf* _tmp32_;
 
2660
                gchar* _tmp32_;
2478
2661
                const gchar* _tmp33_;
2479
 
                guint _tmp34_;
2480
 
                AlmAppChooseInfo* _tmp35_;
 
2662
                const gchar* _tmp34_;
 
2663
                GdkPixbuf* _tmp35_;
 
2664
                const gchar* _tmp36_;
 
2665
                guint _tmp37_;
 
2666
                AlmAppChooseInfo* _tmp38_;
 
2667
                gint64 _tmp39_;
2481
2668
                _tmp17_ = self->priv->treeview;
2482
2669
                _tmp18_ = alm_app_selection_tree_view_get_liststore (_tmp17_);
2483
2670
                _tmp19_ = _tmp18_;
2490
2677
                _tmp25_ = name;
2491
2678
                _tmp26_ = pix;
2492
2679
                _tmp27_ = id;
2493
 
                gtk_list_store_set (_tmp23_, &_tmp24_, 0, _tmp25_, 1, _tmp26_, 2, _tmp27_, -1, -1);
2494
 
                _tmp28_ = self->priv->blocked_apps;
2495
 
                _tmp29_ = id;
2496
 
                _tmp30_ = g_strdup (_tmp29_);
2497
 
                _tmp31_ = name;
2498
 
                _tmp32_ = pix;
2499
 
                _tmp33_ = last_accessed;
2500
 
                _tmp34_ = usage;
2501
 
                _tmp35_ = alm_app_choose_info_new (_tmp31_, _tmp32_, _tmp33_, _tmp34_);
2502
 
                g_hash_table_insert (_tmp28_, _tmp30_, _tmp35_);
 
2680
                _tmp28_ = last_accessed;
 
2681
                _tmp29_ = last_accessed_time;
 
2682
                gtk_list_store_set (_tmp23_, &_tmp24_, 0, _tmp25_, 1, _tmp26_, 2, _tmp27_, 3, _tmp28_, 4, _tmp29_, 5, 0, -1, -1);
 
2683
                _tmp30_ = self->priv->blocked_apps;
 
2684
                _tmp31_ = id;
 
2685
                _tmp32_ = g_strdup (_tmp31_);
 
2686
                _tmp33_ = id;
 
2687
                _tmp34_ = name;
 
2688
                _tmp35_ = pix;
 
2689
                _tmp36_ = last_accessed;
 
2690
                _tmp37_ = usage;
 
2691
                _tmp38_ = alm_app_choose_info_new (_tmp33_, _tmp34_, _tmp35_, _tmp36_, _tmp37_);
 
2692
                g_hash_table_insert (_tmp30_, _tmp32_, _tmp38_);
 
2693
                _tmp39_ = last_accessed_time;
 
2694
                if (_tmp39_ > ((gint64) 0)) {
 
2695
                        AlmApplicationBlacklist* _tmp40_;
 
2696
                        const gchar* _tmp41_;
 
2697
                        GtkTreeIter _tmp42_;
 
2698
                        AlmAppSelectionTreeView* _tmp43_;
 
2699
                        GtkListStore* _tmp44_;
 
2700
                        GtkListStore* _tmp45_;
 
2701
                        _tmp40_ = self->priv->app_blacklist;
 
2702
                        _tmp41_ = id;
 
2703
                        _tmp42_ = iter;
 
2704
                        _tmp43_ = self->priv->treeview;
 
2705
                        _tmp44_ = alm_app_selection_tree_view_get_liststore (_tmp43_);
 
2706
                        _tmp45_ = _tmp44_;
 
2707
                        alm_application_blacklist_get_count_for_app (_tmp40_, _tmp41_, &_tmp42_, _tmp45_);
 
2708
                }
2503
2709
        } else {
2504
 
                AlmAppChooseInfo* _tmp36_;
2505
 
                const gchar* _tmp37_;
2506
 
                AlmAppChooseInfo* _tmp38_;
2507
 
                guint _tmp39_;
2508
 
                _tmp36_ = app_choose_info;
2509
 
                _tmp37_ = last_accessed;
2510
 
                alm_app_choose_info_set_last_accessed (_tmp36_, _tmp37_);
2511
 
                _tmp38_ = app_choose_info;
2512
 
                _tmp39_ = usage;
2513
 
                alm_app_choose_info_set_usage (_tmp38_, _tmp39_);
 
2710
                AlmAppChooseInfo* _tmp46_;
 
2711
                const gchar* _tmp47_;
 
2712
                AlmAppChooseInfo* _tmp48_;
 
2713
                _tmp46_ = app_choose_info;
 
2714
                _tmp47_ = last_accessed;
 
2715
                alm_app_choose_info_set_last_accessed (_tmp46_, _tmp47_);
 
2716
                _tmp48_ = app_choose_info;
 
2717
                alm_app_choose_info_set_usage (_tmp48_, (guint) 0);
2514
2718
        }
2515
2719
        _alm_app_choose_info_unref0 (app_choose_info);
2516
2720
        _g_object_unref0 (pix);
2552
2756
                GdkPixbuf* _tmp17_;
2553
2757
                GdkPixbuf* _tmp18_;
2554
2758
                const gchar* _tmp19_;
 
2759
                AlmApplicationBlacklist* _tmp20_;
 
2760
                AlmAppChooseInfo* _tmp21_;
 
2761
                gchar* _tmp22_ = NULL;
 
2762
                gchar* _tmp23_;
 
2763
                GtkTreeIter _tmp24_;
 
2764
                AlmAppSelectionTreeView* _tmp25_;
 
2765
                GtkListStore* _tmp26_;
 
2766
                GtkListStore* _tmp27_;
2555
2767
                _tmp5_ = self->priv->treeview;
2556
2768
                _tmp6_ = alm_app_selection_tree_view_get_liststore (_tmp5_);
2557
2769
                _tmp7_ = _tmp6_;
2569
2781
                _tmp18_ = _tmp17_;
2570
2782
                _tmp19_ = app;
2571
2783
                gtk_list_store_set (_tmp11_, &_tmp12_, 0, _tmp15_, 1, _tmp18_, 2, _tmp19_, -1, -1);
 
2784
                _tmp20_ = self->priv->app_blacklist;
 
2785
                _tmp21_ = app_choose_info;
 
2786
                _tmp22_ = alm_app_choose_info_get_id (_tmp21_);
 
2787
                _tmp23_ = _tmp22_;
 
2788
                _tmp24_ = iter;
 
2789
                _tmp25_ = self->priv->treeview;
 
2790
                _tmp26_ = alm_app_selection_tree_view_get_liststore (_tmp25_);
 
2791
                _tmp27_ = _tmp26_;
 
2792
                alm_application_blacklist_get_count_for_app (_tmp20_, _tmp23_, &_tmp24_, _tmp27_);
 
2793
                _g_free0 (_tmp23_);
2572
2794
        }
2573
2795
        _alm_app_choose_info_unref0 (app_choose_info);
2574
2796
}
2594
2816
        area = _tmp4_;
2595
2817
        _tmp5_ = self->priv->treeview;
2596
2818
        gtk_box_pack_start (area, (GtkWidget*) _tmp5_, TRUE, TRUE, (guint) 0);
2597
 
        gtk_dialog_add_buttons ((GtkDialog*) self, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL);
 
2819
        gtk_dialog_add_buttons ((GtkDialog*) self, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
2598
2820
        _tmp6_ = self->priv->treeview;
2599
2821
        gtk_widget_show_all ((GtkWidget*) _tmp6_);
2600
2822
        _g_object_unref0 (area);
2650
2872
        _alm_application_blacklist_unref0 (self->priv->app_blacklist);
2651
2873
        _g_object_unref0 (self->priv->treeview);
2652
2874
        _g_hash_table_unref0 (self->priv->all_actors_list);
 
2875
        _g_hash_table_unref0 (self->priv->actors_iter);
2653
2876
        _g_hash_table_unref0 (self->priv->blocked_apps);
2654
2877
        _g_hash_table_unref0 (self->priv->unblocked_apps);
2655
2878
        G_OBJECT_CLASS (alm_applications_chooser_dialog_parent_class)->finalize (obj);
2685
2908
}
2686
2909
 
2687
2910
 
2688
 
AlmAppChooseInfo* alm_app_choose_info_construct (GType object_type, const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time, guint usage_rating) {
 
2911
AlmUsageCellRenderer* alm_usage_cell_renderer_construct (GType object_type) {
 
2912
        AlmUsageCellRenderer * self = NULL;
 
2913
        self = (AlmUsageCellRenderer*) g_object_new (object_type, NULL);
 
2914
        self->priv->usage_num = 0;
 
2915
        return self;
 
2916
}
 
2917
 
 
2918
 
 
2919
AlmUsageCellRenderer* alm_usage_cell_renderer_new (void) {
 
2920
        return alm_usage_cell_renderer_construct (ALM_TYPE_USAGE_CELL_RENDERER);
 
2921
}
 
2922
 
 
2923
 
 
2924
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) {
 
2925
        AlmUsageCellRenderer * self;
 
2926
        gint _vala_x_offset = 0;
 
2927
        gint _vala_y_offset = 0;
 
2928
        gint _vala_width = 0;
 
2929
        gint _vala_height = 0;
 
2930
        self = (AlmUsageCellRenderer*) base;
 
2931
        g_return_if_fail (widget != NULL);
 
2932
        _vala_x_offset = ALM_USAGE_CELL_RENDERER_xpadding;
 
2933
        _vala_y_offset = ALM_USAGE_CELL_RENDERER_ypadding;
 
2934
        _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);
 
2935
        _vala_height = ALM_USAGE_CELL_RENDERER_RECT_HEIGHT + (ALM_USAGE_CELL_RENDERER_ypadding * 2);
 
2936
        if (x_offset) {
 
2937
                *x_offset = _vala_x_offset;
 
2938
        }
 
2939
        if (y_offset) {
 
2940
                *y_offset = _vala_y_offset;
 
2941
        }
 
2942
        if (width) {
 
2943
                *width = _vala_width;
 
2944
        }
 
2945
        if (height) {
 
2946
                *height = _vala_height;
 
2947
        }
 
2948
}
 
2949
 
 
2950
 
 
2951
static void alm_usage_cell_renderer_real_render (GtkCellRenderer* base, cairo_t* ctx, GtkWidget* widget, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags) {
 
2952
        AlmUsageCellRenderer * self;
 
2953
        GdkRectangle _tmp0_;
 
2954
        gint _tmp1_;
 
2955
        gint x;
 
2956
        GdkRectangle _tmp2_;
 
2957
        gint _tmp3_;
 
2958
        gint y;
 
2959
        self = (AlmUsageCellRenderer*) base;
 
2960
        g_return_if_fail (ctx != NULL);
 
2961
        g_return_if_fail (widget != NULL);
 
2962
        g_return_if_fail (background_area != NULL);
 
2963
        g_return_if_fail (cell_area != NULL);
 
2964
        _tmp0_ = *cell_area;
 
2965
        _tmp1_ = _tmp0_.x;
 
2966
        x = _tmp1_ + ALM_USAGE_CELL_RENDERER_xpadding;
 
2967
        _tmp2_ = *cell_area;
 
2968
        _tmp3_ = _tmp2_.y;
 
2969
        y = _tmp3_ + ALM_USAGE_CELL_RENDERER_ypadding;
 
2970
        {
 
2971
                gint i;
 
2972
                i = 0;
 
2973
                {
 
2974
                        gboolean _tmp4_;
 
2975
                        _tmp4_ = TRUE;
 
2976
                        while (TRUE) {
 
2977
                                gboolean _tmp5_;
 
2978
                                gint _tmp7_;
 
2979
                                gint _tmp8_;
 
2980
                                gint _tmp9_;
 
2981
                                cairo_t* _tmp10_;
 
2982
                                cairo_t* _tmp11_;
 
2983
                                gint _tmp12_;
 
2984
                                gint _tmp13_;
 
2985
                                cairo_t* _tmp14_;
 
2986
                                gint _tmp15_;
 
2987
                                _tmp5_ = _tmp4_;
 
2988
                                if (!_tmp5_) {
 
2989
                                        gint _tmp6_;
 
2990
                                        _tmp6_ = i;
 
2991
                                        i = _tmp6_ + 1;
 
2992
                                }
 
2993
                                _tmp4_ = FALSE;
 
2994
                                _tmp7_ = i;
 
2995
                                _tmp8_ = alm_usage_cell_renderer_get_usage (self);
 
2996
                                _tmp9_ = _tmp8_;
 
2997
                                if (!(_tmp7_ < _tmp9_)) {
 
2998
                                        break;
 
2999
                                }
 
3000
                                _tmp10_ = ctx;
 
3001
                                cairo_set_source_rgb (_tmp10_, 0.4, 0.4, 0.4);
 
3002
                                _tmp11_ = ctx;
 
3003
                                _tmp12_ = x;
 
3004
                                _tmp13_ = y;
 
3005
                                cairo_rectangle (_tmp11_, (gdouble) _tmp12_, (gdouble) _tmp13_, (gdouble) ALM_USAGE_CELL_RENDERER_RECT_WIDTH, (gdouble) ALM_USAGE_CELL_RENDERER_RECT_HEIGHT);
 
3006
                                _tmp14_ = ctx;
 
3007
                                cairo_fill (_tmp14_);
 
3008
                                _tmp15_ = x;
 
3009
                                x = _tmp15_ + (ALM_USAGE_CELL_RENDERER_RECT_SPACING + ALM_USAGE_CELL_RENDERER_RECT_WIDTH);
 
3010
                        }
 
3011
                }
 
3012
        }
 
3013
        {
 
3014
                gint i;
 
3015
                i = 0;
 
3016
                {
 
3017
                        gboolean _tmp16_;
 
3018
                        _tmp16_ = TRUE;
 
3019
                        while (TRUE) {
 
3020
                                gboolean _tmp17_;
 
3021
                                gint _tmp19_;
 
3022
                                gint _tmp20_;
 
3023
                                gint _tmp21_;
 
3024
                                cairo_t* _tmp22_;
 
3025
                                cairo_t* _tmp23_;
 
3026
                                gint _tmp24_;
 
3027
                                gint _tmp25_;
 
3028
                                cairo_t* _tmp26_;
 
3029
                                gint _tmp27_;
 
3030
                                _tmp17_ = _tmp16_;
 
3031
                                if (!_tmp17_) {
 
3032
                                        gint _tmp18_;
 
3033
                                        _tmp18_ = i;
 
3034
                                        i = _tmp18_ + 1;
 
3035
                                }
 
3036
                                _tmp16_ = FALSE;
 
3037
                                _tmp19_ = i;
 
3038
                                _tmp20_ = alm_usage_cell_renderer_get_usage (self);
 
3039
                                _tmp21_ = _tmp20_;
 
3040
                                if (!(_tmp19_ < (ALM_USAGE_CELL_RENDERER_RECT_NUM - _tmp21_))) {
 
3041
                                        break;
 
3042
                                }
 
3043
                                _tmp22_ = ctx;
 
3044
                                cairo_set_source_rgb (_tmp22_, 0.7, 0.7, 0.7);
 
3045
                                _tmp23_ = ctx;
 
3046
                                _tmp24_ = x;
 
3047
                                _tmp25_ = y;
 
3048
                                cairo_rectangle (_tmp23_, (gdouble) _tmp24_, (gdouble) _tmp25_, (gdouble) ALM_USAGE_CELL_RENDERER_RECT_WIDTH, (gdouble) ALM_USAGE_CELL_RENDERER_RECT_HEIGHT);
 
3049
                                _tmp26_ = ctx;
 
3050
                                cairo_fill (_tmp26_);
 
3051
                                _tmp27_ = x;
 
3052
                                x = _tmp27_ + (ALM_USAGE_CELL_RENDERER_RECT_SPACING + ALM_USAGE_CELL_RENDERER_RECT_WIDTH);
 
3053
                        }
 
3054
                }
 
3055
        }
 
3056
}
 
3057
 
 
3058
 
 
3059
gint alm_usage_cell_renderer_get_usage (AlmUsageCellRenderer* self) {
 
3060
        gint result;
 
3061
        gint _tmp0_;
 
3062
        g_return_val_if_fail (self != NULL, 0);
 
3063
        _tmp0_ = self->priv->usage_num;
 
3064
        result = _tmp0_;
 
3065
        return result;
 
3066
}
 
3067
 
 
3068
 
 
3069
void alm_usage_cell_renderer_set_usage (AlmUsageCellRenderer* self, gint value) {
 
3070
        gint _tmp0_;
 
3071
        g_return_if_fail (self != NULL);
 
3072
        _tmp0_ = value;
 
3073
        if (_tmp0_ > 10) {
 
3074
                self->priv->usage_num = 10;
 
3075
        } else {
 
3076
                gint _tmp1_;
 
3077
                _tmp1_ = value;
 
3078
                self->priv->usage_num = _tmp1_;
 
3079
        }
 
3080
        g_object_notify ((GObject *) self, "usage");
 
3081
}
 
3082
 
 
3083
 
 
3084
static void alm_usage_cell_renderer_class_init (AlmUsageCellRendererClass * klass) {
 
3085
        alm_usage_cell_renderer_parent_class = g_type_class_peek_parent (klass);
 
3086
        g_type_class_add_private (klass, sizeof (AlmUsageCellRendererPrivate));
 
3087
        GTK_CELL_RENDERER_CLASS (klass)->get_size = alm_usage_cell_renderer_real_get_size;
 
3088
        GTK_CELL_RENDERER_CLASS (klass)->render = alm_usage_cell_renderer_real_render;
 
3089
        G_OBJECT_CLASS (klass)->get_property = _vala_alm_usage_cell_renderer_get_property;
 
3090
        G_OBJECT_CLASS (klass)->set_property = _vala_alm_usage_cell_renderer_set_property;
 
3091
        G_OBJECT_CLASS (klass)->finalize = alm_usage_cell_renderer_finalize;
 
3092
        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));
 
3093
}
 
3094
 
 
3095
 
 
3096
static void alm_usage_cell_renderer_instance_init (AlmUsageCellRenderer * self) {
 
3097
        self->priv = ALM_USAGE_CELL_RENDERER_GET_PRIVATE (self);
 
3098
}
 
3099
 
 
3100
 
 
3101
static void alm_usage_cell_renderer_finalize (GObject* obj) {
 
3102
        AlmUsageCellRenderer * self;
 
3103
        self = ALM_USAGE_CELL_RENDERER (obj);
 
3104
        G_OBJECT_CLASS (alm_usage_cell_renderer_parent_class)->finalize (obj);
 
3105
}
 
3106
 
 
3107
 
 
3108
GType alm_usage_cell_renderer_get_type (void) {
 
3109
        static volatile gsize alm_usage_cell_renderer_type_id__volatile = 0;
 
3110
        if (g_once_init_enter (&alm_usage_cell_renderer_type_id__volatile)) {
 
3111
                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 };
 
3112
                GType alm_usage_cell_renderer_type_id;
 
3113
                alm_usage_cell_renderer_type_id = g_type_register_static (GTK_TYPE_CELL_RENDERER, "AlmUsageCellRenderer", &g_define_type_info, 0);
 
3114
                g_once_init_leave (&alm_usage_cell_renderer_type_id__volatile, alm_usage_cell_renderer_type_id);
 
3115
        }
 
3116
        return alm_usage_cell_renderer_type_id__volatile;
 
3117
}
 
3118
 
 
3119
 
 
3120
static void _vala_alm_usage_cell_renderer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
 
3121
        AlmUsageCellRenderer * self;
 
3122
        self = ALM_USAGE_CELL_RENDERER (object);
 
3123
        switch (property_id) {
 
3124
                case ALM_USAGE_CELL_RENDERER_USAGE:
 
3125
                g_value_set_int (value, alm_usage_cell_renderer_get_usage (self));
 
3126
                break;
 
3127
                default:
 
3128
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 
3129
                break;
 
3130
        }
 
3131
}
 
3132
 
 
3133
 
 
3134
static void _vala_alm_usage_cell_renderer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
 
3135
        AlmUsageCellRenderer * self;
 
3136
        self = ALM_USAGE_CELL_RENDERER (object);
 
3137
        switch (property_id) {
 
3138
                case ALM_USAGE_CELL_RENDERER_USAGE:
 
3139
                alm_usage_cell_renderer_set_usage (self, g_value_get_int (value));
 
3140
                break;
 
3141
                default:
 
3142
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 
3143
                break;
 
3144
        }
 
3145
}
 
3146
 
 
3147
 
 
3148
AlmAppChooseInfo* alm_app_choose_info_construct (GType object_type, const gchar* id, const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time, guint usage_rating) {
2689
3149
        AlmAppChooseInfo* self = NULL;
2690
3150
        const gchar* _tmp0_;
2691
3151
        gchar* _tmp1_;
2694
3154
        const gchar* _tmp4_;
2695
3155
        gchar* _tmp5_;
2696
3156
        guint _tmp6_;
 
3157
        const gchar* _tmp7_;
 
3158
        gchar* _tmp8_;
 
3159
        g_return_val_if_fail (id != NULL, NULL);
2697
3160
        g_return_val_if_fail (app_name != NULL, NULL);
2698
3161
        g_return_val_if_fail (last_accessed_time != NULL, NULL);
2699
3162
        self = (AlmAppChooseInfo*) g_type_create_instance (object_type);
2711
3174
        self->priv->last_accessed_time = _tmp5_;
2712
3175
        _tmp6_ = usage_rating;
2713
3176
        self->priv->usage_rating = _tmp6_;
 
3177
        _tmp7_ = id;
 
3178
        _tmp8_ = g_strdup (_tmp7_);
 
3179
        _g_free0 (self->priv->app_id);
 
3180
        self->priv->app_id = _tmp8_;
2714
3181
        return self;
2715
3182
}
2716
3183
 
2717
3184
 
2718
 
AlmAppChooseInfo* alm_app_choose_info_new (const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time, guint usage_rating) {
2719
 
        return alm_app_choose_info_construct (ALM_TYPE_APP_CHOOSE_INFO, app_name, app_icon, last_accessed_time, usage_rating);
 
3185
AlmAppChooseInfo* alm_app_choose_info_new (const gchar* id, const gchar* app_name, GdkPixbuf* app_icon, const gchar* last_accessed_time, guint usage_rating) {
 
3186
        return alm_app_choose_info_construct (ALM_TYPE_APP_CHOOSE_INFO, id, app_name, app_icon, last_accessed_time, usage_rating);
 
3187
}
 
3188
 
 
3189
 
 
3190
gchar* alm_app_choose_info_get_id (AlmAppChooseInfo* self) {
 
3191
        gchar* result = NULL;
 
3192
        const gchar* _tmp0_;
 
3193
        gchar* _tmp1_;
 
3194
        g_return_val_if_fail (self != NULL, NULL);
 
3195
        _tmp0_ = self->priv->app_id;
 
3196
        _tmp1_ = g_strdup (_tmp0_);
 
3197
        result = _tmp1_;
 
3198
        return result;
2720
3199
}
2721
3200
 
2722
3201
 
2927
3406
static void alm_app_choose_info_finalize (AlmAppChooseInfo* obj) {
2928
3407
        AlmAppChooseInfo * self;
2929
3408
        self = ALM_APP_CHOOSE_INFO (obj);
 
3409
        _g_free0 (self->priv->app_id);
2930
3410
        _g_free0 (self->priv->app_name);
2931
3411
        _g_object_unref0 (self->priv->app_icon);
2932
3412
        _g_free0 (self->priv->last_accessed_time);