SF.net SVN: geany: [639] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Wed Jul 26 17:02:40 UTC 2006
Revision: 639
Author: eht16
Date: 2006-07-26 10:02:16 -0700 (Wed, 26 Jul 2006)
ViewCVS: http://svn.sourceforge.net/geany/?rev=639&view=rev
Log Message:
-----------
Removed macro GEANY_WIN32, use G_OS_WIN32 instead.
Introduced global variables for PACKAGE_DATA_DIR and PACKAGE_LOCALE_DIR, removed macro DOCDIR (these changes are important for the Windows port).
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/Makefile.am
trunk/src/about.c
trunk/src/callbacks.c
trunk/src/dialogs.c
trunk/src/document.c
trunk/src/gb.c
trunk/src/geany.h
trunk/src/highlighting.c
trunk/src/keybindings.c
trunk/src/main.c
trunk/src/prefs.c
trunk/src/utils.c
trunk/src/utils.h
trunk/src/win32.c
trunk/src/win32.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/ChangeLog 2006-07-26 17:02:16 UTC (rev 639)
@@ -1,3 +1,15 @@
+2006-07-26 Enrico Tröger <enrico.troeger at uvena.de>
+
+ * src/Makefile.am: Added target to remove geany_res.res when cleaning.
+ * src/geany.h, src/main.c, src/callbacks.c, src/highlighting.c,
+ src/document.c, src/dialogs.c, src/prefs.c, src/utils.c,
+ src/win32.c, src/keybindings.c, src/gb.c, src/about.c:
+ Removed macro GEANY_WIN32, use G_OS_WIN32 instead.
+ Introduced global variables for PACKAGE_DATA_DIR and
+ PACKAGE_LOCALE_DIR, removed macro DOCDIR
+ (these changes are important for the Windows port).
+
+
2006-07-26 Nick Treleaven <nick.treleaven at btinternet.com>
* src/win32.c: Don't add .c extension for All files filter.
Modified: trunk/src/Makefile.am
===================================================================
--- trunk/src/Makefile.am 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/Makefile.am 2006-07-26 17:02:16 UTC (rev 639)
@@ -44,16 +44,19 @@
#AM_CFLAGS = -DGEANY_DEBUG -Wall -pipe -mms-bitfields -g -O0
geany_LDFLAGS = -mwindows
-INCLUDES = \
- -DPACKAGE_DATA_DIR=\"data\" -DPACKAGE_LOCALE_DIR=\"data\" -I../scintilla/include \
- -I../tagmanager/include -DENABLE_NLS -I/usr/local/cross-tools/include @PACKAGE_CFLAGS@
+INCLUDES = -I../scintilla/include -I../tagmanager/include -DENABLE_NLS \
+ -I/usr/local/cross-tools/include @PACKAGE_CFLAGS@
geany_windres.res:
$(WINDRES) -i ../geany_windres.rc --input-format=rc -o geany_windres.res -O coff;
+clean-local:
+ rm -f windres.res
+
else
# build Geany for all other platforms
AM_CFLAGS = -DGEANY_DEBUG -Wall -pipe
+#AM_CFLAGS = -DGEANY_DEBUG -Wall -pipe -g -O0
geany_SOURCES = $(SRCS) vte.c vte.h
geany_LDADD = @PACKAGE_LIBS@ -lstdc++ ../scintilla/libscintilla.a ../tagmanager/libtagmanager.a $(INTLLIBS)
@@ -61,6 +64,8 @@
-DPACKAGE_DATA_DIR=\""$(datadir)"\" -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
-I../scintilla/include -I../tagmanager/include @PACKAGE_CFLAGS@
+clean-local:
+
endif
#geany_SOURCES = $(SRCS)
Modified: trunk/src/about.c
===================================================================
--- trunk/src/about.c 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/about.c 2006-07-26 17:02:16 UTC (rev 639)
@@ -233,7 +233,9 @@
label = gtk_label_new(_("License"));
gtk_widget_show(label);
- g_file_get_contents(GEANY_DATA_DIR G_DIR_SEPARATOR_S "GPL-2", &license_text, NULL, NULL);
+ g_snprintf(buffer, sizeof(buffer), "%s" G_DIR_SEPARATOR_S "GPL-2", app->datadir);
+
+ g_file_get_contents(buffer, &license_text, NULL, NULL);
if (license_text == NULL)
{
license_text = g_strdup("License text could not be found, please google for GPLv2");
Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/callbacks.c 2006-07-26 17:02:16 UTC (rev 639)
@@ -51,7 +51,7 @@
#include "search.h"
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
# include "win32.h"
#endif
@@ -124,6 +124,8 @@
tm_workspace_free(TM_WORK_OBJECT(app->tm_workspace));
g_strfreev(html_entities);
g_free(app->configdir);
+ g_free(app->datadir);
+ g_free(app->docdir);
g_free(app->search_text);
g_free(app->editor_font);
g_free(app->tagbar_font);
@@ -1055,7 +1057,7 @@
gint idx = GPOINTER_TO_INT(user_data);
clickpos = sci_get_position_from_xy(doc_list[idx].sci, event->x, event->y, FALSE);
-#ifndef GEANY_WIN32
+#ifndef G_OS_WIN32
if (event->button == 1)
{
return utils_check_disk_status(idx);
@@ -2150,16 +2152,14 @@
on_help1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
-#ifdef GEANY_WIN32
- gchar *pwd = g_get_current_dir();
- gchar *uri = g_strconcat("file:///", g_path_skip_root(pwd), "/doc/index.html", NULL);
- g_free(pwd);
+#ifdef G_OS_WIN32
+ gchar *uri = g_strconcat("file:///", g_path_skip_root(app->docdir), "/index.html", NULL);
#else
- gchar *uri = g_strconcat("file://", DOCDIR, "index.html", NULL);
+ gchar *uri = g_strconcat("file://", app->docdir, "index.html", NULL);
#endif
if (! g_file_test(uri + 7, G_FILE_TEST_IS_REGULAR))
- {
+ { // fall back to online documentation if it is not found on the hard disk
g_free(uri);
uri = g_strconcat(GEANY_HOMEPAGE, "manual/index.html", NULL);
}
@@ -2189,7 +2189,7 @@
on_pref_tools_button_clicked (GtkButton *button,
gpointer item)
{
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
win32_show_pref_file_dialog(item);
#else
GtkWidget *dialog;
Modified: trunk/src/dialogs.c
===================================================================
--- trunk/src/dialogs.c 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/dialogs.c 2006-07-26 17:02:16 UTC (rev 639)
@@ -54,7 +54,7 @@
{
if (gtk_notebook_get_n_pages(GTK_NOTEBOOK(app->notebook)) < GEANY_MAX_OPEN_FILES)
{
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
win32_show_file_dialog(TRUE);
#else /* X11, not win32: use GTK_FILE_CHOOSER */
@@ -156,7 +156,7 @@
/* This shows the file selection dialog to save a file. */
void dialogs_show_save_as ()
{
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
win32_show_file_dialog(FALSE);
#else
gint idx = document_get_cur_idx();
@@ -214,7 +214,7 @@
void dialogs_show_info(const gchar *text, ...)
{
-#ifndef GEANY_WIN32
+#ifndef G_OS_WIN32
GtkWidget *dialog;
#endif
gchar *string = g_malloc(512);
@@ -224,14 +224,14 @@
g_vsnprintf(string, 511, text, args);
va_end(args);
-#ifdef GEANY_WIN32
- win32_message_dialog(GTK_MESSAGE_INFO, string);
+#ifdef G_OS_WIN32
+ win32_message_dialog(GTK_MESSAGE_INFO, string);
#else
- dialog = gtk_message_dialog_new(GTK_WINDOW(app->window), GTK_DIALOG_DESTROY_WITH_PARENT,
+ dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", string);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
#endif
g_free(string);
}
@@ -239,7 +239,7 @@
void dialogs_show_error(const gchar *text, ...)
{
-#ifndef GEANY_WIN32
+#ifndef G_OS_WIN32
GtkWidget *dialog;
#endif
gchar *string = g_malloc(512);
@@ -249,7 +249,7 @@
g_vsnprintf(string, 511, text, args);
va_end(args);
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
win32_message_dialog(GTK_MESSAGE_ERROR, string);
#else
dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -263,7 +263,7 @@
gboolean dialogs_show_unsaved_file(gint idx)
{
-#ifndef GEANY_WIN32
+#ifndef G_OS_WIN32
GtkWidget *dialog, *button, *label, *image, *hbox, *align;
#endif
gchar *msg;
@@ -281,7 +281,7 @@
{
msg = g_strdup(_("The file is not saved.\nDo you want to save it before closing?"));
}
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
ret = win32_message_dialog_unsaved(msg);
#else
dialog = gtk_message_dialog_new(GTK_WINDOW(app->window), GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -336,7 +336,7 @@
/* This shows the font selection dialog to choose a font. */
void dialogs_show_open_font(void)
{
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
win32_show_font_dialog();
#else
@@ -419,7 +419,7 @@
/* This shows the color selection dialog to choose a color. */
void dialogs_show_color(void)
{
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
win32_show_color_dialog();
#else
@@ -1696,7 +1696,7 @@
gboolean dialogs_show_question(const gchar *text, ...)
{
-#ifndef GEANY_WIN32
+#ifndef G_OS_WIN32
GtkWidget *dialog;
#endif
gchar *string = g_malloc(512);
@@ -1707,7 +1707,7 @@
g_vsnprintf(string, 511, text, args);
va_end(args);
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
ret = win32_message_dialog(GTK_MESSAGE_QUESTION, string);
#else
dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT,
Modified: trunk/src/document.c
===================================================================
--- trunk/src/document.c 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/document.c 2006-07-26 17:02:16 UTC (rev 639)
@@ -76,7 +76,7 @@
{
gchar *dl_fname = (is_tm_filename && doc_list[i].tm_file) ?
doc_list[i].tm_file->file_name : doc_list[i].file_name;
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
// ignore the case of filenames and paths under WIN32, causes errors if not
if (dl_fname && ! strcasecmp(dl_fname, filename)) return i;
#else
@@ -222,7 +222,7 @@
gtk_widget_show(GTK_WIDGET(sci));
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
sci_set_codepage(sci, 0);
#else
sci_set_codepage(sci, SC_CP_UTF8);
@@ -366,7 +366,7 @@
doc_list[idx].mtime = time(NULL);
doc_list[idx].changed = FALSE;
document_set_text_changed(idx);
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
sci_set_eol_mode(doc_list[idx].sci, SC_EOL_CRLF);
#else
sci_set_eol_mode(doc_list[idx].sci, SC_EOL_LF);
@@ -458,7 +458,7 @@
return -1;
}
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
if (! g_file_get_contents(utf8_filename, &data, &size, &err))
#else
if (! g_file_get_contents(locale_filename, &data, &size, &err))
Modified: trunk/src/gb.c
===================================================================
--- trunk/src/gb.c 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/gb.c 2006-07-26 17:02:16 UTC (rev 639)
@@ -37,13 +37,7 @@
#define IMAGE_BUTTON_UP 11
#define IMAGE_BUTTON_DOWN 12
-#ifdef GEANY_WIN32
-# include <windows.h>
-# include <commdlg.h>
-# define GTK_BANDIT_WIN32
-#endif
-
unsigned short lap;
gint points;
unsigned short iconset;
Modified: trunk/src/geany.h
===================================================================
--- trunk/src/geany.h 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/geany.h 2006-07-26 17:02:16 UTC (rev 639)
@@ -43,14 +43,6 @@
#define SSM(s, m, w, l) scintilla_send_message(s, m, w, l)
-#if defined(G_OS_WIN32) || defined(WIN32)
-# define GEANY_WIN32
-# define GEANY_DATA_DIR PACKAGE_DATA_DIR
-#else
-# define GEANY_DATA_DIR PACKAGE_DATA_DIR "/" PACKAGE
-#endif
-
-
// for detailed description look in the documentation, things are not
// listed in the documentation should not be changed ;-)
#define GEANY_HOME_DIR g_get_home_dir()
@@ -82,9 +74,6 @@
#define GEANY_DEFAULT_FONT_MSG_WINDOW "Sans 9"
#define GEANY_DEFAULT_FONT_EDITOR "Monospace 10"
-#ifndef DOCDIR
-# define DOCDIR PACKAGE_DATA_DIR"/doc/"PACKAGE"/html/"
-#endif
/* structure for representing an open tab with all its related stuff. */
@@ -198,6 +187,8 @@
gchar *tagbar_font;
gchar *msgwin_font;
gchar *configdir;
+ gchar *datadir;
+ gchar *docdir;
gchar *search_text;
gchar build_make_custopt[256];
gchar *tools_browser_cmd;
Modified: trunk/src/highlighting.c
===================================================================
--- trunk/src/highlighting.c 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/highlighting.c 2006-07-26 17:02:16 UTC (rev 639)
@@ -189,9 +189,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.common", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.common", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.common", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.common", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_ALL] = g_new(style_set, 1);
@@ -211,6 +212,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -334,9 +336,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.c", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.c", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.c", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.c", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_C] = g_new(style_set, 1);
@@ -371,14 +374,17 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
// load global tags file for C autocompletion
if (! app->ignore_global_tags && ! global_c_tags_loaded)
{
+ gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "global.tags", NULL);
// 0 is the langType used in TagManager (see the table in tagmanager/parsers.h)
- tm_workspace_load_global_tags(GEANY_DATA_DIR G_DIR_SEPARATOR_S "global.tags", 0);
+ tm_workspace_load_global_tags(file, 0);
global_c_tags_loaded = TRUE;
+ g_free(file);
}
}
@@ -465,9 +471,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.cpp", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.cpp", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.cpp", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.cpp", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_CPP] = g_new(style_set, 1);
@@ -502,14 +509,17 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
// load global tags file for C autocompletion
if (! app->ignore_global_tags && ! global_c_tags_loaded)
{
- // 0 is the langType used in TagManager (see the table in tagmanager/parsers.h)
- tm_workspace_load_global_tags(GEANY_DATA_DIR G_DIR_SEPARATOR_S "global.tags", 1);
+ gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "global.tags", NULL);
+ // 1 is the langType used in TagManager (see the table in tagmanager/parsers.h)
+ tm_workspace_load_global_tags(file, 1);
global_c_tags_loaded = TRUE;
+ g_free(file);
}
}
@@ -594,9 +604,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.pascal", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.pascal", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.pascal", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.pascal", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_PASCAL] = g_new(style_set, 1);
@@ -624,6 +635,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -665,9 +677,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.makefile", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.makefile", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.makefile", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.makefile", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_MAKE] = g_new(style_set, 1);
@@ -686,6 +699,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -713,9 +727,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.latex", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.latex", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.latex", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.latex", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_LATEX] = g_new(style_set, 1);
@@ -735,13 +750,16 @@
// load global tags file for LaTeX autocompletion
if (! app->ignore_global_tags && ! global_latex_tags_loaded)
{
+ gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "latex.tags", NULL);
// 8 is the langType used in TagManager (see the table in tagmanager/parsers.h)
- tm_workspace_load_global_tags(GEANY_DATA_DIR G_DIR_SEPARATOR_S "latex.tags", 8);
+ tm_workspace_load_global_tags(file, 8);
global_latex_tags_loaded = TRUE;
+ g_free(file);
}
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -769,9 +787,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.php", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.php", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.php", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.php", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_PHP] = g_new(style_set, 1);
@@ -783,19 +802,24 @@
// load global tags file for PHP autocompletion
if (! app->ignore_global_tags && ! global_php_tags_loaded)
{
+ gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "php.tags", NULL);
// 6 is the langType used in TagManager (see the table in tagmanager/parsers.h)
- tm_workspace_load_global_tags(GEANY_DATA_DIR G_DIR_SEPARATOR_S "php.tags", 6);
+ tm_workspace_load_global_tags(file, 6);
global_php_tags_loaded = TRUE;
+ g_free(file);
}
// load global tags file for HTML entities autocompletion
if (! app->ignore_global_tags && ! global_html_tags_loaded)
{
- html_entities = utils_read_file_in_array(GEANY_DATA_DIR G_DIR_SEPARATOR_S "html_entities.tags");
+ gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "html_entities.tags", NULL);
+ html_entities = utils_read_file_in_array(file);
global_html_tags_loaded = TRUE;
+ g_free(file);
}
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -820,9 +844,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.xml", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.xml", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.xml", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.xml", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_XML] = g_new(style_set, 1);
@@ -899,6 +924,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -1128,9 +1154,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.java", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.java", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.java", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.java", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_JAVA] = g_new(style_set, 1);
@@ -1172,6 +1199,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -1226,9 +1254,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.perl", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.perl", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.perl", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.perl", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_PERL] = g_new(style_set, 1);
@@ -1286,6 +1315,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -1330,9 +1360,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.python", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.python", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.python", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.python", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_PYTHON] = g_new(style_set, 1);
@@ -1360,6 +1391,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -1397,9 +1429,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.ruby", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.ruby", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.ruby", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.ruby", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_RUBY] = g_new(style_set, 1);
@@ -1432,6 +1465,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -1471,9 +1505,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.sh", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.sh", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.sh", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.sh", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_SH] = g_new(style_set, 1);
@@ -1498,6 +1533,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -1549,9 +1585,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.docbook", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.docbook", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.docbook", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.docbook", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_DOCBOOK] = g_new(style_set, 1);
@@ -1650,6 +1687,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -1719,9 +1757,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.css", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.css", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.css", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.css", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_CSS] = g_new(style_set, 1);
@@ -1773,6 +1812,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -1808,9 +1848,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.conf", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.conf", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.conf", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.conf", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_CONF] = g_new(style_set, 1);
@@ -1828,6 +1869,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -1857,9 +1899,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.asm", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.asm", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.asm", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.asm", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_ASM] = g_new(style_set, 1);
@@ -1890,6 +1933,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -1933,9 +1977,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.sql", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.sql", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.sql", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.sql", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_SQL] = g_new(style_set, 1);
@@ -1991,6 +2036,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -2030,9 +2076,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.caml", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.caml", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.caml", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.caml", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_CAML] = g_new(style_set, 1);
@@ -2066,6 +2113,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -2105,9 +2153,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.oms", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.oms", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.oms", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.oms", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_OMS] = g_new(style_set, 1);
@@ -2136,6 +2185,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -2174,9 +2224,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.tcl", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.tcl", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.tcl", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.tcl", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_TCL] = g_new(style_set, 1);
@@ -2210,6 +2261,7 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
}
@@ -2257,9 +2309,10 @@
{
GKeyFile *config = g_key_file_new();
GKeyFile *config_home = g_key_file_new();
- gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S, "filetypes.d", NULL);
+ gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.d", NULL);
+ gchar *f = g_strconcat(app->configdir, G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.d", NULL);
- styleset_load_file(config, GEANY_DATA_DIR G_DIR_SEPARATOR_S "filetypes.d", G_KEY_FILE_KEEP_COMMENTS, NULL);
+ styleset_load_file(config, f0, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_key_file_load_from_file(config_home, f, G_KEY_FILE_KEEP_COMMENTS, NULL);
types[GEANY_FILETYPES_D] = g_new(style_set, 1);
@@ -2294,15 +2347,18 @@
g_key_file_free(config);
g_key_file_free(config_home);
+ g_free(f0);
g_free(f);
// load global tags file for C autocompletion
if (! app->ignore_global_tags && ! global_c_tags_loaded)
{
+ gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "global.tags", NULL);
// 0 is the langType used in TagManager (see the table in tagmanager/parsers.h)
// C++ is a special case, here we use 0 to have C global tags in C++, too
- tm_workspace_load_global_tags(GEANY_DATA_DIR G_DIR_SEPARATOR_S "global.tags", 0);
+ tm_workspace_load_global_tags(file, 0);
global_c_tags_loaded = TRUE;
+ g_free(file);
}
}
@@ -2313,7 +2369,6 @@
styleset_common(sci, 5);
-
/* Assign global keywords */
if ((app->tm_workspace) && (app->tm_workspace->global_tags))
{
Modified: trunk/src/keybindings.c
===================================================================
--- trunk/src/keybindings.c 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/keybindings.c 2006-07-26 17:02:16 UTC (rev 639)
@@ -195,7 +195,7 @@
GDK_d, GDK_CONTROL_MASK, "edit_commentline", _("Comment line"));
keys[GEANY_KEYS_EDIT_AUTOCOMPLETE] = fill(cb_func_edit_autocomplete,
GDK_space, GDK_CONTROL_MASK, "edit_autocomplete", _("Complete word"));
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
// on windows alt-space is taken by the window manager
keys[GEANY_KEYS_EDIT_CALLTIP] = fill(cb_func_edit_calltip,
GDK_space, GDK_CONTROL_MASK | GDK_SHIFT_MASK, "edit_calltip", _("Show calltip"));
Modified: trunk/src/main.c
===================================================================
--- trunk/src/main.c 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/main.c 2006-07-26 17:02:16 UTC (rev 639)
@@ -454,12 +454,33 @@
gint mkdir_result = 0;
gint idx;
gchar *config_dir;
+ gchar *data_dir;
+ gchar *doc_dir;
+ gchar *locale_dir;
+ // set paths
+#ifdef G_OS_WIN32
+ // take the installation directory(the one where geany.exe is located) as the base for the
+ // language catalogs, documentation and data files
+ gchar *install_dir = g_win32_get_package_installation_directory("geany", NULL);
+
+ data_dir = g_strconcat(install_dir, "\\data", NULL); // e.g. C:\Program Files\geany\data
+ doc_dir = g_strconcat(install_dir, "\\doc", NULL);
+ locale_dir = g_strdup(data_dir);
+
+ g_free(install_dir);
+#else
+ data_dir = g_strdup(PACKAGE_DATA_DIR "/" PACKAGE "/"); // e.g. /usr/share/geany
+ doc_dir = g_strdup(PACKAGE_DATA_DIR "/doc/" PACKAGE "/html/");
+ locale_dir = g_strdup(PACKAGE_LOCALE_DIR);
+#endif
+
#ifdef ENABLE_NLS
- bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+ bindtextdomain(GETTEXT_PACKAGE, locale_dir);
bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
textdomain(GETTEXT_PACKAGE);
#endif
+ g_free(locale_dir);
context = g_option_context_new(_(" - A fast and lightweight IDE"));
g_option_context_add_main_entries(context, entries, GETTEXT_PACKAGE);
@@ -490,13 +511,13 @@
if (alternate_config) config_dir = g_strdup(alternate_config);
else config_dir = g_strconcat(GEANY_HOME_DIR, G_DIR_SEPARATOR_S, ".", PACKAGE, NULL);
- mkdir_result = utils_make_settings_dir(config_dir);
+ mkdir_result = utils_make_settings_dir(config_dir, data_dir, doc_dir);
if (mkdir_result != 0)
{
if (! dialogs_show_question(
_("Configuration directory could not be created (%s).\nThere could be some problems "
- "using %s without a configuration directory.\nStart %s anyway?"),
- g_strerror(mkdir_result), PACKAGE, PACKAGE))
+ "using Geany without a configuration directory.\nStart Geany anyway?"),
+ g_strerror(mkdir_result)))
{
g_free(config_dir);
return (0);
@@ -512,6 +533,8 @@
// inits
main_init();
+ app->datadir = data_dir;
+ app->docdir = doc_dir;
gtk_widget_set_size_request(app->window, GEANY_WINDOW_MINIMAL_WIDTH, GEANY_WINDOW_MINIMAL_HEIGHT);
gtk_window_set_default_size(GTK_WINDOW(app->window), GEANY_WINDOW_DEFAULT_WIDTH, GEANY_WINDOW_DEFAULT_HEIGHT);
encodings_init();
@@ -609,7 +632,7 @@
utils_build_show_hide(idx);
utils_update_tag_list(idx, FALSE);
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
// hide "Build" menu item, at least until it is available for Windows
gtk_widget_hide(lookup_widget(app->window, "menu_build1"));
gtk_widget_hide(app->compile_button);
Modified: trunk/src/prefs.c
===================================================================
--- trunk/src/prefs.c 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/prefs.c 2006-07-26 17:02:16 UTC (rev 639)
@@ -229,7 +229,7 @@
// Tools Settings
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
// hide related Make path setting
gtk_widget_set_sensitive(lookup_widget(app->prefs_dialog, "label11"), FALSE);
gtk_widget_set_sensitive(lookup_widget(app->prefs_dialog, "entry_com_make"), FALSE);
@@ -434,7 +434,7 @@
app->pref_toolbar_show_undo = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
widget = lookup_widget(app->prefs_dialog, "check_toolbar_compile");
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
app->pref_toolbar_show_compile = FALSE;
#else
app->pref_toolbar_show_compile = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
@@ -917,7 +917,7 @@
app->prefs_dialog = create_prefs_dialog();
gtk_window_set_transient_for(GTK_WINDOW(app->prefs_dialog), GTK_WINDOW(app->window));
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
gtk_widget_hide(lookup_widget(app->prefs_dialog, "check_toolbar_compile"));
#endif
Modified: trunk/src/utils.c
===================================================================
--- trunk/src/utils.c 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/utils.c 2006-07-26 17:02:16 UTC (rev 639)
@@ -57,7 +57,7 @@
void utils_start_browser(const gchar *uri)
{
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
win32_open_browser(uri);
#else
const gchar *argv[3];
@@ -951,7 +951,7 @@
gboolean utils_check_disk_status(gint idx)
{
-#ifndef GEANY_WIN32
+#ifndef G_OS_WIN32
struct stat st;
time_t t;
gchar *locale_filename;
@@ -1207,7 +1207,7 @@
{
if (! path || *path == '\0')
return FALSE;
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
if (path[0] == '\\' || path[1] == ':')
return TRUE;
#else
@@ -1245,7 +1245,7 @@
void utils_build_show_hide(gint idx)
{
-#ifndef GEANY_WIN32
+#ifndef G_OS_WIN32
gboolean is_header = FALSE;
gchar *ext = NULL;
filetype *ft;
@@ -1488,7 +1488,7 @@
}
-gint utils_make_settings_dir(const gchar *dir)
+gint utils_make_settings_dir(const gchar *dir, const gchar *data_dir, const gchar *doc_dir)
{
gint error_nr = 0;
gchar *filetypes_readme = g_strconcat(
@@ -1501,7 +1501,7 @@
if (! g_file_test(dir, G_FILE_TEST_EXISTS))
{
geany_debug("creating config directory %s", dir);
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
if (mkdir(dir) != 0) error_nr = errno;
#else
if (mkdir(dir, 0700) != 0) error_nr = errno;
@@ -1510,10 +1510,15 @@
if (error_nr == 0 && ! g_file_test(filetypes_readme, G_FILE_TEST_EXISTS))
{ // try to write template.README
- error_nr = utils_write_file(filetypes_readme,
+ gchar *text;
+ text = g_strconcat(
"There are several template files in this directory. For these templates you can use wildcards.\n\
-For more information read the documentation (in " DOCDIR " or visit " GEANY_HOMEPAGE ").");
- if (error_nr == 0 && ! g_file_test(filetypes_readme, G_FILE_TEST_EXISTS))
+For more information read the documentation (in ", doc_dir, "index.html or visit " GEANY_HOMEPAGE ").",
+ NULL);
+ error_nr = utils_write_file(filetypes_readme, text);
+ g_free(text);
+
+ if (error_nr == 0 && ! g_file_test(filetypes_readme, G_FILE_TEST_EXISTS))
{ // check whether write test was successful, otherwise directory is not writable
geany_debug("The chosen configuration directory is not writable.");
errno = EPERM;
@@ -1525,16 +1530,21 @@
{
if (! g_file_test(filedefs_dir, G_FILE_TEST_EXISTS))
{
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
if (mkdir(filedefs_dir) != 0) error_nr = errno;
#else
if (mkdir(filedefs_dir, 0700) != 0) error_nr = errno;
#endif
}
if (error_nr == 0 && ! g_file_test(filedefs_readme, G_FILE_TEST_EXISTS))
- utils_write_file(filedefs_readme,
-"Copy files from " PACKAGE_DATA_DIR G_DIR_SEPARATOR_S PACKAGE " to this directory to overwrite them. To use the defaults, just delete the file in this directory.\n\
-For more information read the documentation (in " DOCDIR " or visit " GEANY_HOMEPAGE ").");
+ {
+ gchar *text = g_strconcat(
+"Copy files from ", data_dir, " to this directory to overwrite "
+"them. To use the defaults, just delete the file in this directory.\nFor more information read "
+"the documentation (in ", doc_dir, "index.html or visit " GEANY_HOMEPAGE ").", NULL);
+ utils_write_file(filedefs_readme, text);
+ g_free(text);
+ }
}
g_free(filetypes_readme);
Modified: trunk/src/utils.h
===================================================================
--- trunk/src/utils.h 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/utils.h 2006-07-26 17:02:16 UTC (rev 639)
@@ -151,7 +151,7 @@
gchar *utils_get_hostname(void);
-gint utils_make_settings_dir(const gchar *dir);
+gint utils_make_settings_dir(const gchar *dir, const gchar *data_dir, const gchar *doc_dir);
gchar *utils_str_replace(gchar *haystack, const gchar *needle, const gchar *replacement);
Modified: trunk/src/win32.c
===================================================================
--- trunk/src/win32.c 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/win32.c 2006-07-26 17:02:16 UTC (rev 639)
@@ -25,7 +25,7 @@
#include "geany.h"
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
#include <windows.h>
#include <commdlg.h>
@@ -356,7 +356,7 @@
}
// convert the Unicode chars to wide chars
- /// TODO test if LANG == C then possibly skip conversion
+ /// TODO test if LANG == C then possibly skip conversion => g_win32_getlocale()
MultiByteToWideChar(CP_UTF8, 0, msg, -1, w_msg, sizeof(w_msg)/sizeof(w_msg[0]));
MultiByteToWideChar(CP_UTF8, 0, title, -1, w_title, sizeof(w_title)/sizeof(w_title[0]));
Modified: trunk/src/win32.h
===================================================================
--- trunk/src/win32.h 2006-07-26 14:29:30 UTC (rev 638)
+++ trunk/src/win32.h 2006-07-26 17:02:16 UTC (rev 639)
@@ -21,7 +21,7 @@
*/
-#ifdef GEANY_WIN32
+#ifdef G_OS_WIN32
void win32_show_pref_file_dialog(GtkEntry *item);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list