static gint sort_recent_items_mru (GtkRecentInfo *a, GtkRecentInfo *b, gpointer unused) { g_assert (a != NULL && b != NULL); return gtk_recent_info_get_modified (b) - gtk_recent_info_get_modified (a); }
static gint compare_mru (GtkRecentInfo *a, GtkRecentInfo *b) { time_t ta = MAX (gtk_recent_info_get_visited (a), gtk_recent_info_get_modified (a)); time_t tb = MAX (gtk_recent_info_get_visited (b), gtk_recent_info_get_modified (b)); return ta < tb; }
static gint totem_compare_recent_stream_items (GtkRecentInfo *a, GtkRecentInfo *b) { time_t time_a, time_b; time_a = gtk_recent_info_get_modified (a); time_b = gtk_recent_info_get_modified (b); return (time_b - time_a); }
static gint by_age_uri (gconstpointer a_, gconstpointer b_) { GtkRecentInfo *a = (gpointer)a_; GtkRecentInfo *b = (gpointer)b_; int res; res = gtk_recent_info_get_modified (b) - gtk_recent_info_get_modified (a); if (res) return res; res = strcmp (gtk_recent_info_get_uri (a), gtk_recent_info_get_uri (b)); return res; }
static int sort_infos_by_timestamp_descending (gconstpointer a, gconstpointer b) { GtkRecentInfo *info_a = (GtkRecentInfo*)a; GtkRecentInfo *info_b = (GtkRecentInfo*)b; time_t modified_a, modified_b; modified_a = gtk_recent_info_get_modified (info_a); modified_b = gtk_recent_info_get_modified (info_b); return modified_b - modified_a; }
static gint brasero_project_type_chooser_sort_recent (gconstpointer a, gconstpointer b) { GtkRecentInfo *recent_a = (GtkRecentInfo *) a; GtkRecentInfo *recent_b = (GtkRecentInfo *) b; time_t timestamp_a; time_t timestamp_b; /* we get the soonest timestamp */ timestamp_a = gtk_recent_info_get_visited (recent_a) > gtk_recent_info_get_modified (recent_a) ? gtk_recent_info_get_visited (recent_a): gtk_recent_info_get_modified (recent_a); timestamp_b = gtk_recent_info_get_visited (recent_b) > gtk_recent_info_get_modified (recent_b) ? gtk_recent_info_get_visited (recent_b): gtk_recent_info_get_modified (recent_b); return timestamp_b - timestamp_a; }
static gint cb_sort_by_header_index (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data) { #if 0 GtkTreeIter child_a, child_b; GtkRecentInfo *info_a, *info_b; gboolean is_folder_a, is_folder_b; gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), &child_a, a); gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), &child_b, b); gtk_tree_model_get (GTK_TREE_MODEL (impl->recent_model), &child_a, RECENT_MODEL_COL_IS_FOLDER, &is_folder_a, RECENT_MODEL_COL_INFO, &info_a, -1); gtk_tree_model_get (GTK_TREE_MODEL (impl->recent_model), &child_b, RECENT_MODEL_COL_IS_FOLDER, &is_folder_b, RECENT_MODEL_COL_INFO, &info_b, -1); if (!info_a) return 1; if (!info_b) return -1; /* folders always go first */ if (is_folder_a != is_folder_b) return is_folder_a ? 1 : -1; if (gtk_recent_info_get_modified (info_a) < gtk_recent_info_get_modified (info_b)) return -1; else if (gtk_recent_info_get_modified (info_a) > gtk_recent_info_get_modified (info_b)) return 1; else #endif return 0; }
static void age_renderer_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GtkRecentInfo *ri = NULL; GDateTime *now = user_data; GDateTime *last_used; GTimeSpan age; char *text; const char *date_format; const char *p; gtk_tree_model_get (model, iter, RECENT_COL_INFO, &ri, -1); last_used = g_date_time_new_from_unix_local (gtk_recent_info_get_modified (ri)); gtk_recent_info_unref (ri); age = g_date_time_difference (now, last_used); if (age < G_TIME_SPAN_DAY && g_date_time_get_day_of_month (now) == g_date_time_get_day_of_month (last_used)) { if (go_locale_24h ()) /* * xgettext: This is a time format for * g_date_time_format used in locales that use a * 24 hour clock. You probably do not need to change * this. The default will show things like "09:50" * and "21:50". */ date_format = _("%H:%M"); else /* * xgettext: This is a time format for * g_date_time_format used in locales that use * a 12 hour clock. You probably do not need * to change this. The default will show * things like " 9:50 am" and " 9:50 pm". */ date_format = _("%l:%M %P"); } else { date_format = "%x"; } p = text = g_date_time_format (last_used, date_format); while (g_ascii_isspace (*p)) p++; g_object_set (cell, "text", p, "xalign", 0.5, NULL); g_free (text); g_date_time_unref (last_used); }
static VALUE rg_modified(VALUE self) { time_t t = gtk_recent_info_get_modified(_SELF(self)); return rb_funcall(rb_cTime, rb_intern("at"), 1, INT2NUM(t)); }
int RecentManager::sortRecentsEntries(GtkRecentInfo * a, GtkRecentInfo * b) { return (gtk_recent_info_get_modified(b) - gtk_recent_info_get_modified(a)); }