gcr-icons.h \
gcr-import-dialog.h \
gcr-internal.h \
+ gcr-live-search.h \
gcr-marshal.h \
gcr-xxx.h \
gcr-zzz.h
$(srcdir)/images/certificate-widget.png \
$(srcdir)/images/key-widget.png \
$(srcdir)/images/combo-selector.png \
- $(srcdir)/images/tree-selector.png
+ $(srcdir)/images/tree-selector.png \
+ $(srcdir)/images/list-selector.png
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
certificate-widget \
key-widget \
combo-selector \
- tree-selector
+ tree-selector \
+ list-selector
shots: gcr-shooter
mkdir -p $(builddir)/images
<xi:include href="xml/gcr-key-widget.xml"/>
<xi:include href="xml/gcr-column.xml"/>
<xi:include href="xml/gcr-combo-selector.xml"/>
+ <xi:include href="xml/gcr-list-selector.xml"/>
<xi:include href="xml/gcr-tree-selector.xml"/>
<xi:include href="xml/gcr-renderer.xml"/>
<xi:include href="xml/gcr-viewer.xml"/>
</SECTION>
<SECTION>
+<FILE>gcr-list-selector</FILE>
+GcrListSelector
+GcrListSelectorClass
+gcr_list_selector_new
+gcr_list_selector_get_collection
+gcr_list_selector_get_columns
+gcr_list_selector_get_selected
+gcr_list_selector_set_selected
+<SUBSECTION Standard>
+gcr_list_selector_get_type
+GcrListSelectorPrivate
+GCR_IS_LIST_SELECTOR
+GCR_IS_LIST_SELECTOR_CLASS
+GCR_LIST_SELECTOR
+GCR_LIST_SELECTOR_CLASS
+GCR_LIST_SELECTOR_GET_CLASS
+GCR_TYPE_LIST_SELECTOR
+</SECTION>
+
+<SECTION>
<FILE>gcr-combo-selector</FILE>
GcrComboSelector
GcrComboSelectorClass
<link linkend="gcr-GcrTreeSelector">
<inlinegraphic fileref="tree-selector.png" format="PNG"></inlinegraphic>
</link>
+ <link linkend="gcr-GcrListSelector">
+ <inlinegraphic fileref="list-selector.png" format="PNG"></inlinegraphic>
+ </link>
</para>
\ No newline at end of file
return gcr_shooter_info_new (name, align, GCR_SHOOTER_MEDIUM);
}
+static GcrShooterInfo *
+create_list_selector (const gchar *name)
+{
+ GcrListSelector *selector;
+ GcrCertificate *certificate;
+ GcrCollection *collection;
+ GtkWidget *align;
+ gchar *contents;
+ gsize length;
+ GList *selected = NULL;
+
+ collection = gcr_simple_collection_new ();
+ selector = gcr_list_selector_new (collection);
+
+ contents = load_gcr_test_file ("cacert.org.cer", &length);
+ certificate = gcr_simple_certificate_new (contents, length);
+ g_free (contents);
+ gcr_simple_collection_add (GCR_SIMPLE_COLLECTION (collection), G_OBJECT (certificate));
+ selected = g_list_append (selected, certificate);
+ gcr_list_selector_set_selected (selector, selected);
+ g_list_free (selected);
+ g_object_unref (certificate);
+
+ contents = load_gcr_test_file ("der-certificate-dsa.cer", &length);
+ certificate = gcr_simple_certificate_new (contents, length);
+ g_free (contents);
+ gcr_simple_collection_add (GCR_SIMPLE_COLLECTION (collection), G_OBJECT (certificate));
+ g_object_unref (certificate);
+
+ g_object_unref (collection);
+
+ align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
+ gtk_container_add (GTK_CONTAINER (align), GTK_WIDGET (selector));
+
+ return gcr_shooter_info_new (name, align, GCR_SHOOTER_MEDIUM);
+}
+
GcrShooterInfo*
gcr_widgets_create (const gchar *name)
return create_combo_selector (name);
else if (g_str_equal (name, "tree-selector"))
return create_tree_selector (name);
+ else if (g_str_equal (name, "list-selector"))
+ return create_list_selector (name);
return NULL;
}
/**
* SECTION:gcr-list-selector
* @title: GcrListSelector
- * @short_description: A selector widget to select a single certificate or key.
+ * @short_description: A selector widget to one or more certificates from a list.
*
- * The #GcrListSelector can be used to select a certificate or key. It allows
- * the user to select one object from the selector at a time.
+ * The #GcrListSelector can be used to select one or more certificates or keys.
+ * Live search is available for quick filtering.
*/
/**
G_OBJECT_CLASS (gcr_list_selector_parent_class)->constructed (object);
+ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (self), FALSE);
+
self->pv->model = gcr_collection_model_new (self->pv->collection,
"icon", G_TYPE_ICON,
"markup", G_TYPE_STRING,