[geany/geany] f8f095: Merge pull request #961 from codebrainz/non-native-project-open
Enrico Tröger
git-noreply at xxxxx
Sun Mar 13 11:47:04 UTC 2016
Branch: refs/heads/master
Author: Enrico Tröger <enrico.troeger at uvena.de>
Committer: Enrico Tröger <enrico.troeger at uvena.de>
Date: Sun, 13 Mar 2016 11:47:04 UTC
Commit: f8f0951ef7289b38db1df8072bc4dee2a9eba43b
https://github.com/geany/geany/commit/f8f0951ef7289b38db1df8072bc4dee2a9eba43b
Log Message:
-----------
Merge pull request #961 from codebrainz/non-native-project-open
Respect native dialog pref in Project->Open
Modified Paths:
--------------
src/project.c
Modified: src/project.c
104 lines changed, 52 insertions(+), 52 deletions(-)
===================================================================
@@ -281,7 +281,6 @@ gboolean project_load_file_with_session(const gchar *locale_file_name)
}
-#ifndef G_OS_WIN32
static void run_open_dialog(GtkDialog *dialog)
{
while (gtk_dialog_run(dialog) == GTK_RESPONSE_ACCEPT)
@@ -303,71 +302,72 @@ static void run_open_dialog(GtkDialog *dialog)
break;
}
}
-#endif
void project_open(void)
{
const gchar *dir = local_prefs.project_file_path;
-#ifdef G_OS_WIN32
- gchar *file;
-#else
- GtkWidget *dialog;
- GtkFileFilter *filter;
- gchar *locale_path;
-#endif
+
if (! project_ask_close()) return;
#ifdef G_OS_WIN32
- file = win32_show_project_open_dialog(main_widgets.window, _("Open Project"), dir, FALSE, TRUE);
- if (file != NULL)
+ if (interface_prefs.use_native_windows_dialogs)
{
- /* try to load the config */
- if (! project_load_file_with_session(file))
+ gchar *file = win32_show_project_open_dialog(main_widgets.window, _("Open Project"), dir, FALSE, TRUE);
+ if (file != NULL)
{
- SHOW_ERR1(_("Project file \"%s\" could not be loaded."), file);
+ /* try to load the config */
+ if (! project_load_file_with_session(file))
+ {
+ SHOW_ERR1(_("Project file \"%s\" could not be loaded."), file);
+ }
+ g_free(file);
}
- g_free(file);
}
-#else
-
- dialog = gtk_file_chooser_dialog_new(_("Open Project"), GTK_WINDOW(main_widgets.window),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
- gtk_widget_set_name(dialog, "GeanyDialogProject");
-
- /* set default Open, so pressing enter can open multiple files */
- gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);
- gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE);
- gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), TRUE);
- gtk_window_set_type_hint(GTK_WINDOW(dialog), GDK_WINDOW_TYPE_HINT_DIALOG);
- gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(main_widgets.window));
- gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), TRUE);
-
- /* add FileFilters */
- filter = gtk_file_filter_new();
- gtk_file_filter_set_name(filter, _("All files"));
- gtk_file_filter_add_pattern(filter, "*");
- gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter);
- filter = gtk_file_filter_new();
- gtk_file_filter_set_name(filter, _("Project files"));
- gtk_file_filter_add_pattern(filter, "*." GEANY_PROJECT_EXT);
- gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter);
- gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog), filter);
-
- locale_path = utils_get_locale_from_utf8(dir);
- if (g_file_test(locale_path, G_FILE_TEST_EXISTS) &&
- g_file_test(locale_path, G_FILE_TEST_IS_DIR))
+ else
+#endif
{
- gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), locale_path);
- }
- g_free(locale_path);
+ GtkWidget *dialog;
+ GtkFileFilter *filter;
+ gchar *locale_path;
+
+ dialog = gtk_file_chooser_dialog_new(_("Open Project"), GTK_WINDOW(main_widgets.window),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
+ gtk_widget_set_name(dialog, "GeanyDialogProject");
+
+ /* set default Open, so pressing enter can open multiple files */
+ gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);
+ gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE);
+ gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), TRUE);
+ gtk_window_set_type_hint(GTK_WINDOW(dialog), GDK_WINDOW_TYPE_HINT_DIALOG);
+ gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(main_widgets.window));
+ gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), TRUE);
+
+ /* add FileFilters */
+ filter = gtk_file_filter_new();
+ gtk_file_filter_set_name(filter, _("All files"));
+ gtk_file_filter_add_pattern(filter, "*");
+ gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter);
+ filter = gtk_file_filter_new();
+ gtk_file_filter_set_name(filter, _("Project files"));
+ gtk_file_filter_add_pattern(filter, "*." GEANY_PROJECT_EXT);
+ gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter);
+ gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog), filter);
+
+ locale_path = utils_get_locale_from_utf8(dir);
+ if (g_file_test(locale_path, G_FILE_TEST_EXISTS) &&
+ g_file_test(locale_path, G_FILE_TEST_IS_DIR))
+ {
+ gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), locale_path);
+ }
+ g_free(locale_path);
- gtk_widget_show_all(dialog);
- run_open_dialog(GTK_DIALOG(dialog));
- gtk_widget_destroy(GTK_WIDGET(dialog));
-#endif
+ gtk_widget_show_all(dialog);
+ run_open_dialog(GTK_DIALOG(dialog));
+ gtk_widget_destroy(GTK_WIDGET(dialog));
+ }
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Commits
mailing list