Added status
This commit is contained in:
parent
a721aa3d7b
commit
93ffcc9e9b
1 changed files with 33 additions and 6 deletions
|
@ -41,6 +41,9 @@ void on_gm_world_view_world_state_changing(GmWorld *world, guint state,
|
||||||
GmWorldView *view);
|
GmWorldView *view);
|
||||||
void on_gm_world_view_world_active_changed(GmWorld *world, gboolean active,
|
void on_gm_world_view_world_active_changed(GmWorld *world, gboolean active,
|
||||||
GmWorldView *view);
|
GmWorldView *view);
|
||||||
|
void on_gm_world_view_world_status_changed(GmWorld *world, gchar const *text,
|
||||||
|
GmWorldView *view);
|
||||||
|
|
||||||
gboolean on_gm_world_view_world_text_view_scroll_event(GmWorldView *view,
|
gboolean on_gm_world_view_world_text_view_scroll_event(GmWorldView *view,
|
||||||
GdkEventScroll *event, GmWorldTextView *text);
|
GdkEventScroll *event, GmWorldTextView *text);
|
||||||
gboolean on_gm_world_view_world_input_view_key_pressed(GtkWidget *widget,
|
gboolean on_gm_world_view_world_input_view_key_pressed(GtkWidget *widget,
|
||||||
|
@ -68,6 +71,8 @@ gm_world_view_finalize(GObject *object) {
|
||||||
G_CALLBACK(on_gm_world_view_world_state_changing), view);
|
G_CALLBACK(on_gm_world_view_world_state_changing), view);
|
||||||
g_signal_handlers_disconnect_by_func(view->priv->world,
|
g_signal_handlers_disconnect_by_func(view->priv->world,
|
||||||
G_CALLBACK(on_gm_world_view_world_active_changed), view);
|
G_CALLBACK(on_gm_world_view_world_active_changed), view);
|
||||||
|
g_signal_handlers_disconnect_by_func(view->priv->world,
|
||||||
|
G_CALLBACK(on_gm_world_view_world_status_changed), view);
|
||||||
|
|
||||||
g_object_unref(view->priv->world);
|
g_object_unref(view->priv->world);
|
||||||
G_OBJECT_CLASS(gm_world_view_parent_class)->finalize(object);
|
G_OBJECT_CLASS(gm_world_view_parent_class)->finalize(object);
|
||||||
|
@ -176,6 +181,19 @@ gm_world_view_create_world_text_view(GmWorldView *view) {
|
||||||
return scrolled_window;
|
return scrolled_window;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gm_world_view_update_status(GmWorldView *view, gchar const *status) {
|
||||||
|
gtk_statusbar_pop(view->priv->statusbar, 0);
|
||||||
|
|
||||||
|
if (status == NULL) {
|
||||||
|
gtk_statusbar_push(view->priv->statusbar, 0,
|
||||||
|
_("Welcome to GnoeMoe, explorer of new worlds!"));
|
||||||
|
} else {
|
||||||
|
gtk_statusbar_push(view->priv->statusbar, 0,
|
||||||
|
status);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
GtkWidget *
|
GtkWidget *
|
||||||
gm_world_view_world_page_new(GmWorldView *view) {
|
gm_world_view_world_page_new(GmWorldView *view) {
|
||||||
GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
|
GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
|
||||||
|
@ -193,8 +211,6 @@ gm_world_view_world_page_new(GmWorldView *view) {
|
||||||
gtk_paned_pack2(GTK_PANED(hpaned), gm_world_view_userlist_new(view),
|
gtk_paned_pack2(GTK_PANED(hpaned), gm_world_view_userlist_new(view),
|
||||||
FALSE, TRUE);
|
FALSE, TRUE);
|
||||||
|
|
||||||
gtk_statusbar_push(GTK_STATUSBAR(status), 0,
|
|
||||||
_("Welcome to GnoeMoe, explorer of new worlds!"));
|
|
||||||
gtk_statusbar_set_has_resize_grip(GTK_STATUSBAR(status), FALSE);
|
gtk_statusbar_set_has_resize_grip(GTK_STATUSBAR(status), FALSE);
|
||||||
|
|
||||||
gtk_box_pack_start(GTK_BOX(vbox), hpaned, TRUE, TRUE, 0);
|
gtk_box_pack_start(GTK_BOX(vbox), hpaned, TRUE, TRUE, 0);
|
||||||
|
@ -203,6 +219,8 @@ gm_world_view_world_page_new(GmWorldView *view) {
|
||||||
view->priv->statusbar = GTK_STATUSBAR(status);
|
view->priv->statusbar = GTK_STATUSBAR(status);
|
||||||
view->priv->hpaned = GTK_HPANED(hpaned);
|
view->priv->hpaned = GTK_HPANED(hpaned);
|
||||||
|
|
||||||
|
gm_world_view_update_status(view, NULL);
|
||||||
|
|
||||||
return vbox;
|
return vbox;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -259,6 +277,9 @@ gm_world_view_new(GmWorld *world) {
|
||||||
G_CALLBACK(on_gm_world_view_world_state_changing), view);
|
G_CALLBACK(on_gm_world_view_world_state_changing), view);
|
||||||
g_signal_connect(world, "active_changed",
|
g_signal_connect(world, "active_changed",
|
||||||
G_CALLBACK(on_gm_world_view_world_active_changed), view);
|
G_CALLBACK(on_gm_world_view_world_active_changed), view);
|
||||||
|
g_signal_connect(world, "status_changed",
|
||||||
|
G_CALLBACK(on_gm_world_view_world_status_changed), view);
|
||||||
|
|
||||||
g_signal_connect(view->priv->text_view_input, "text_activate",
|
g_signal_connect(view->priv->text_view_input, "text_activate",
|
||||||
G_CALLBACK(on_gm_world_input_view_world_text_activate), view);
|
G_CALLBACK(on_gm_world_input_view_world_text_activate), view);
|
||||||
g_signal_connect(view, "destroy",
|
g_signal_connect(view, "destroy",
|
||||||
|
@ -493,16 +514,22 @@ on_gm_world_view_world_active_changed(GmWorld *world, gboolean active,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
on_gm_world_view_world_status_changed(GmWorld *world, gchar const *text,
|
||||||
|
GmWorldView *view) {
|
||||||
|
gm_world_view_update_status(view, text);
|
||||||
|
}
|
||||||
|
|
||||||
gboolean on_gm_world_view_world_text_view_scroll_event(GmWorldView *view,
|
gboolean on_gm_world_view_world_text_view_scroll_event(GmWorldView *view,
|
||||||
GdkEventScroll *event, GmWorldTextView *text) {
|
GdkEventScroll *event, GmWorldTextView *text) {
|
||||||
if (event->state & GDK_CONTROL_MASK) {
|
if (event->state & GDK_CONTROL_MASK) {
|
||||||
switch (event->direction) {
|
switch (event->direction) {
|
||||||
case GDK_SCROLL_UP:
|
case GDK_SCROLL_UP:
|
||||||
// Font kleiner maken
|
// Decrease font size
|
||||||
gm_world_view_change_font_size(view, -1);
|
gm_world_view_change_font_size(view, -1);
|
||||||
break;
|
break;
|
||||||
case GDK_SCROLL_DOWN:
|
case GDK_SCROLL_DOWN:
|
||||||
// Font groter maken
|
// Increase font size
|
||||||
gm_world_view_change_font_size(view, 1);
|
gm_world_view_change_font_size(view, 1);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
Reference in a new issue