aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2007-10-08 12:04:24 -0400
committermitchell <70453897+667e-11@users.noreply.github.com>2007-10-08 12:04:24 -0400
commit40c1e32965c685bdb4d6d7ab48719d830478fb50 (patch)
tree6ea64d3073996ff4232f2be623f88f18195d1897 /src
parent888eea9a4c226efe8f82e2c2c37f49b8afa71cb9 (diff)
downloadtextadept-40c1e32965c685bdb4d6d7ab48719d830478fb50.tar.gz
textadept-40c1e32965c685bdb4d6d7ab48719d830478fb50.zip
command_entry visibility is toggled on focus toggle; src/textadept.c
The visibility of statusbar and doc_statusbar is also toggled.
Diffstat (limited to 'src')
-rw-r--r--src/textadept.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/textadept.c b/src/textadept.c
index 9bc8c343..3e989f8c 100644
--- a/src/textadept.c
+++ b/src/textadept.c
@@ -57,7 +57,7 @@ void create_ui() {
signal(command_entry, "activate", c_activated);
signal(command_entry, "key_press_event", c_keypress);
g_object_set(G_OBJECT(command_entry), "width-request", 200, NULL);
- gtk_box_pack_start(GTK_BOX(hboxs), command_entry, false, false, 0);
+ gtk_box_pack_start(GTK_BOX(hboxs), command_entry, true, true, 0);
docstatusbar = gtk_statusbar_new();
gtk_statusbar_push(GTK_STATUSBAR(docstatusbar), 0, "");
g_object_set(G_OBJECT(docstatusbar), "width-request", 400, NULL);
@@ -65,6 +65,7 @@ void create_ui() {
gtk_widget_show_all(window);
gtk_widget_hide(menubar); // hide initially
gtk_widget_hide(findbox); // hide initially
+ gtk_widget_hide(command_entry); // hide initially
gtk_widget_grab_focus(editor);
}
@@ -203,15 +204,22 @@ void set_docstatusbar_text(const char *text) {
}
void command_toggle_focus() {
- gtk_widget_grab_focus(
- GTK_WIDGET_HAS_FOCUS(focused_editor) ? command_entry : focused_editor);
+ if (!GTK_WIDGET_HAS_FOCUS(command_entry)) {
+ gtk_widget_hide(statusbar); gtk_widget_hide(docstatusbar);
+ gtk_widget_show(command_entry);
+ gtk_widget_grab_focus(command_entry);
+ } else {
+ gtk_widget_show(statusbar); gtk_widget_show(docstatusbar);
+ gtk_widget_hide(command_entry);
+ gtk_widget_grab_focus(focused_editor);
+ }
}
// Notifications/signals
static void c_activated(GtkWidget *widget, gpointer) {
l_ta_command(gtk_entry_get_text(GTK_ENTRY(widget)));
- gtk_widget_grab_focus(focused_editor);
+ command_toggle_focus();
}
void c_insert(const char *t) {
@@ -234,7 +242,7 @@ static bool c_keypress(GtkWidget *widget, GdkEventKey *event, gpointer) {
switch(event->keyval) {
case 0xff1b:
l_handle_event("hide_completions");
- gtk_widget_grab_focus(focused_editor);
+ command_toggle_focus();
return true;
case 0xff09:
l_handle_event("show_completions",