126
// usage -------------------------------------
128
separator = new Gtk.SeparatorMenuItem ();
129
menu.add (separator);
131
item = new Gtk.MenuItem.with_label("Usage");
133
var item_usage = item;
135
item.activate.connect(()=>{
136
var submenu = get_menu("usage");
137
item_usage.set_submenu(submenu);
126
142
// about -------------------------------------
128
144
separator = new Gtk.SeparatorMenuItem ();
161
177
private void refresh_device_list_if_stale(){
162
178
var period = (new DateTime.now_local()).add_seconds(-10);
163
179
if ((device_list == null) || (last_refresh_date == null) || (last_refresh_date.compare(period) < 0)){
164
device_list = Device.get_block_devices_using_lsblk();
180
device_list = Device.get_filesystems();
165
181
last_refresh_date = new DateTime.now_local();
169
185
private void refresh_device_list(){
170
device_list = Device.get_block_devices_using_lsblk();
186
device_list = Device.get_filesystems();
171
187
last_refresh_date = new DateTime.now_local();
234
251
Gtk.Image icon = null;
253
//if (action != "usage"){
254
if ((dev.type == "crypt") && (dev.pkname.length > 0)){
255
icon = get_shared_icon("","unlocked.png",16);
257
else if (dev.fstype.contains("luks")){
258
icon = get_shared_icon("","locked.png",16);
260
else if (dev.fstype.contains("iso9660") || (dev.type == "loop")){
261
icon = get_shared_icon("media-cdrom","media-cdrom.png",16);
264
icon = get_shared_icon("","drive-harddisk.svg",16);
272
if ((dev.type == "disk") || ((dev.type == "loop") && dev.has_children())){
273
name += "%s".printf(dev.description_simple());
236
if ((dev.type == "crypt") && (dev.pkname.length > 0)){
237
icon = get_shared_icon("","unlocked.png",16);
239
else if (dev.fstype.contains("luks")){
240
icon = get_shared_icon("","locked.png",16);
242
else if (dev.fstype.contains("iso9660") || (dev.type == "loop")){
243
icon = get_shared_icon("media-cdrom","media-cdrom.png",16);
246
icon = get_shared_icon("","drive-harddisk.svg",16);
249
var name = dev.description_simple();
278
name += "%s".printf(dev.description_usage());
280
if ((dev.used_bytes > 0) && (dev.size_bytes > 0)){
281
double usage_percent = (dev.used_bytes * 10.0) / dev.size_bytes;
282
int used_count = (int) usage_percent;
283
int free_count = 10 - used_count;
286
for(int j = 0; j < used_count; j++){
289
for(int j = 0; j < free_count; j++){
295
for(int j = 0; j < 10; j++){
296
//name += "░";░ ▒ ▓ ⬜ ⬛ ▯ ▮
303
name += "%s".printf(dev.description_simple());
251
307
if ((dev.type != "disk") && ((action == "open") || (action == "unmount"))){
252
308
if (dev.mount_points.size > 0){
650
715
return (dev_unlocked_new == null);
718
private void open_baobab(Device dev){
720
if ((dev.used_bytes > 0) && (dev.mount_points.size > 0)){
721
string cmd = "baobab '%s'\n".printf(dev.mount_points[0].mount_point);
722
string std_out, std_err;
723
exec_script_sync(cmd, out std_out, out std_err, false, true);
726
/*if ((dev.used_bytes > 0) && (dev.mount_points.size > 0)){
730
while (!App.daemon.is_ready){
734
string cmd = "open_baobab|%s".printf(dev.mount_points[0].mount_point);
735
App.daemon.send_command(cmd);
653
739
public void btn_donate_clicked(){
654
740
var dialog = new DonationWindow();
655
741
//dialog.set_transient_for(this);