gnome: add to contact
Adds context menu item which allows the user to choose an existing
contact or create a new contact to add the selected contact method
to.
Note: this currently seems to fail with non local address books
(specifically with google contacts), even though the EDS methods
will ocasionally return as having succeeded. This is a bug which
will be addressed in later patches.
Issue: #78234
Change-Id: Ia7dc4e8cf5cc5582d4f734f6e46d26cf4b2195dd
diff --git a/src/contactpopover.h b/src/contactpopover.h
new file mode 100644
index 0000000..6b3b801
--- /dev/null
+++ b/src/contactpopover.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2015 Savoir-faire Linux Inc.
+ * Author: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Additional permission under GNU GPL version 3 section 7:
+ *
+ * If you modify this program, or any covered work, by linking or
+ * combining it with the OpenSSL project's OpenSSL library (or a
+ * modified version of that library), containing parts covered by the
+ * terms of the OpenSSL or SSLeay licenses, Savoir-faire Linux Inc.
+ * grants you additional permission to convey the resulting work.
+ * Corresponding Source for a non-source form of such a combination
+ * shall include the source code for the parts of OpenSSL used as well
+ * as that of the covered work.
+ */
+
+#ifndef _CONTACTPOPOVER_H
+#define _CONTACTPOPOVER_H
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+class ContactMethod;
+
+#define CONTACT_POPOVER_TYPE (contact_popover_get_type ())
+#define CONTACT_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONTACT_POPOVER_TYPE, ContactPopover))
+#define CONTACT_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CONTACT_POPOVER_TYPE, ContactPopoverClass))
+#define IS_CONTACT_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), CONTACT_POPOVER_TYPE))
+#define IS_CONTACT_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), CONTACT_POPOVER_TYPE))
+
+typedef struct _ContactPopover ContactPopover;
+typedef struct _ContactPopoverClass ContactPopoverClass;
+
+GType contact_popover_get_type (void) G_GNUC_CONST;
+
+/**
+ * For gtk+ >= 3.12 this will create a GtkPopover pointing to the parent and if
+ * given, the GdkRectangle. Otherwise, this will create an undecorated GtkWindow
+ * which will be centered on the toplevel window of the given parent.
+ * This is to ensure cmpatibility with gtk+3.10.
+ */
+GtkWidget *contact_popover_new (ContactMethod *cm, GtkWidget *parent, GdkRectangle *rect);
+
+G_END_DECLS
+
+#endif /* _CONTACTPOPOVER_H */