Added grabbing focus
This commit is contained in:
parent
7d59e50bb8
commit
73c7c463ad
|
@ -9,6 +9,7 @@
|
||||||
#include "gm-editor-view.h"
|
#include "gm-editor-view.h"
|
||||||
#include "gm-embedded-view.h"
|
#include "gm-embedded-view.h"
|
||||||
#include "gm-external-view.h"
|
#include "gm-external-view.h"
|
||||||
|
#include "gm-log-view.h"
|
||||||
|
|
||||||
#include "../gm-debug.h"
|
#include "../gm-debug.h"
|
||||||
#include "../gm-support.h"
|
#include "../gm-support.h"
|
||||||
|
@ -60,7 +61,11 @@ void on_gm_world_view_world_text_view_url_activate(GmWorldView *view,
|
||||||
gchar const *url);
|
gchar const *url);
|
||||||
void on_gm_world_view_editor_view_close_clicked(GtkButton *button,
|
void on_gm_world_view_editor_view_close_clicked(GtkButton *button,
|
||||||
GtkWidget *view);
|
GtkWidget *view);
|
||||||
|
void on_gm_world_view_log_view_close_clicked(GtkButton *button,
|
||||||
|
GtkWidget *view);
|
||||||
|
|
||||||
|
void on_gm_world_view_switch_page(GmWorldView *view, GtkNotebookPage *page,
|
||||||
|
guint page_num, gpointer user_data);
|
||||||
gboolean on_gm_world_view_world_input_view_key_pressed(GtkWidget *widget,
|
gboolean on_gm_world_view_world_input_view_key_pressed(GtkWidget *widget,
|
||||||
GdkEventKey *event, GmWorldView *view);
|
GdkEventKey *event, GmWorldView *view);
|
||||||
|
|
||||||
|
@ -197,13 +202,36 @@ gm_world_view_update_status(GmWorldView *view, gchar const *status) {
|
||||||
|
|
||||||
GtkWidget *
|
GtkWidget *
|
||||||
gm_world_view_log_page_new(GmWorldView *view, gchar const *filename) {
|
gm_world_view_log_page_new(GmWorldView *view, gchar const *filename) {
|
||||||
/*GtkWidget *label;
|
gchar *text = gm_read_file(filename);
|
||||||
|
gchar *base;
|
||||||
GmLabelInfo info;
|
GmLabelInfo info;
|
||||||
GtkWidget *scrolled_window = gtk_scrolled_window_new();
|
GtkWidget *log_view;
|
||||||
GtkWidget *text_view;
|
GtkWidget *label;
|
||||||
|
|
||||||
label = gm_create_tab_label("editor_text.xpm", */
|
if (text == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
base = g_path_get_basename(filename);
|
||||||
|
label = gm_create_tab_label("editor_text.xpm", base, TRUE, &info);
|
||||||
|
g_free(base);
|
||||||
|
|
||||||
|
log_view = GTK_WIDGET(gm_log_view_new());
|
||||||
|
gtk_widget_show(log_view);
|
||||||
|
|
||||||
|
gtk_notebook_append_page(GTK_NOTEBOOK(view), log_view, label);
|
||||||
|
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(view), TRUE);
|
||||||
|
gtk_notebook_set_current_page(GTK_NOTEBOOK(view),
|
||||||
|
gtk_notebook_page_num(GTK_NOTEBOOK(view), log_view));
|
||||||
|
|
||||||
|
g_signal_connect(info.button_exit, "clicked",
|
||||||
|
G_CALLBACK(on_gm_world_view_log_view_close_clicked),
|
||||||
|
log_view);
|
||||||
|
|
||||||
|
gm_log_view_set_text(GM_LOG_VIEW(log_view), text);
|
||||||
|
g_free(text);
|
||||||
|
|
||||||
|
return log_view;
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget *
|
GtkWidget *
|
||||||
|
@ -310,6 +338,9 @@ gm_world_view_init(GmWorldView *view) {
|
||||||
label = gm_create_tab_label("world.svg", _("World"), FALSE, &info);
|
label = gm_create_tab_label("world.svg", _("World"), FALSE, &info);
|
||||||
gtk_notebook_append_page(GTK_NOTEBOOK(view),
|
gtk_notebook_append_page(GTK_NOTEBOOK(view),
|
||||||
gm_world_view_world_page_new(view), label);
|
gm_world_view_world_page_new(view), label);
|
||||||
|
|
||||||
|
g_signal_connect(view, "switch-page",
|
||||||
|
G_CALLBACK(on_gm_world_view_switch_page), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -550,6 +581,12 @@ on_gm_world_view_editor_view_close_clicked(GtkButton *button,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
on_gm_world_view_log_view_close_clicked(GtkButton *button,
|
||||||
|
GtkWidget *view) {
|
||||||
|
gtk_widget_destroy(view);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
on_gm_world_view_editor_view_modified_changed(GmEditorView *editor_view,
|
on_gm_world_view_editor_view_modified_changed(GmEditorView *editor_view,
|
||||||
|
@ -759,3 +796,18 @@ on_gm_world_view_world_text_view_url_activate(GmWorldView *view,
|
||||||
gchar const *url) {
|
gchar const *url) {
|
||||||
gm_open_url(url);
|
gm_open_url(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
gm_world_view_input_grab_focus(GmWorldView *view) {
|
||||||
|
gtk_widget_grab_focus(GTK_WIDGET(view->priv->text_view_input));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
on_gm_world_view_switch_page(GmWorldView *view, GtkNotebookPage *page,
|
||||||
|
guint page_num, gpointer user_data) {
|
||||||
|
if (page_num == 0) {
|
||||||
|
g_idle_add((GSourceFunc)gm_world_view_input_grab_focus, view);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Reference in New Issue