SF.net SVN: geany: [2042] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Sun Nov 11 10:19:52 UTC 2007
Revision: 2042
http://geany.svn.sourceforge.net/geany/?rev=2042&view=rev
Author: eht16
Date: 2007-11-11 02:19:50 -0800 (Sun, 11 Nov 2007)
Log Message:
-----------
Enable close tab on middle-clicking a notebook tab label.
Enable toggle additional widgets on double-clicking notebook tab label.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/notebook.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-11-11 09:09:47 UTC (rev 2041)
+++ trunk/ChangeLog 2007-11-11 10:19:50 UTC (rev 2042)
@@ -5,6 +5,10 @@
utils_get_date_time().
* src/main.c: Don't compile plugin command line option when plugin
support is disabled.
+ * src/notebook.c:
+ Enable close tab on middle-clicking a notebook tab label.
+ Enable toggle additional widgets on double-clicking notebook tab
+ label.
2007-11-08 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/src/notebook.c
===================================================================
--- trunk/src/notebook.c 2007-11-11 09:09:47 UTC (rev 2041)
+++ trunk/src/notebook.c 2007-11-11 10:19:50 UTC (rev 2042)
@@ -32,6 +32,7 @@
#include "ui_utils.h"
#include "treeviews.h"
#include "support.h"
+#include "callbacks.h"
#define GEANY_DND_NOTEBOOK_TAB_TYPE "geany_dnd_notebook_tab"
@@ -300,11 +301,23 @@
}
}
+gboolean notebook_tab_label_cb(GtkWidget *widget, GdkEventButton *event, gpointer user_data)
+{
+ // toggle additional widgets on double click
+ if (event->type == GDK_2BUTTON_PRESS)
+ on_menu_toggle_all_additional_widgets1_activate(NULL, NULL);
+ // close tab on middle click
+ if (event->button == 2)
+ document_remove(gtk_notebook_page_num(GTK_NOTEBOOK(app->notebook), GTK_WIDGET(user_data)));
+ return FALSE;
+}
+
+
/* Returns page number of notebook page, or -1 on error */
gint notebook_new_tab(gint doc_idx)
{
- GtkWidget *hbox;
+ GtkWidget *hbox, *ebox;
gint tabnum;
gchar *title;
document *this = &(doc_list[doc_idx]);
@@ -317,8 +330,14 @@
this->tab_label = gtk_label_new(title);
+ ebox = gtk_event_box_new();
+ GTK_WIDGET_SET_FLAGS(ebox, GTK_NO_WINDOW);
+ g_signal_connect(G_OBJECT(ebox), "button-press-event",
+ G_CALLBACK(notebook_tab_label_cb), page);
+
hbox = gtk_hbox_new(FALSE, 2);
- gtk_box_pack_start(GTK_BOX(hbox), this->tab_label, FALSE, FALSE, 0);
+ gtk_container_add(GTK_CONTAINER(ebox), this->tab_label);
+ gtk_box_pack_start(GTK_BOX(hbox), ebox, FALSE, FALSE, 0);
if (prefs.show_tab_cross)
{
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