void layout_mark_to_selection(LayoutWindow *lw, gint mark, MarkToSelectionMode mode);
void layout_selection_to_mark(LayoutWindow *lw, gint mark, SelectionToMarkMode mode);
+void layout_mark_filter_toggle(LayoutWindow *lw, gint mark);
+
void layout_refresh(LayoutWindow *lw);
void layout_thumb_set(LayoutWindow *lw, gboolean enable);
layout_mark_to_selection(lw, mark, MTS_MODE_MINUS);
}
+static void layout_menu_mark_filter_toggle_cb(GtkAction *action, gpointer data)
+{
+ LayoutWindow *lw = data;
+ gint mark = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action), "mark_num"));
+ g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
+
+ layout_marks_set(lw, TRUE);
+ layout_mark_filter_toggle(lw, mark);
+}
+
/*
*-----------------------------------------------------------------------------
layout_actions_setup_mark(lw, mark, "AddMark%d", _("_Add mark %d"), NULL, _("Add mark %d"), G_CALLBACK(layout_menu_sel_mark_or_cb));
layout_actions_setup_mark(lw, mark, "IntMark%d", _("_Intersection with mark %d"), NULL, _("Intersection with mark %d"), G_CALLBACK(layout_menu_sel_mark_and_cb));
layout_actions_setup_mark(lw, mark, "UnselMark%d", _("_Unselect mark %d"), NULL, _("Unselect mark %d"), G_CALLBACK(layout_menu_sel_mark_minus_cb));
+ layout_actions_setup_mark(lw, mark, "FilterMark%d", _("_Filter mark %d"), NULL, _("Filter mark %d"), G_CALLBACK(layout_menu_mark_filter_toggle_cb));
g_string_append_printf(desc,
" <menu action='Mark%d'>"
" <menuitem action='AddMark%d'/>"
" <menuitem action='IntMark%d'/>"
" <menuitem action='UnselMark%d'/>"
+ " <separator/>"
+ " <menuitem action='FilterMark%d'/>"
" </menu>",
- mark, mark, mark, mark, mark, mark, mark, mark);
+ mark, mark, mark, mark, mark, mark, mark, mark, mark);
}
g_string_append(desc,