aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/reference/evolution-util/evolution-util-sections.txt1
-rw-r--r--e-util/e-rule-editor.c140
-rw-r--r--e-util/e-rule-editor.h21
3 files changed, 0 insertions, 162 deletions
diff --git a/doc/reference/evolution-util/evolution-util-sections.txt b/doc/reference/evolution-util/evolution-util-sections.txt
index a7185c023e..dc2d3c0d16 100644
--- a/doc/reference/evolution-util/evolution-util-sections.txt
+++ b/doc/reference/evolution-util/evolution-util-sections.txt
@@ -2843,7 +2843,6 @@ ERuleContextPrivate
<FILE>e-rule-editor</FILE>
<TITLE>ERuleEditor</TITLE>
ERuleEditor
-ERuleEditorUndo
e_rule_editor_new
e_rule_editor_construct
e_rule_editor_set_source
diff --git a/e-util/e-rule-editor.c b/e-util/e-rule-editor.c
index c063ae41ae..d836096676 100644
--- a/e-util/e-rule-editor.c
+++ b/e-util/e-rule-editor.c
@@ -40,8 +40,6 @@
(G_TYPE_INSTANCE_GET_PRIVATE \
((obj), E_TYPE_RULE_EDITOR, ERuleEditorPrivate))
-static gint enable_undo = 0;
-
enum {
BUTTON_ADD,
BUTTON_EDIT,
@@ -63,73 +61,6 @@ G_DEFINE_TYPE (
GTK_TYPE_DIALOG)
static void
-rule_editor_add_undo (ERuleEditor *editor,
- gint type,
- EFilterRule *rule,
- gint rank,
- gint newrank)
-{
- ERuleEditorUndo *undo;
-
- if (!editor->undo_active && enable_undo) {
- undo = g_malloc0 (sizeof (*undo));
- undo->rule = rule;
- undo->type = type;
- undo->rank = rank;
- undo->newrank = newrank;
-
- undo->next = editor->undo_log;
- editor->undo_log = undo;
- } else {
- g_object_unref (rule);
- }
-}
-
-static void
-rule_editor_play_undo (ERuleEditor *editor)
-{
- ERuleEditorUndo *undo, *next;
- EFilterRule *rule;
-
- editor->undo_active = TRUE;
- undo = editor->undo_log;
- editor->undo_log = NULL;
- while (undo) {
- next = undo->next;
- switch (undo->type) {
- case E_RULE_EDITOR_LOG_EDIT:
- rule = e_rule_context_find_rank_rule (editor->context, undo->rank, undo->rule->source);
- if (rule) {
- e_filter_rule_copy (rule, undo->rule);
- } else {
- g_warning ("Could not find the right rule to undo against?");
- }
- break;
- case E_RULE_EDITOR_LOG_ADD:
- rule = e_rule_context_find_rank_rule (editor->context, undo->rank, undo->rule->source);
- if (rule)
- e_rule_context_remove_rule (editor->context, rule);
- break;
- case E_RULE_EDITOR_LOG_REMOVE:
- g_object_ref (undo->rule);
- e_rule_context_add_rule (editor->context, undo->rule);
- e_rule_context_rank_rule (editor->context, undo->rule, editor->source, undo->rank);
- break;
- case E_RULE_EDITOR_LOG_RANK:
- rule = e_rule_context_find_rank_rule (editor->context, undo->newrank, undo->rule->source);
- if (rule)
- e_rule_context_rank_rule (editor->context, rule, editor->source, undo->rank);
- break;
- }
-
- g_object_unref (undo->rule);
- g_free (undo);
- undo = next;
- }
- editor->undo_active = FALSE;
-}
-
-static void
dialog_rule_changed (EFilterRule *fr,
GtkWidget *dialog)
{
@@ -183,17 +114,6 @@ add_editor_response (GtkWidget *dialog,
editor->current = editor->edit;
e_rule_context_add_rule (editor->context, editor->current);
-
- g_object_ref (editor->current);
- rule_editor_add_undo (
- editor,
- E_RULE_EDITOR_LOG_ADD,
- editor->current,
- e_rule_context_get_rank_rule (
- editor->context,
- editor->current,
- editor->current->source),
- 0);
}
gtk_widget_destroy (dialog);
@@ -242,29 +162,6 @@ cursor_changed (GtkTreeView *treeview,
}
static void
-editor_response (GtkWidget *dialog,
- gint button,
- ERuleEditor *editor)
-{
- if (button == GTK_RESPONSE_CANCEL) {
- if (enable_undo)
- rule_editor_play_undo (editor);
- else {
- ERuleEditorUndo *undo, *next;
-
- undo = editor->undo_log;
- editor->undo_log = NULL;
- while (undo) {
- next = undo->next;
- g_object_unref (undo->rule);
- g_free (undo);
- undo = next;
- }
- }
- }
-}
-
-static void
rule_add (GtkWidget *widget,
ERuleEditor *editor)
{
@@ -356,11 +253,6 @@ edit_editor_response (GtkWidget *dialog,
editor->model, &iter,
0, editor->edit->name, -1);
- rule_editor_add_undo (
- editor, E_RULE_EDITOR_LOG_EDIT,
- e_filter_rule_clone (editor->current),
- pos, 0);
-
/* replace the old rule with the new rule */
e_filter_rule_copy (editor->current, editor->edit);
}
@@ -441,18 +333,7 @@ rule_delete (GtkWidget *widget,
gtk_list_store_remove (editor->model, &iter);
gtk_tree_path_free (path);
- rule_editor_add_undo (
- editor,
- E_RULE_EDITOR_LOG_REMOVE,
- delete_rule,
- e_rule_context_get_rank_rule (
- editor->context,
- delete_rule,
- delete_rule->source),
- 0);
-#if 0
g_object_unref (delete_rule);
-#endif
/* now select the next rule */
len = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (editor->model), NULL);
@@ -492,12 +373,6 @@ rule_move (ERuleEditor *editor,
GtkTreeIter iter;
EFilterRule *rule;
- rule_editor_add_undo (
- editor, E_RULE_EDITOR_LOG_RANK,
- g_object_ref (editor->current),
- e_rule_context_get_rank_rule (editor->context,
- editor->current, editor->source), to);
-
e_rule_context_rank_rule (
editor->context, editor->current, editor->source, to);
@@ -607,18 +482,9 @@ static void
rule_editor_finalize (GObject *object)
{
ERuleEditor *editor = E_RULE_EDITOR (object);
- ERuleEditorUndo *undo, *next;
g_object_unref (editor->context);
- undo = editor->undo_log;
- while (undo) {
- next = undo->next;
- g_object_unref (undo->rule);
- g_free (undo);
- undo = next;
- }
-
/* Chain up to parent's finalize() method. */
G_OBJECT_CLASS (e_rule_editor_parent_class)->finalize (object);
}
@@ -709,9 +575,6 @@ e_rule_editor_class_init (ERuleEditorClass *class)
class->set_source = rule_editor_set_source;
class->set_sensitive = rule_editor_set_sensitive;
class->create_rule = rule_editor_create_rule;
-
- /* TODO: Remove when it works (or never will) */
- enable_undo = getenv ("EVOLUTION_RULE_UNDO") != NULL;
}
static void
@@ -907,9 +770,6 @@ e_rule_editor_construct (ERuleEditor *editor,
gtk_label_set_mnemonic_widget (
GTK_LABEL (widget), GTK_WIDGET (editor->list));
- g_signal_connect (
- editor, "response",
- G_CALLBACK (editor_response), editor);
rule_editor_set_source (editor, source);
gtk_dialog_add_buttons (
diff --git a/e-util/e-rule-editor.h b/e-util/e-rule-editor.h
index 39d2066274..834ac577b2 100644
--- a/e-util/e-rule-editor.h
+++ b/e-util/e-rule-editor.h
@@ -58,8 +58,6 @@ typedef struct _ERuleEditor ERuleEditor;
typedef struct _ERuleEditorClass ERuleEditorClass;
typedef struct _ERuleEditorPrivate ERuleEditorPrivate;
-typedef struct _ERuleEditorUndo ERuleEditorUndo;
-
struct _ERuleEditor {
GtkDialog parent;
@@ -74,9 +72,6 @@ struct _ERuleEditor {
gchar *source;
- ERuleEditorUndo *undo_log; /* cancel/undo log */
- guint undo_active:1; /* we're performing undo */
-
ERuleEditorPrivate *priv;
};
@@ -90,22 +85,6 @@ struct _ERuleEditorClass {
EFilterRule * (*create_rule) (ERuleEditor *editor);
};
-enum {
- E_RULE_EDITOR_LOG_EDIT,
- E_RULE_EDITOR_LOG_ADD,
- E_RULE_EDITOR_LOG_REMOVE,
- E_RULE_EDITOR_LOG_RANK
-};
-
-struct _ERuleEditorUndo {
- ERuleEditorUndo *next;
-
- guint type;
- EFilterRule *rule;
- gint rank;
- gint newrank;
-};
-
GType e_rule_editor_get_type (void) G_GNUC_CONST;
ERuleEditor * e_rule_editor_new (ERuleContext *context,
const gchar *source,