Evolution consists of entirely too many small utility libraries, which increases linking and loading time, places a burden on higher layers of the application (e.g. modules) which has to remember to link to all the small in-tree utility libraries, and makes it difficult to generate API documentation for these utility libraries in one Gtk-Doc module. Merge the following utility libraries under the umbrella of libeutil, and enforce a single-include policy on libeutil so we can reorganize the files as desired without disrupting its pseudo-public API. libemail-utils/libemail-utils.la libevolution-utils/libevolution-utils.la filter/libfilter.la widgets/e-timezone-dialog/libetimezonedialog.la widgets/menus/libmenus.la widgets/misc/libemiscwidgets.la widgets/table/libetable.la widgets/text/libetext.la This also merges libedataserverui from the Evolution-Data-Server module, since Evolution is its only consumer nowadays, and I'd like to make some improvements to those APIs without concern for backward-compatibility. And finally, start a Gtk-Doc module for libeutil. It's going to be a project just getting all the symbols _listed_ much less _documented_. But the skeletal structure is in place and I'm off to a good start.
58 lines
1.0 KiB
C
58 lines
1.0 KiB
C
#include <stdlib.h>
|
|
#include <gtk/gtk.h>
|
|
|
|
#include <libedataserver/libedataserver.h>
|
|
|
|
#include "e-source-config-dialog.h"
|
|
|
|
static void
|
|
dialog_response (GtkDialog *dialog,
|
|
gint response_id)
|
|
{
|
|
gtk_main_quit ();
|
|
}
|
|
|
|
gint
|
|
main (gint argc,
|
|
gchar **argv)
|
|
{
|
|
ESourceRegistry *registry;
|
|
ESource *source = NULL;
|
|
GtkWidget *config;
|
|
GtkWidget *dialog;
|
|
GError *error = NULL;
|
|
|
|
gtk_init (&argc, &argv);
|
|
|
|
registry = e_source_registry_new_sync (NULL, &error);
|
|
|
|
if (error != NULL) {
|
|
g_printerr ("%s\n", error->message);
|
|
exit (EXIT_FAILURE);
|
|
}
|
|
|
|
if (argc > 1) {
|
|
source = e_source_registry_ref_source (registry, argv[1]);
|
|
if (source == NULL) {
|
|
g_printerr ("No such UID: %s\n", argv[1]);
|
|
exit (EXIT_FAILURE);
|
|
}
|
|
}
|
|
|
|
config = e_source_config_new (registry, source);
|
|
dialog = e_source_config_dialog_new (E_SOURCE_CONFIG (config));
|
|
|
|
g_signal_connect (
|
|
dialog, "response",
|
|
G_CALLBACK (dialog_response), NULL);
|
|
|
|
gtk_widget_show (config);
|
|
gtk_widget_show (dialog);
|
|
|
|
g_object_unref (source);
|
|
|
|
gtk_main ();
|
|
|
|
return 0;
|
|
}
|