Exemple #1
0
void on_mount_added(GVolumeMonitor* vm, GMount* mount, gpointer user_data)
{
    FmPlacesModel* model = FM_PLACES_MODEL(user_data);
    GVolume* vol = g_mount_get_volume(mount);
    if(vol)
    {
        FmPlaceItem *item;
        GtkTreeIter it;
        item = find_vol(model, vol, &it);
        if(item && item->type == FM_PLACES_ITEM_VOL && !item->fi->path)
        {
            GtkTreePath* tp;
            GFile* gf = g_mount_get_root(mount);
            FmPath* path = fm_path_new_for_gfile(gf);
            g_debug("mount path: %s", path->name);
            g_object_unref(gf);
            fm_file_info_set_path(item->fi, path);
            if(path)
                fm_path_unref(path);
            item->vol_mounted = TRUE;

            /* inform the view to update mount indicator */
            tp = gtk_tree_model_get_path(GTK_TREE_MODEL(model), &it);
            gtk_tree_model_row_changed(GTK_TREE_MODEL(model), tp, &it);
            gtk_tree_path_free(tp);
        }
        g_object_unref(vol);
    }
}
Exemple #2
0
void on_vol_changed(GVolumeMonitor* vm, GVolume* vol, gpointer user_data)
{
    PlaceItem* item;
    GtkTreeIter it;
    item = find_vol(vol, &it);
    if(item)
        update_vol(item, &it);
}
Exemple #3
0
void on_vol_changed(GVolumeMonitor* vm, GVolume* vol, gpointer user_data)
{
    FmPlacesModel* model = FM_PLACES_MODEL(user_data);
    FmPlaceItem* item;
    GtkTreeIter it;
    g_debug("vol-changed");
    item = find_vol(model, vol, &it);
    if(item)
        update_vol(model, item, &it, NULL);
}
Exemple #4
0
void on_vol_removed(GVolumeMonitor* vm, GVolume* vol, gpointer user_data)
{
    PlaceItem* item;
    GtkTreeIter it;
    item = find_vol(vol, &it);
    /* g_debug("remove vol: %p, uuid: %s, udi: %s", vol, g_volume_get_identifier(vol, "uuid"), g_volume_get_identifier(vol, "hal-udi")); */
    if(item)
    {
        gtk_list_store_remove(model, &it);
        place_item_free(item);
    }
}
Exemple #5
0
void on_vol_removed(GVolumeMonitor* vm, GVolume* vol, gpointer user_data)
{
    FmPlacesModel* model = FM_PLACES_MODEL(user_data);
    FmPlaceItem* item;
    GtkTreeIter it;
    item = find_vol(model, vol, &it);
    /* g_debug("remove vol: %p, uuid: %s, udi: %s", vol, g_volume_get_identifier(vol, "uuid"), g_volume_get_identifier(vol, "hal-udi")); */
    if(item)
    {
        gtk_list_store_remove(GTK_LIST_STORE(model), &it);
        place_item_free(item);
        update_sep_tp(model);
    }
}