#include "mainwindow.h"
#include "message_search.h"
#include "managesieve.h"
+#include "sieve_manager.h"
#include "sieve_editor.h"
GSList *editors = NULL;
if (result->code == SIEVE_CODE_NONE) {
result->description = _("Script saved successfully.");
}
+
+ if (page->is_new) {
+ /* notify manager windows of newly created script */
+ page->is_new = FALSE;
+ sieve_manager_script_created(session,
+ page->script_name);
+ }
}
sieve_editor_update_status(page, result);
}
gboolean first_line;
gboolean modified;
gboolean closing;
+ gboolean is_new;
/* callback for failure to load the script */
sieve_session_cb_fn on_load_error;
(sieve_session_cb_fn)filter_got_load_error, page);
} else {
editor = sieve_editor_new(session, filter_name);
+ editor->is_new = TRUE;
sieve_editor_show(editor);
}
}
manager_pages = g_slist_prepend(manager_pages, page);
gtk_widget_show_all(page->window);
}
+
+void sieve_manager_script_created(SieveSession *session, const gchar *name)
+{
+ SieveManagerPage *page;
+ SieveScript script = {.name = (gchar *)name};
+ GSList *cur;
+
+ manager_sessions_foreach(cur, session, page) {
+ filters_list_insert_filter(page, &script);
+ }
+}
void sieve_manager_show(void);
void sieve_manager_done(SieveManagerPage *page);
+void sieve_manager_script_created(SieveSession *session,
+ const gchar *filter_name);
#endif /* SIEVE_MANAGER_H */