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