1/*
2 * Copyright 2011–2019 elementary, Inc. (https://elementary.io)
3 * SPDX-License-Identifier: LGPL-3.0-or-later
4 */
5
6public class StorageView : Gtk.Grid {
7    construct {
8        var file_root = GLib.File.new_for_path ("/");
9
10        try {
11            var info = file_root.query_filesystem_info (GLib.FileAttribute.FILESYSTEM_SIZE, null);
12
13            var size = info.get_attribute_uint64 (GLib.FileAttribute.FILESYSTEM_SIZE);
14
15            var storage = new Granite.Widgets.StorageBar.with_total_usage (size, size / 2);
16            storage.update_block_size (Granite.Widgets.StorageBar.ItemDescription.AUDIO, size / 40);
17            storage.update_block_size (Granite.Widgets.StorageBar.ItemDescription.VIDEO, size / 30);
18            storage.update_block_size (Granite.Widgets.StorageBar.ItemDescription.APP, size / 20);
19            storage.update_block_size (Granite.Widgets.StorageBar.ItemDescription.PHOTO, size / 10);
20            storage.update_block_size (Granite.Widgets.StorageBar.ItemDescription.FILES, size / 5);
21
22            add (storage);
23        } catch (Error e) {
24            critical (e.message);
25        }
26    }
27}
28