Revision: 1734
http://geeqie.svn.sourceforge.net/geeqie/?rev=1734&view=rev
Author: nadvornik
Date: 2009-06-06 22:51:55 +0000 (Sat, 06 Jun 2009)
Log Message:
-----------
added mark filter to menu - now it is possible to assign hotkeys
Modified Paths:
--------------
trunk/src/layout.c
trunk/src/layout.h
trunk/src/layout_util.c
trunk/src/view_file.c
trunk/src/view_file.h
Modified: trunk/src/layout.c
===================================================================
--- trunk/src/layout.c 2009-06-06 19:39:46 UTC (rev 1733)
+++ trunk/src/layout.c 2009-06-06 22:51:55 UTC (rev 1734)
@@ -814,6 +814,14 @@
layout_status_update_info(lw, NULL); /* osd in fullscreen mode */
}
+void layout_mark_filter_toggle(LayoutWindow *lw, gint mark)
+{
+ if (!layout_valid(&lw)) return;
+
+ if (lw->vf) vf_mark_filter_toggle(lw->vf, mark);
+}
+
+
/*
*-----------------------------------------------------------------------------
* access
Modified: trunk/src/layout.h
===================================================================
--- trunk/src/layout.h 2009-06-06 19:39:46 UTC (rev 1733)
+++ trunk/src/layout.h 2009-06-06 22:51:55 UTC (rev 1734)
@@ -70,6 +70,8 @@
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);
Modified: trunk/src/layout_util.c
===================================================================
--- trunk/src/layout_util.c 2009-06-06 19:39:46 UTC (rev 1733)
+++ trunk/src/layout_util.c 2009-06-06 22:51:55 UTC (rev 1734)
@@ -895,7 +895,17 @@
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);
+}
+
+
/*
*-----------------------------------------------------------------------------
* go menu
@@ -1618,6 +1628,7 @@
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'>"
@@ -1629,8 +1640,10 @@
" <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,
Modified: trunk/src/view_file.c
===================================================================
--- trunk/src/view_file.c 2009-06-06 19:39:46 UTC (rev 1733)
+++ trunk/src/view_file.c 2009-06-06 22:51:55 UTC (rev 1734)
@@ -711,6 +711,13 @@
return frame;
}
+void vf_mark_filter_toggle(ViewFile *vf, gint mark)
+{
+ gint n = mark - 1;
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(vf->filter_check[n]),
+
!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(vf->filter_check[n])));
+}
+
ViewFile *vf_new(FileViewType type, FileData *dir_fd)
{
ViewFile *vf;
Modified: trunk/src/view_file.h
===================================================================
--- trunk/src/view_file.h 2009-06-06 19:39:46 UTC (rev 1733)
+++ trunk/src/view_file.h 2009-06-06 22:51:55 UTC (rev 1734)
@@ -35,6 +35,7 @@
void vf_sort_set(ViewFile *vf, SortType type, gboolean ascend);
guint vf_marks_get_filter(ViewFile *vf);
+void vf_mark_filter_toggle(ViewFile *vf, gint mark);
GList *vf_pop_menu_file_list(ViewFile *vf);
GtkWidget *vf_pop_menu(ViewFile *vf);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Geeqie-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geeqie-svn