This PR is about adding features to make it possible to sort the tabs in the editor area. It includes the following changes:
04eb16b Add capability to automatically sort editor tabs
138dd09 Add keybindings for sorting editor tabs
803d6a6 Add capability to sort editor tabs
a64749e Allow document_get_notebook_child() to be used globally
I chose to place them in one PR so everything can be discussed in one place. Each update depends on the other update that comes earlier than it. Which means, if the last update is wanted (`04eb16b`), all other updates that came before it should be included, but if only `803d6a6` is wanted, it would only require `a64749e`.
Here are the snapshots:
http://imgur.com/6uYVd72http://imgur.com/G4Fi9iVhttp://imgur.com/VNOJaVvhttp://imgur.com/Pb00zIK
The first 2 updates (`803d6a6` and `138dd09`) made a fair amount of changes in the code, but the last update had to be a little aggressive since the only way to get it done properly is to alter the codes that call `document_open_file()`. Modifying `document_open_file()` itself would mean that every file opened would cause the order of tabs in the notebook widget to be recalculated and rearranged.
This could cause significant slowdown during startup time especially when opening a lot of files. That's why the only proper way to do it is to make changes on the calling functions instead, where we could only allow a function like `notebook_auto_sort_tabs()` to be called once after multiple files are opened.
We can also create a wrapper function like `document_open_file_and_auto_sort_tabs()` but it would only apply to calling functions that only open a file once everytime they are called.
It's unlikely for the last update to be merged because of that, but please also consider the first two (`803d6a6` and `138dd09`). I can create another PR for those if wanted.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1144
-- Commit Summary --
* Allow document_get_notebook_child() to be used globally
* Add capability to sort editor tabs
* Add keybindings for sorting editor tabs
* Add capability to automatically sort editor tabs
-- File Changes --
M data/geany.glade (30)
M src/callbacks.c (4)
M src/document.c (16)
M src/document.h (2)
M src/keybindings.c (22)
M src/keybindings.h (2)
M src/keyfile.c (15)
M src/libmain.c (2)
M src/msgwindow.c (6)
M src/notebook.c (110)
M src/notebook.h (14)
M src/osx.c (3)
M src/prefs.c (40)
M src/symbols.c (8)
M src/ui_utils.c (7)
M src/ui_utils.h (2)
M src/win32.c (10)
-- Patch Links --
https://github.com/geany/geany/pull/1144.patchhttps://github.com/geany/geany/pull/1144.diff
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1144
Virtually it's more correct that if `document_rename_file()` fails, `handle_save_as()` would no longer proceed to call `document_save_file_as()`. I'm not sure if unexpected things in runtime would not happen if `document_save_file_as()` somehow succeeds even if `document_rename_file()` fails, but it's certainly not what the user would be expecting. I.e., being able to save to the target file but the originally file remains to exist. This might be a rare case, but it still stands to be programmatically incorrect.
I decided to include changing `document_rename_file()` itself in this update rather than creating another non-API function, because I believe it's the only correct way to do it. Sooner or later, it would have to be changed anyway. And I don't think it's likeable that an old non-gboolean function which no code would use would exist just for the sake of not breaking the API. This should also be helpful to future code that might rely on it.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1180
-- Commit Summary --
* Make document_rename_file() return a gboolean.
* Abort save if rename fails
-- File Changes --
M src/dialogs.c (6)
M src/document.c (4)
M src/document.h (2)
-- Patch Links --
https://github.com/geany/geany/pull/1180.patchhttps://github.com/geany/geany/pull/1180.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1180
As discussed in https://github.com/geany/geany/pull/1180.
This change adds two new functions: `document_rename_file_and_save()`, and `document_rename_and_save()`. `document_rename_file_and_save()` is kind of like the combination of `document_rename_file()` and `document_save_file_as()`, and is strictly about renaming the associated file, and doing the stuff necessary before and after the file has been renamed, like disabling file monitoring, and putting it back if a rename fails, saving/restoring file disk status, etc.
`document_rename_and_save()` OTOH is more of a wrapper, and is about renaming the document itself. It doesn't require the document to have an associated file to it (i.e. `doc->real_path != NULL`). But if there is an associated file, the file is also renamed, i.e., `document_rename_file_and_save()` is called. The algorithm to check if the file has to be overwritten is also contained in it. This function should be adaptable to other implementations like [in-place renaming](https://github.com/konsolebox/geany/tree/docs_rename).
In `dialogs.c`, stuff about resetting `doc->tm_file` and calling `build_menu_update()` has been moved to `document_save_file_as()`, since both are essentially needed to be done by anyone that calls the function. It helps significantly simplify the two new functions and the functions in `dialogs.c`.
The function `save_as_dialog_handle_response()` has been refactored, and is now simpler since the "overwrite file?" prompt has been moved to `document_rename_and_save()`, and since it can now directly call `document_rename_and_save()` and `document_save_file_as()`. `dialogs_show_save_as()` now also directly calls `document_save_file_as()` if `interface_prefs.use_native_windows_dialogs == TRUE`. `handle_save_as()` is no longer needed, so it's been removed.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1194
-- Commit Summary --
* Add document_rename_file_and_save()
* Do not make document_rename_file_and_save() an API function for now
* Add document_rename_and_save()
* Move resetting GeanyDocument::tm_file, and calling build_menu_update() to document_save_file_as()
* Rework Save-As functions in dialogs.c
* dialogs_show_save_as: g_free(utf8_name);
-- File Changes --
M src/dialogs.c (78)
M src/document.c (81)
M src/document.h (4)
-- Patch Links --
https://github.com/geany/geany/pull/1194.patchhttps://github.com/geany/geany/pull/1194.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1194
Zooming itself is fine, it works if "zoom in(out)" menu items are clicked. Default zooming hotkeys (which are written on these menu items) do not have any effect.
Geany 1.32, macOS 10.12.6
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1712
I think, when commenting Python code via `Edit` > `Format` > `Comment Line(s)`, after the `#` character would be better to add a space, [as mentioned in PEP8](https://www.python.org/dev/peps/pep-0008/#block-comments), resulting:
<code>
# commented line
</code>
instead of:
<code>
#commented line
</code>
This prevent me to manual adjust (all) the commented line(s).
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1681
Preview documents written in various markup languages.
* Supports: Markdown, reStructuredText, Txt2tags, LaTeX, Docbook, Asciidoc, Textile, org-mode, and RFC-822-like messages
* May be used as a rudimentary web browser
* Can toggle visibility of menubar and tab close buttons
* Requires geanypy, pandoc, and asciidoc
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany-plugins/pull/489
-- Commit Summary --
* new plugin: geanypy-preview
-- File Changes --
A geanypy-preview/AUTHORS (1)
A geanypy-preview/CHANGELOG (33)
A geanypy-preview/COPYING (339)
A geanypy-preview/README.md (93)
A geanypy-preview/preview.py (741)
-- Patch Links --
https://github.com/geany/geany-plugins/pull/489.patchhttps://github.com/geany/geany-plugins/pull/489.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/pull/489
find -L . -not -path '*/\.*' | ctags --totals --fields=fKsSt --extra=-fq --c-kinds=+p --sort=foldcase --excmd=number -L - -f /home/v/compile/2048 NG/2048 NG.tags (в каталоге: /home/v/compile/2048 NG/)
ctags: Warning: cannot open source file "NG/2048" : No such file or directory
ctags: Warning: cannot open source file "NG.tags" : No such file or directory
ctags: Warning: ignoring null tag in ./cocos2d/templates/js-template-default/res/loading.js
ctags: Warning: ignoring null tag in ./cocos2d/tests/js-tests/src/Presentation/Presentation.js
ctags: Warning: ignoring null tag in ./cocos2d/web/template/res/loading.js
ctags: Warning: ignoring null tag in ./cocos2d/web/CCBoot.js
ctags: Warning: ignoring null tag in ./cocos2d/web/cocos2d/labels/CCLabelAtlasCanvasRenderCmd.js
ctags: Warning: ignoring null tag in ./cocos2d/web/cocos2d/core/utils/BinaryLoader.js
ctags: Warning: ignoring null tag in ./cocos2d/cocos/scripting/js-bindings/script/ccui/jsb_ccui_deprecated.js
ctags: Warning: ignoring null tag in ./cocos2d/cocos/scripting/js-bindings/script/debugger/actors/webconsole.js
ctags: Warning: ignoring null tag in ./cocos2d/cocos/scripting/js-bindings/script/jsb_boot.js
ctags: Warning: ignoring null tag in ./cocos2d
So we have to single-quote `/home/v/compile/2048 NG/2048 NG.tags`.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/738
When I reboot the system - geany loses the list of open files, how to fix it?
System Kubuntu 12, and 14, and 16 - The same behavior.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1826