aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/plugin/interfaces.vala
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2017-03-11 22:48:35 +0100
committerMarvin W <git@larma.de>2017-03-11 22:50:28 +0100
commit0ea4ac7e20674e3e6a8d1b3d4b53702dace72907 (patch)
tree09a4f713b66d45a1ecdb9a826611899fad35105a /libdino/src/plugin/interfaces.vala
parent47ab19b3a06b6f96965482e4a33d443c2276c1d8 (diff)
downloaddino-0ea4ac7e20674e3e6a8d1b3d4b53702dace72907.tar.gz
dino-0ea4ac7e20674e3e6a8d1b3d4b53702dace72907.zip
Plug-In API: allow adding custom entries to account settings
Also make OpenPGP code use this API
Diffstat (limited to 'libdino/src/plugin/interfaces.vala')
-rw-r--r--libdino/src/plugin/interfaces.vala27
1 files changed, 27 insertions, 0 deletions
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