From 246ee48b6cc48067c2a38c4fce6c662446b7664b Mon Sep 17 00:00:00 2001 From: Albert Vaca Date: Sat, 22 Nov 2014 10:33:20 -0800 Subject: [PATCH 1/4] Added an option menu to launch KDE Connect settings --- src/DeviceIndicator.vala | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/DeviceIndicator.vala b/src/DeviceIndicator.vala index b892888..6483254 100644 --- a/src/DeviceIndicator.vala +++ b/src/DeviceIndicator.vala @@ -17,6 +17,7 @@ namespace KDEConnectIndicator { private Gtk.SeparatorMenuItem separator; private Gtk.MenuItem pair_item; private Gtk.MenuItem unpair_item; + private Gtk.MenuItem settings_item; public DeviceIndicator (string path) { this.path = path; device = new Device (path); @@ -44,6 +45,8 @@ namespace KDEConnectIndicator { menu.append(pair_item); unpair_item = new Gtk.MenuItem.with_label ("Unpair"); menu.append(unpair_item); + settings_item = new Gtk.MenuItem.with_label ("KDE Connect Settings"); + menu.append(settings_item); menu.show_all (); @@ -78,6 +81,12 @@ namespace KDEConnectIndicator { unpair_item.activate.connect (() => { device.unpair (); }); + settings_item.activate.connect (() => { + try { + Process.spawn_command_line_async ("kcmshell4 kdeconnect"); + } catch (Error e) { + } + }); device.charge_changed.connect ((charge) => { update_battery_item (); From f3645c9f5dff0dce2c3207f679ffec04e43d3fb0 Mon Sep 17 00:00:00 2001 From: Coshibu Date: Sat, 28 Feb 2015 20:01:49 +0100 Subject: [PATCH 2/4] Update DeviceIndicator.vala add browse pictures --- src/DeviceIndicator.vala | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/DeviceIndicator.vala b/src/DeviceIndicator.vala index b892888..06deef7 100644 --- a/src/DeviceIndicator.vala +++ b/src/DeviceIndicator.vala @@ -13,6 +13,7 @@ namespace KDEConnectIndicator { private Gtk.MenuItem battery_item; private Gtk.MenuItem status_item; private Gtk.MenuItem browse_item; + private Gtk.MenuItem browse_pictures_item; private Gtk.MenuItem send_item; private Gtk.SeparatorMenuItem separator; private Gtk.MenuItem pair_item; @@ -36,6 +37,8 @@ namespace KDEConnectIndicator { menu.append (new Gtk.SeparatorMenuItem ()); browse_item = new Gtk.MenuItem.with_label ("Browse device"); menu.append(browse_item); + browse_item = new Gtk.MenuItem.with_label ("Browse pictures"); + menu.append(browse_item); send_item = new Gtk.MenuItem.with_label ("Send file"); menu.append(send_item); separator = new Gtk.SeparatorMenuItem (); @@ -58,6 +61,9 @@ namespace KDEConnectIndicator { browse_item.activate.connect (() => { device.browse (); }); + browse_pictures_item.activate.connect (() => { + device.browse (); + }); send_item.activate.connect (() => { Gtk.FileChooserDialog chooser = new Gtk.FileChooserDialog ( "Select file", null, Gtk.FileChooserAction.OPEN, @@ -159,6 +165,8 @@ namespace KDEConnectIndicator { browse_item.visible = paired && device.has_plugin ("kdeconnect_sftp"); browse_item.sensitive = reachable; + browse_pictures_item.visible = paired && device.has_plugin ("kdeconnect_sftp"); + browse_pictures_item.sensitive = reachable; send_item.visible = paired && device.has_plugin ("kdeconnect_share"); send_item.sensitive = reachable; separator.visible = browse_item.visible || send_item.visible; From 048ad230ab547e22648bbedad695e03ba92781be Mon Sep 17 00:00:00 2001 From: Coshubi Date: Sun, 1 Mar 2015 22:45:15 +0100 Subject: [PATCH 3/4] Added direct access to home folder, camera folder, pictures folder, Download folder and Music folder. --- src/Device.vala | 74 ++++++++++++++++++++++++++++++++++++++++ src/DeviceIndicator.vala | 47 +++++++++++++++++++++++-- 2 files changed, 118 insertions(+), 3 deletions(-) diff --git a/src/Device.vala b/src/Device.vala index de72335..af0780f 100644 --- a/src/Device.vala +++ b/src/Device.vala @@ -355,6 +355,80 @@ namespace KDEConnectIndicator { }); } } + + + public void browse_home () { + if (!has_plugin ("kdeconnect_sftp")) + return; + if (is_mounted ()) + open_file (mount_point + "/storage/sdcard0"); + + else { + mount(); + Timeout.add (1000, ()=> { // idle for a few second to let sftp kickin + open_file (mount_point + "/storage/sdcard0"); + return false; + }); + } + } + public void browse_camera () { + if (!has_plugin ("kdeconnect_sftp")) + return; + if (is_mounted ()) + open_file (mount_point+ "/storage/sdcard0/DCIM"); + + else { + mount(); + Timeout.add (1000, ()=> { // idle for a few second to let sftp kickin + open_file (mount_point + "/storage/sdcard0/DCIM"); + return false; + }); + } + } + public void browse_pictures () { + if (!has_plugin ("kdeconnect_sftp")) + return; + if (is_mounted ()) + open_file (mount_point+ "/storage/sdcard0/Pictures"); + + else { + mount(); + Timeout.add (1000, ()=> { // idle for a few second to let sftp kickin + open_file (mount_point + "/storage/sdcard0/Pictures"); + return false; + }); + } + } + public void browse_download () { + if (!has_plugin ("kdeconnect_sftp")) + return; + if (is_mounted ()) + open_file (mount_point+ "/storage/sdcard0/Download"); + + else { + mount(); + Timeout.add (1000, ()=> { // idle for a few second to let sftp kickin + open_file (mount_point + "/storage/sdcard0/Download"); + return false; + }); + } + } + public void browse_music () { + if (!has_plugin ("kdeconnect_sftp")) + return; + if (is_mounted ()) + open_file (mount_point+ "/storage/sdcard0/Music"); + + else { + mount(); + Timeout.add (1000, ()=> { // idle for a few second to let sftp kickin + open_file (mount_point + "/storage/sdcard0/Music"); + return false; + }); + } + } + + public bool is_mounted () { try { var return_variant = conn.call_sync ( diff --git a/src/DeviceIndicator.vala b/src/DeviceIndicator.vala index 06deef7..80e9b62 100644 --- a/src/DeviceIndicator.vala +++ b/src/DeviceIndicator.vala @@ -13,7 +13,13 @@ namespace KDEConnectIndicator { private Gtk.MenuItem battery_item; private Gtk.MenuItem status_item; private Gtk.MenuItem browse_item; + + private Gtk.MenuItem browse_home_item; + private Gtk.MenuItem browse_camera_item; private Gtk.MenuItem browse_pictures_item; + private Gtk.MenuItem browse_download_item; + private Gtk.MenuItem browse_music_item; + private Gtk.MenuItem send_item; private Gtk.SeparatorMenuItem separator; private Gtk.MenuItem pair_item; @@ -37,8 +43,18 @@ namespace KDEConnectIndicator { menu.append (new Gtk.SeparatorMenuItem ()); browse_item = new Gtk.MenuItem.with_label ("Browse device"); menu.append(browse_item); - browse_item = new Gtk.MenuItem.with_label ("Browse pictures"); - menu.append(browse_item); + + browse_home_item = new Gtk.MenuItem.with_label ("Browse home folder"); + menu.append(browse_home_item); + browse_camera_item = new Gtk.MenuItem.with_label ("Browse camera pictures"); + menu.append(browse_camera_item); + browse_pictures_item = new Gtk.MenuItem.with_label ("Browse pictures"); + menu.append(browse_pictures_item); + browse_download_item = new Gtk.MenuItem.with_label ("Browse download"); + menu.append(browse_download_item); + browse_music_item = new Gtk.MenuItem.with_label ("Browse music"); + menu.append(browse_music_item); + send_item = new Gtk.MenuItem.with_label ("Send file"); menu.append(send_item); separator = new Gtk.SeparatorMenuItem (); @@ -61,9 +77,24 @@ namespace KDEConnectIndicator { browse_item.activate.connect (() => { device.browse (); }); + + browse_home_item.activate.connect (() => { + device.browse_home (); + }); + browse_camera_item.activate.connect (() => { + device.browse_camera (); + }); browse_pictures_item.activate.connect (() => { - device.browse (); + device.browse_pictures (); + }); + browse_download_item.activate.connect (() => { + device.browse_download (); + }); + browse_music_item.activate.connect (() => { + device.browse_music (); }); + + send_item.activate.connect (() => { Gtk.FileChooserDialog chooser = new Gtk.FileChooserDialog ( "Select file", null, Gtk.FileChooserAction.OPEN, @@ -165,8 +196,18 @@ namespace KDEConnectIndicator { browse_item.visible = paired && device.has_plugin ("kdeconnect_sftp"); browse_item.sensitive = reachable; + + browse_home_item.visible = paired && device.has_plugin ("kdeconnect_sftp"); + browse_home_item.sensitive = reachable; + browse_camera_item.visible = paired && device.has_plugin ("kdeconnect_sftp"); + browse_camera_item.sensitive = reachable; browse_pictures_item.visible = paired && device.has_plugin ("kdeconnect_sftp"); browse_pictures_item.sensitive = reachable; + browse_download_item.visible = paired && device.has_plugin ("kdeconnect_sftp"); + browse_download_item.sensitive = reachable; + browse_music_item.visible = paired && device.has_plugin ("kdeconnect_sftp"); + browse_music_item.sensitive = reachable; + send_item.visible = paired && device.has_plugin ("kdeconnect_share"); send_item.sensitive = reachable; separator.visible = browse_item.visible || send_item.visible; From 04019302b446f2e6ef6adcdd44e16ab277f15628 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 2 Mar 2015 11:00:19 +0100 Subject: [PATCH 4/4] Revert "test" --- src/DeviceIndicator.vala | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/DeviceIndicator.vala b/src/DeviceIndicator.vala index 3daedf2..80e9b62 100644 --- a/src/DeviceIndicator.vala +++ b/src/DeviceIndicator.vala @@ -24,7 +24,6 @@ namespace KDEConnectIndicator { private Gtk.SeparatorMenuItem separator; private Gtk.MenuItem pair_item; private Gtk.MenuItem unpair_item; - private Gtk.MenuItem settings_item; public DeviceIndicator (string path) { this.path = path; device = new Device (path); @@ -64,8 +63,6 @@ namespace KDEConnectIndicator { menu.append(pair_item); unpair_item = new Gtk.MenuItem.with_label ("Unpair"); menu.append(unpair_item); - settings_item = new Gtk.MenuItem.with_label ("KDE Connect Settings"); - menu.append(settings_item); menu.show_all (); @@ -118,12 +115,6 @@ namespace KDEConnectIndicator { unpair_item.activate.connect (() => { device.unpair (); }); - settings_item.activate.connect (() => { - try { - Process.spawn_command_line_async ("kcmshell4 kdeconnect"); - } catch (Error e) { - } - }); device.charge_changed.connect ((charge) => { update_battery_item ();