[geany/geany] 23eede: Make switch to MRU upon tab close configurable
Colomban Wendling
git-noreply at xxxxx
Thu Jul 26 00:02:23 UTC 2012
Branch: refs/heads/document-messages
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Jiří Techet <techet at gmail.com>
Date: Sat, 24 Dec 2011 11:30:58
Commit: 23eede529178e3dc058d777f35c34d8de2d8cbab
https://github.com/geany/geany/commit/23eede529178e3dc058d777f35c34d8de2d8cbab
Log Message:
-----------
Make switch to MRU upon tab close configurable
Add configuration option tab_close_switch_to_mru to allow the user
to choose whether to switch to the most recently used tab or to the
next one after closing the current tab.
Modified Paths:
--------------
data/geany.glade
src/document.h
src/keybindings.c
src/keyfile.c
Modified: data/geany.glade
12 files changed, 12 insertions(+), 0 deletions(-)
===================================================================
@@ -2117,6 +2117,18 @@
<property name="position">3</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="check_tab_close_switch_to_mru">
+ <property name="label" translatable="yes">Switch to last used document after closing a tab</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="position">4</property>
+ </packing>
+ </child>
</object>
</child>
</object>
Modified: src/document.h
1 files changed, 1 insertions(+), 0 deletions(-)
===================================================================
@@ -62,6 +62,7 @@
gboolean gio_unsafe_save_backup;
gboolean use_gio_unsafe_file_saving; /* whether to use GIO as the unsafe backend */
gchar *extract_filetype_regex; /* regex to extract filetype on opening */
+ gboolean tab_close_switch_to_mru;
}
GeanyFilePrefs;
Modified: src/keybindings.c
23 files changed, 17 insertions(+), 6 deletions(-)
===================================================================
@@ -632,15 +632,26 @@ static void on_document_close(GObject *obj, GeanyDocument *doc)
{
if (! main_status.quitting)
{
- GeanyDocument *last_doc;
+ /* switch to appropriate page when closing current doc */
+ if (document_get_current() == doc)
+ {
+ gint page;
- last_doc = g_queue_peek_nth(mru_docs, 1);
+ page = gtk_notebook_get_current_page(GTK_NOTEBOOK(main_widgets.notebook)) +
+ (file_prefs.tab_order_ltr ? 1 : -1);
- if (DOC_VALID(last_doc) && document_get_current() == doc)
- {
- gtk_notebook_set_current_page(GTK_NOTEBOOK(main_widgets.notebook),
- document_get_notebook_page(last_doc));
+ if (file_prefs.tab_close_switch_to_mru)
+ {
+ GeanyDocument *last_doc;
+
+ last_doc = g_queue_peek_nth(mru_docs, 1);
+ if (DOC_VALID(last_doc))
+ page = document_get_notebook_page(last_doc);
+ }
+
+ gtk_notebook_set_current_page(GTK_NOTEBOOK(main_widgets.notebook), page);
}
+
g_queue_remove(mru_docs, doc);
/* this prevents the pop up window from showing when there's a single
* document */
Modified: src/keyfile.c
2 files changed, 2 insertions(+), 0 deletions(-)
===================================================================
@@ -139,6 +139,8 @@ static void init_pref_groups(void)
stash_group_add_toggle_button(group, &interface_prefs.notebook_double_click_hides_widgets,
"notebook_double_click_hides_widgets", FALSE, "check_double_click_hides_widgets");
+ stash_group_add_toggle_button(group, &file_prefs.tab_close_switch_to_mru,
+ "tab_close_switch_to_mru", FALSE, "check_tab_close_switch_to_mru");
stash_group_add_integer(group, &interface_prefs.tab_pos_sidebar, "tab_pos_sidebar", GTK_POS_TOP);
stash_group_add_radio_buttons(group, &interface_prefs.sidebar_pos,
"sidebar_pos", GTK_POS_LEFT,
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
More information about the Commits
mailing list