Added status

This commit is contained in:
Jesse van den Kieboom 2005-11-07 09:41:33 +00:00
parent a721aa3d7b
commit 93ffcc9e9b
1 changed files with 33 additions and 6 deletions

View File

@ -41,11 +41,14 @@ void on_gm_world_view_world_state_changing(GmWorld *world, guint state,
GmWorldView *view);
void on_gm_world_view_world_active_changed(GmWorld *world, gboolean active,
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,
GdkEventScroll *event, GmWorldTextView *text);
gboolean on_gm_world_view_world_input_view_key_pressed(GtkWidget *widget,
GdkEventKey *event, GmWorldView *view);
/* Signals */
/*enum {
@ -68,6 +71,8 @@ gm_world_view_finalize(GObject *object) {
G_CALLBACK(on_gm_world_view_world_state_changing), view);
g_signal_handlers_disconnect_by_func(view->priv->world,
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_CLASS(gm_world_view_parent_class)->finalize(object);
@ -176,6 +181,19 @@ gm_world_view_create_world_text_view(GmWorldView *view) {
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 *
gm_world_view_world_page_new(GmWorldView *view) {
GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
@ -193,15 +211,15 @@ gm_world_view_world_page_new(GmWorldView *view) {
gtk_paned_pack2(GTK_PANED(hpaned), gm_world_view_userlist_new(view),
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_box_pack_start(GTK_BOX(vbox), hpaned, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), status, FALSE, FALSE, 0);
view->priv->statusbar = GTK_STATUSBAR(status);
view->priv->hpaned = GTK_HPANED(hpaned);
gm_world_view_update_status(view, NULL);
return vbox;
}
@ -259,6 +277,9 @@ gm_world_view_new(GmWorld *world) {
G_CALLBACK(on_gm_world_view_world_state_changing), view);
g_signal_connect(world, "active_changed",
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_CALLBACK(on_gm_world_input_view_world_text_activate), view);
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,
GdkEventScroll *event, GmWorldTextView *text) {
if (event->state & GDK_CONTROL_MASK) {
switch (event->direction) {
case GDK_SCROLL_UP:
// Font kleiner maken
// Decrease font size
gm_world_view_change_font_size(view, -1);
break;
case GDK_SCROLL_DOWN:
// Font groter maken
// Increase font size
gm_world_view_change_font_size(view, 1);
break;
default: