78 Commits

Author SHA1 Message Date
Enrico Tröger
1c1306341b When a project is loaded, replace the project base path with the project name in the Documents sidebar for parent items (closes #2723679).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3710 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-16 17:55:42 +00:00
Enrico Tröger
30494fa2ad Add some missing 'void's in function definitions.
If the project base path is './', just use the path of the project config file instead of appending './'.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3709 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-16 17:55:26 +00:00
Enrico Tröger
ba4002e502 Fix duplicating the recent files and projects lists when closing a project.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3707 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-15 22:46:13 +00:00
Enrico Tröger
7065a92232 Fix Windows build (oops).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3690 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-06 13:39:33 +00:00
Enrico Tröger
9a0c567918 Add "Recent Projects" menu to the Project menu (#2728630, patch by Elias Pschernig, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3684 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-05 14:14:29 +00:00
Enrico Tröger
4ffd7f2ed9 Add a clear icon to the used text entries all over the place (will be available with GTK >= 2.16).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3570 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-02-10 21:10:50 +00:00
Nick Treleaven
b98069855b Prevent type-punned pointer warnings with gcc 4.1.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3473 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-16 20:34:34 +00:00
Enrico Tröger
39a6eb455e Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3446 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-04 18:30:42 +00:00
Nick Treleaven
077270c647 Remove geanyobject.h includes.
Use GObject instead of unused GeanyObject argument.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3439 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-03 13:03:42 +00:00
Nick Treleaven
f0d2f92e65 Add Project Indentation prefs, which override the Editor
Preferences dialog options. For new projects, these default to the
editor indent prefs.
- Plugins:
For compatibility with this change, use editor_get_indent_prefs().
- Code changes:
The Project Properties dialog is now created by Glade, but (for
now) the existing options are added manually.
Add GeanyProjectPrivate project field.
Add stash_group_set_use_defaults().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3423 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-27 12:55:04 +00:00
Enrico Tröger
9e25c43487 Move implementation of lookup_widget() into ui_lookup_widget().
Change uses of lookup_widget() to ui_lookup_widget().
Remove now unneeded support.c.
Use GLib gettext macros in support.h instead of own ones.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3402 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-18 21:21:53 +00:00
Nick Treleaven
ffffc759b1 Remove now-unnecessary checks for geany_object != NULL.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3266 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-21 17:33:35 +00:00
Enrico Tröger
81ffd05aa1 dd ui_widget_set_tooltip_text() as a convenience function to easily set tooltips for widgets. It uses gtk_widget_set_tooltip_text() on GTK >= 2.12 otherwise the old tooltips API.Use ui_widget_set_tooltip_text().
Use ui_widget_set_tooltip_text() in the plugins.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3250 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-18 20:14:42 +00:00
Nick Treleaven
a2ceb60e3a Make utils_free_pointers() take an arg_count argument to prevent
memory leaks.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3245 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-18 17:14:00 +00:00
Enrico Tröger
737c7a6d76 Add an option to store the project file of new projects inside the project base directory.
Doc: Add descriptions for the Search tab in the preferences dialog.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3037 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-02 15:09:33 +00:00
Enrico Tröger
040e4391c7 Update the window title also when creating new projects.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3025 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-30 20:29:27 +00:00
Enrico Tröger
2b1e1d6bf0 Fix a few memleaks.
Handle errors when creation of the project base directory fails.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3024 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-30 20:28:18 +00:00
Nick Treleaven
553e5c63d9 Add dox for GeanyApp, GeanyProject.
Move GeanyProject typedef to project.h, as it is rarely used without
including project.h.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2811 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-24 14:37:36 +00:00
Enrico Tröger
8d67117d47 Rename "delete_event" to "delete-event".
Remove some unnecessary GObject casts in g_signal_connect() calls.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2788 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-18 13:40:48 +00:00
Enrico Tröger
d3439f8a17 Use document pointer instead of an index to the documents array everywhere in the core code.
Pass a document pointer to the callbacks of all "document-*" signals.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2692 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-15 13:35:48 +00:00
Enrico Tröger
1e8d82f46a Note: this breaks the plugin API for msgwin and navqueue functions.
Make NavQueueFuncs and MsgWinFuncs use a GeanyDocument* instead of an integer index.
Adjust plugins to work with these changes.            


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2688 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-12 20:09:57 +00:00
Nick Treleaven
398efbd373 Note: this commit breaks the plugin API.
Split widget fields out of GeanyApp into GeanyMainWidgets, so other
data items can be added without breaking the plugin ABI.
Add GeanyData::main_widgets, and macro.
Rename treeview_notebook sidebar_notebook in GeanyMainWidgets.
Move tools_menu from GeanyData to GeanyMainWidgets.
Move statusbar out of GeanyApp (shouldn't be used directly).
Move ignore_callback out of GeanyApp.
Rename sci_goto_line() argument unfold, like sci_goto_pos().
Make utils_goto_file_pos(), utils_goto_line(),
utils_switch_document() into static functions (they are UI-related,
so shouldn't be in utils.c).
Move utils_goto_pos() to editor.c, add mark argument.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2609 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-22 14:41:28 +00:00
Nick Treleaven
965a4f2bce Fix build because of wrong document_close_all() usage - oops.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2524 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-24 14:13:06 +00:00
Nick Treleaven
dc398a3b59 Add document_close_all() and use it in project.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2521 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-23 17:07:52 +00:00
Enrico Tröger
9024500f92 Add document_new_file_if_non_open() to open new documents if no other documents are open.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2453 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-08 14:07:17 +00:00
Enrico Tröger
9602b91e0f Ignore notebook_switch_page signal handler when closing projects to speed it up a little bit with many session files.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2437 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-02 13:48:39 +00:00
Enrico Tröger
e85ee6758c Fix wrong directory when choosing project filename in the New Project dialog.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2349 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-15 11:06:55 +00:00
Enrico Tröger
b7bfb2743a Replace all C++-style comments with usual C-like multi-line comments.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2287 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-27 13:17:29 +00:00
Enrico Tröger
85f73129c0 Apply patch from Daniel Richard G. to fix to fix several compiler warnings, C89 violations and minor code problems (thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2267 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-20 11:24:23 +00:00
Enrico Tröger
05bff8f53d Fix crash on Windows when a project could not be opened. Remove prefix from win32_get_file_filters() and win32_get_filters(). Fix some encoding problems with filenames retrieved from the native Windows file dialogs.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2238 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-08 11:19:45 +00:00
Enrico Tröger
b858a3e3e1 Open a new, empty file when closing a project and no session files are available or when opening a project without stored session files.
Close all open files when opening projects.	 


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2200 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-31 14:35:03 +00:00
Nick Treleaven
217bf8be3c Remove unnecessary save of project keyfile.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2189 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-25 13:09:14 +00:00
Enrico Tröger
5a1b51bc84 Add option for project session files support.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2176 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-16 16:30:34 +00:00
Enrico Tröger
748d552168 Save project session file list when project is closed.
Don't load default session files in a second instance after a project was closed.
Fix not updating symbol list (and other things) when changing tabs after a project was opened or closed in a second instance.	       


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2171 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-13 17:50:04 +00:00
Nick Treleaven
d4764a2bc9 Add 'Make in base path' project file preference, on by default.
Add project_get_base_path(), separated from project_get_make_dir().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2163 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-11 16:53:25 +00:00
Nick Treleaven
1d1cd90028 Edit base path entry tooltip for clarity.
Use stock close button in close project prompt.
Allow the base path to be empty, so that users can use the current
file's directory for the Make command (but still use project session
support). In future, perhaps it would be good to have a separate Make
path setting for projects.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2155 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-09 18:05:09 +00:00
Enrico Tröger
4d70dce5d4 Add utils_is_file_writeable().
Improve checks for write permission of files and directories.
Don't overwrite maybe existing project files when trying to create new project and checking for project file's write permission (thanks to Yura Siamashka for reporting and his patch).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2151 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-06 19:59:01 +00:00
Enrico Tröger
e3201062c6 Update copyright information and change format of email addresses in source files.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2150 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-06 18:11:57 +00:00
Enrico Tröger
eb7b9b38ed Remove unnecessary macro GEANY_HOME_DIR.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2139 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-30 21:02:50 +00:00
Enrico Tröger
8b71fea887 Remove an extra space.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2127 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-23 15:20:17 +00:00
Enrico Tröger
0573e49653 Fix wrong file filters in project-related file dialogs on Windows.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2094 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-07 16:31:38 +00:00
Enrico Tröger
5e6b3d5165 Remove ununsed function project_save().
Fix typo in plugin API at utils_mkdir().
Add document_get_n_idx() to the plugin API.
Fix display of plugin separator in the Tools menu when only plugins without menu item are loaded.
Add three new signals: project_open, project_save, project_close.
On Shutdown close the project before plugins are unloaded to let plugins work on the last project closed event.			


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2065 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-21 18:54:12 +00:00
Enrico Tröger
26f6490c41 Apply patch from Bo Lorentsen to improve support for project session files (thank you).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2057 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-18 18:24:23 +00:00
Enrico Tröger
836c368d50 Apply patch from Bo Lorentsen to add support for project session files (thank you).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2043 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-11 19:06:41 +00:00
Enrico Tröger
2d77d3013a Add support for relative project base path.
Improve and synchronize base path tooltips in project new and properties dialogs.
Fix minor GUI annoyances in project dialogs.	    


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1984 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-28 17:02:36 +00:00
Nick Treleaven
601dfd69f7 Make msgwin_status_add() only log a message, not display it on the
status bar.
Make ui_set_statusbar() take a log argument for whether to record the
message in the Status window.
(Plugin API functions already do this).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1971 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-24 10:52:48 +00:00
Enrico Tröger
6b94181466 Apply most of the patch from #1794250 (thanks):
Remove compiler specific flags.
Add configure option to specify the path to libvte.so.
Remove many unnecessary configure checks.
Stop configure if msgfmt was not found(gettext not installed).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1961 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-19 14:48:19 +00:00
Nick Treleaven
ef1399e000 Rename MyApp -> GeanyApp.
Move most GeanyApp fields into:
GeanyPrefs for (most) Preferences dialog fields;
UIPrefs for non-Prefs dialog visual settings;
UIWidgets for less commonly used widgets such as menuitems and
dialogs;
GeanyStatus for various states the application can be in.
Move some GeanyApp fields into EditorPrefs (and one into each of
CommandLineOptions and SidebarTreeviews).
Add plugin API prefs field.
Move disabling build widgets on Windows to build_init().
Make build callbacks static.
Add treeviews_init() to prepare popup menus and open files treeview.
Replace treeviews_find_node() with treeviews_select_openfiles_item().
Make utils_isbrace() and utils_is_opening_brace() take an
'include_angles' argument (to separate from editor_prefs).
Make 'Goto matching brace' keybinding include <> angle brackets.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1815 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-23 11:34:06 +00:00
Nick Treleaven
3ecd31d9fd Add ui_table_add_row() for easily adding widgets to a GtkTable, and
use it in project_new().
Group 'generic' functions related to GTK+ together at the top of
ui_utils.h.
Make sure G_GNUC_NULL_TERMINATED is defined in geany.h.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1702 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-13 15:54:16 +00:00
Enrico Tröger
6069531e78 Fix focus problem when using the Find dialog.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1663 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-04 17:08:53 +00:00