From 0ea4ac7e20674e3e6a8d1b3d4b53702dace72907 Mon Sep 17 00:00:00 2001 From: Marvin W Date: Sat, 11 Mar 2017 22:48:35 +0100 Subject: Plug-In API: allow adding custom entries to account settings Also make OpenPGP code use this API --- libdino/src/plugin/interfaces.vala | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'libdino/src/plugin/interfaces.vala') diff --git a/libdino/src/plugin/interfaces.vala b/libdino/src/plugin/interfaces.vala index 19873003..35c93786 100644 --- a/libdino/src/plugin/interfaces.vala +++ b/libdino/src/plugin/interfaces.vala @@ -1,5 +1,15 @@ +using Gtk; + namespace Dino.Plugins { +public enum Priority { + LOWEST, + LOWER, + DEFAULT, + HIGHER, + HIGHEST +} + public interface RootInterface : Object { public abstract void registered(Dino.Application app); @@ -13,4 +23,21 @@ public interface EncryptionListEntry : Object { public abstract bool can_encrypt(Entities.Conversation conversation); } +public abstract class AccountSettingsEntry : Object { + public abstract string id { get; } + public virtual Priority priority { get { return Priority.DEFAULT; } } + public abstract string name { get; } + public virtual int16 label_top_padding { get { return -1; } } + + public abstract AccountSettingsWidget get_widget(); +} + +public interface AccountSettingsWidget : Gtk.Widget { + public abstract void set_account(Entities.Account account); + + public abstract signal void activated(); + + public abstract void deactivate(); +} + } \ No newline at end of file -- cgit v1.2.3