[gnome-contacts] Added marking handling to Contacts.ListPane
- From: Erick PÃrez Castellanos <erickpc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-contacts] Added marking handling to Contacts.ListPane
- Date: Thu, 7 Feb 2013 13:10:01 +0000 (UTC)
commit 8281be96463f2733fed96fb446d844114fa5c205
Author: Erick PÃrez Castellanos <erick red gmail com>
Date: Tue Feb 5 11:32:51 2013 -0500
Added marking handling to Contacts.ListPane
Added ::delete_contacts signal to notify the application.
src/contacts-list-pane.vala | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
---
diff --git a/src/contacts-list-pane.vala b/src/contacts-list-pane.vala
index f560c57..f01364b 100644
--- a/src/contacts-list-pane.vala
+++ b/src/contacts-list-pane.vala
@@ -16,6 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+using Gee;
using Gtk;
using Folks;
@@ -31,6 +32,7 @@ public class Contacts.ListPane : Frame {
private bool search_visible;
public signal void selection_changed (Contact? contact);
+ public signal void delete_contacts (LinkedList<Contact> contacts_list);
private void refilter () {
string []? values;
@@ -139,6 +141,28 @@ public class Contacts.ListPane : Frame {
scrolled.show ();
selection_toolbar.hide ();
+
+ /* contact mark handling */
+ contacts_view.contacts_marked.connect ((nr_contacts_marked) => {
+ if (nr_contacts_marked > 0)
+ delete_selected_button.set_sensitive (true);
+ else
+ delete_selected_button.set_sensitive (false);
+
+ if (nr_contacts_marked > 1)
+ link_selected_button.set_sensitive (true);
+ else
+ link_selected_button.set_sensitive (false);
+ });
+
+ delete_selected_button.clicked.connect (() => {
+ var marked_contacts = contacts_view.get_marked_contacts ();
+ foreach (var c in marked_contacts) {
+ c.hide ();
+ }
+
+ delete_contacts (marked_contacts);
+ });
}
public void select_contact (Contact contact, bool ignore_change = false) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]