aboutsummaryrefslogtreecommitdiff
path: root/src/plugin.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2010-06-11 07:36:14 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2010-06-11 07:36:14 +0000
commitcbbe2cb3b468a8bdf8225657fb7d522e133ee24c (patch)
tree0da0899ac491e1e60195b7a7213a97e115b5b467 /src/plugin.c
parentd4fe7099d2fdfb3e1f06979f010c11da90e72501 (diff)
added plug-in APIs for folder view.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2569 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/plugin.c')
-rw-r--r--src/plugin.c67
1 files changed, 63 insertions, 4 deletions
diff --git a/src/plugin.c b/src/plugin.c
index 2193f405..d7af9810 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -544,10 +544,57 @@ void syl_plugin_menu_set_active(const gchar *path, gboolean is_active)
gpointer syl_plugin_folderview_get(void)
{
- gpointer sym;
+ gpointer (*func)(void);
+ GETFUNC("folderview_get");
+ return SAFE_CALL_RET(func);
+}
- sym = syl_plugin_lookup_symbol("folderview");
- return sym;
+void syl_plugin_folderview_add_sub_widget(GtkWidget *widget)
+{
+ void (*func)(gpointer, GtkWidget *);
+ gpointer folderview;
+
+ folderview = syl_plugin_folderview_get();
+ if (folderview) {
+ GETFUNC("folderview_get");
+ SAFE_CALL_ARG2(func, folderview, widget);
+ }
+}
+
+void syl_plugin_folderview_select(FolderItem *item)
+{
+ void (*func)(gpointer, FolderItem *);
+ gpointer folderview;
+
+ folderview = syl_plugin_folderview_get();
+ if (folderview) {
+ GETFUNC("folderview_select");
+ SAFE_CALL_ARG2(func, folderview, item);
+ }
+}
+
+void syl_plugin_folderview_unselect(void)
+{
+ void (*func)(gpointer);
+ gpointer folderview;
+
+ folderview = syl_plugin_folderview_get();
+ if (folderview) {
+ GETFUNC("folderview_unselect");
+ SAFE_CALL_ARG1(func, folderview);
+ }
+}
+
+void syl_plugin_folderview_select_next_unread(void)
+{
+ void (*func)(gpointer);
+ gpointer folderview;
+
+ folderview = syl_plugin_folderview_get();
+ if (folderview) {
+ GETFUNC("folderview_select_next_unread");
+ SAFE_CALL_ARG1(func, folderview);
+ }
}
FolderItem *syl_plugin_folderview_get_selected_item(void)
@@ -557,7 +604,7 @@ FolderItem *syl_plugin_folderview_get_selected_item(void)
folderview = syl_plugin_folderview_get();
if (folderview) {
- func = syl_plugin_lookup_symbol("folderview_get_selected_item");
+ GETFUNC("folderview_get_selected_item");
return SAFE_CALL_ARG1_RET(func, folderview);
}
@@ -608,6 +655,18 @@ void syl_plugin_folderview_update_all_updated(gboolean update_summary)
SAFE_CALL_ARG1(func, update_summary);
}
+void syl_plugin_folderview_check_new_selected(void)
+{
+ void (*func)(gpointer);
+ gpointer folderview;
+
+ folderview = syl_plugin_folderview_get();
+ if (folderview) {
+ GETFUNC("folderview_check_new_selected");
+ SAFE_CALL_ARG1(func, folderview);
+ }
+}
+
gpointer syl_plugin_summary_view_get(void)
{
gpointer sym;