Load symbols from user XDG_DATA_HOME, too.
This commit is contained in:
parent
295c18ae47
commit
da3e53215b
|
@ -51,6 +51,7 @@ struct _LdWindowMainPrivate
|
||||||
/* ===== Local functions =================================================== */
|
/* ===== Local functions =================================================== */
|
||||||
|
|
||||||
static void ld_window_main_finalize (GObject *gobject);
|
static void ld_window_main_finalize (GObject *gobject);
|
||||||
|
static void load_library_directories (LdLibrary *library);
|
||||||
|
|
||||||
static void on_ui_proxy_connected (GtkUIManager *ui, GtkAction *action,
|
static void on_ui_proxy_connected (GtkUIManager *ui, GtkAction *action,
|
||||||
GtkWidget *proxy, LdWindowMain *window);
|
GtkWidget *proxy, LdWindowMain *window);
|
||||||
|
@ -335,7 +336,7 @@ ld_window_main_init (LdWindowMain *self)
|
||||||
G_CALLBACK (on_diagram_selection_changed), self);
|
G_CALLBACK (on_diagram_selection_changed), self);
|
||||||
|
|
||||||
priv->library = ld_library_new ();
|
priv->library = ld_library_new ();
|
||||||
ld_library_load (priv->library, PROJECT_SHARE_DIR "library");
|
load_library_directories (priv->library);
|
||||||
|
|
||||||
ld_diagram_view_set_diagram (priv->view, priv->diagram);
|
ld_diagram_view_set_diagram (priv->view, priv->diagram);
|
||||||
ld_diagram_view_set_library (priv->view, priv->library);
|
ld_diagram_view_set_library (priv->view, priv->library);
|
||||||
|
@ -404,6 +405,32 @@ ld_window_main_finalize (GObject *gobject)
|
||||||
G_OBJECT_CLASS (ld_window_main_parent_class)->finalize (gobject);
|
G_OBJECT_CLASS (ld_window_main_parent_class)->finalize (gobject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
load_library_directories (LdLibrary *library)
|
||||||
|
{
|
||||||
|
GFile *file_program, *file_user;
|
||||||
|
const gchar *program_dir;
|
||||||
|
gchar *user_dir;
|
||||||
|
|
||||||
|
program_dir = PROJECT_SHARE_DIR "library";
|
||||||
|
user_dir = g_build_filename (g_get_user_data_dir (),
|
||||||
|
PROJECT_NAME, "library", NULL);
|
||||||
|
|
||||||
|
file_program = g_file_new_for_path (program_dir);
|
||||||
|
file_user = g_file_new_for_path (user_dir);
|
||||||
|
|
||||||
|
ld_library_load (library, program_dir);
|
||||||
|
|
||||||
|
/* Don't try to load the same directory twice. */
|
||||||
|
if (!g_file_equal (file_program, file_user))
|
||||||
|
ld_library_load (library, user_dir);
|
||||||
|
|
||||||
|
g_object_unref (file_user);
|
||||||
|
g_object_unref (file_program);
|
||||||
|
|
||||||
|
g_free (user_dir);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* on_delete:
|
* on_delete:
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue