Freeciv-3.1
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <gdk/gdkkeysyms.h>
#include "fcintl.h"
#include "genlist.h"
#include "log.h"
#include "mem.h"
#include "support.h"
#include "chat.h"
#include "featured_text.h"
#include "game.h"
#include "packets.h"
#include "client_main.h"
#include "climap.h"
#include "control.h"
#include "mapview_common.h"
#include "colors.h"
#include "gui_main.h"
#include "gui_stuff.h"
#include "pages.h"
#include "chatline.h"
Go to the source code of this file.
Data Structures | |
struct | inputline_toolkit |
Macros | |
#define | MAX_CHATLINE_HISTORY 20 |
#define | MAX_MATCHES 10 |
Functions | |
static void | inputline_make_tag (GtkEntry *entry, enum text_tag_type type) |
bool | inputline_has_focus (void) |
void | inputline_grab_focus (void) |
bool | inputline_is_visible (void) |
static bool | is_plain_public_message (const char *s) |
static void | inputline_return (GtkEntry *w, gpointer data) |
static const char * | get_player_or_user_name (int id) |
static int | check_player_or_user_name (const char *prefix, const char **matches, const int max_matches) |
static size_t | get_common_prefix (const char *const *prefixes, size_t num_prefixes, char *buf, size_t buf_len) |
static bool | chatline_autocomplete (GtkEditable *editable) |
static gboolean | inputline_handler (GtkWidget *w, GdkEventKey *ev) |
void | inputline_make_chat_link (struct tile *ptile, bool unit) |
void | scroll_if_necessary (GtkTextView *textview, GtkTextMark *scroll_target) |
static gboolean | event_after (GtkWidget *text_view, GdkEventButton *event) |
static void | set_cursor_if_appropriate (GtkTextView *text_view, gint x, gint y) |
static gboolean | motion_notify_event (GtkWidget *text_view, GdkEventMotion *event) |
void | set_message_buffer_view_link_handlers (GtkWidget *view) |
void | apply_text_tag (const struct text_tag *ptag, GtkTextBuffer *buf, ft_offset_t text_start_offset, const char *text) |
void | real_output_window_append (const char *astring, const struct text_tag_list *tags, int conn_id) |
void | log_output_window (void) |
void | clear_output_window (void) |
void | set_output_window_text (const char *text) |
bool | chatline_is_scrolled_to_bottom (void) |
static gboolean | chatline_scroll_callback (gpointer data) |
void | chatline_scroll_to_bottom (bool delayed) |
static void | make_tag_callback (GtkToolButton *button, gpointer data) |
static void | color_set (GObject *object, const gchar *color_target, GdkRGBA *color, GtkToolButton *button) |
static void | color_selected (GtkDialog *dialog, gint res, gpointer data) |
static void | select_color_callback (GtkToolButton *button, gpointer data) |
static gboolean | move_toolkit (GtkWidget *toolkit_view, gpointer data) |
static gboolean | set_toolbar_visibility (GtkWidget *w, gpointer data) |
static void | button_toggled (GtkToggleButton *button, gpointer data) |
GtkWidget * | inputline_toolkit_view_new (void) |
void | inputline_toolkit_view_append_button (GtkWidget *toolkit_view, GtkWidget *button) |
void | chatline_init (void) |
static gboolean | version_message_main_thread (gpointer user_data) |
void | version_message (const char *vertext) |
Variables | |
static struct genlist * | history_list = NULL |
static int | history_pos = -1 |
static struct inputline_toolkit | toolkit |
#define MAX_CHATLINE_HISTORY 20 |
Definition at line 52 of file chatline.c.
#define MAX_MATCHES 10 |
void apply_text_tag | ( | const struct text_tag * | ptag, |
GtkTextBuffer * | buf, | ||
ft_offset_t | text_start_offset, | ||
const char * | text | ||
) |
Convert a struct text_tag to a GtkTextTag.
Definition at line 755 of file chatline.c.
|
static |
Show/Hide the toolbar.
Definition at line 1246 of file chatline.c.
|
static |
Autocompletes the input line with a player or user name. Returns FALSE if there is no string to complete.
Definition at line 284 of file chatline.c.
void chatline_init | ( | void | ) |
Initializes the chatline stuff.
Definition at line 1302 of file chatline.c.
bool chatline_is_scrolled_to_bottom | ( | void | ) |
Returns whether the chatline is scrolled to the bottom.
Definition at line 959 of file chatline.c.
|
static |
Scrolls the pregame and in-game chat windows all the way to the bottom.
Why do we do it in such a convuluted fasion rather than calling chatline_scroll_to_bottom directly from toplevel_configure? Because the widget is not at its final size yet when the configure event occurs.
Definition at line 994 of file chatline.c.
void chatline_scroll_to_bottom | ( | bool | delayed | ) |
Scrolls the pregame and in-game chat windows all the way to the bottom. If delayed is TRUE, it will be done in a idle_callback.
Definition at line 1006 of file chatline.c.
|
static |
Find a player or a user by prefix.
prefix | The prefix. |
matches | A string array to set the matches result. |
max_matches | The maximum of matches. |
Definition at line 202 of file chatline.c.
void clear_output_window | ( | void | ) |
Clear output window. This does not destroy it, or free its resources
Definition at line 943 of file chatline.c.
|
static |
Color selection dialog response.
Definition at line 1094 of file chatline.c.
|
static |
Set the color for an object. Update the button if not NULL.
Definition at line 1043 of file chatline.c.
|
static |
Click a link.
Definition at line 584 of file chatline.c.
|
static |
Find the larger common prefix.
prefixes - A list of prefixes. num_prefixes - The number of prefixes. buf - The buffer to set. buf_len - The maximal size of the buffer.
Returns the length of the common prefix (in characters).
Definition at line 257 of file chatline.c.
|
static |
Returns the name of player or user, set in the same list.
Definition at line 175 of file chatline.c.
void inputline_grab_focus | ( | void | ) |
Gives the focus to the intput line.
Definition at line 79 of file chatline.c.
|
static |
Called when a key is pressed.
Definition at line 345 of file chatline.c.
bool inputline_has_focus | ( | void | ) |
Returns TRUE iff the input line has focus.
Definition at line 71 of file chatline.c.
bool inputline_is_visible | ( | void | ) |
Returns TRUE iff the input line is currently visible.
Definition at line 87 of file chatline.c.
Make a chat link at the current position or make the current selection clickable.
Definition at line 474 of file chatline.c.
|
static |
Make a text tag for the selected text.
Definition at line 416 of file chatline.c.
|
static |
Called when the return key is pressed.
Definition at line 139 of file chatline.c.
void inputline_toolkit_view_append_button | ( | GtkWidget * | toolkit_view, |
GtkWidget * | button | ||
) |
Appends a button to the inputline toolkit view widget.
Definition at line 1292 of file chatline.c.
GtkWidget * inputline_toolkit_view_new | ( | void | ) |
Returns a new inputline toolkit view widget that can contain the inputline.
This widget has the following datas: "button_box": pointer to the GtkHBox where to append buttons.
Definition at line 1270 of file chatline.c.
|
static |
Helper function to determine if a given client input line is intended as a "plain" public message. Note that messages prefixed with : are a special case (explicit public messages), and will return FALSE.
Definition at line 97 of file chatline.c.
void log_output_window | ( | void | ) |
I have no idea what module this belongs in – Syela I've decided to put output_window routines in chatline.c, because the are somewhat related and output_window_* is already here. –dwp
Definition at line 928 of file chatline.c.
|
static |
Tool button clicked.
Definition at line 1033 of file chatline.c.
|
static |
Maybe are the mouse is moving over a link.
Definition at line 728 of file chatline.c.
|
static |
Moves the tool kit to the toolkit view.
Definition at line 1155 of file chatline.c.
void real_output_window_append | ( | const char * | astring, |
const struct text_tag_list * | tags, | ||
int | conn_id | ||
) |
Appends the string to the chat output window. The string should be inserted on its own line, although it will have no newline.
Definition at line 874 of file chatline.c.
void scroll_if_necessary | ( | GtkTextView * | textview, |
GtkTextMark * | scroll_target | ||
) |
Scroll a textview so that the given mark is visible, but only if the scroll window containing the textview is very close to the bottom. The text mark 'scroll_target' should probably be the first character of the last line in the text buffer.
Definition at line 557 of file chatline.c.
|
static |
Color selection tool button clicked.
Definition at line 1120 of file chatline.c.
|
static |
Set the "hand" cursor when moving over a link.
Definition at line 674 of file chatline.c.
void set_message_buffer_view_link_handlers | ( | GtkWidget * | view | ) |
Set the appropriate callbacks for the message buffer.
Definition at line 744 of file chatline.c.
void set_output_window_text | ( | const char * | text | ) |
Set given text to output window
Definition at line 951 of file chatline.c.
|
static |
Show/Hide the toolbar.
Definition at line 1216 of file chatline.c.
void version_message | ( | const char * | vertext | ) |
Got version message from metaserver thread.
Definition at line 1477 of file chatline.c.
|
static |
Main thread side callback to print version message
Definition at line 1463 of file chatline.c.
|
static |
Definition at line 54 of file chatline.c.
|
static |
Definition at line 55 of file chatline.c.
|
static |