50 gtk_tree_model_get(model, &iter,
LIST_HOSTNAME, &selection, -1);
76 GtkCellRenderer *renderer;
77 GtkTreeViewColumn *column;
81 GTK_WIDGET(gtk_builder_get_object(
dialog_xml,
"treeview_metaserver"));
83 GTK_WIDGET(gtk_builder_get_object(
dialog_xml,
"metaserver_status"));
85 GTK_WIDGET(gtk_builder_get_object(
dialog_xml,
"metaserver_select"));
93 GTK_WIDGET(gtk_builder_get_object(
dialog_xml,
"metaserver_text_entry"));
101 gtk_builder_get_object(
dialog_xml,
"button_metaserver_quit"));
102 g_signal_connect(widget,
"clicked",
107 GTK_WIDGET(gtk_builder_get_object(
dialog_xml,
"button_refresh")),
112 gtk_list_store_new(5, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT,
113 G_TYPE_STRING, G_TYPE_STRING);
117 renderer = gtk_cell_renderer_text_new();
118 column = gtk_tree_view_column_new_with_attributes(
120 gtk_tree_view_column_set_sort_column_id(column,
LIST_HOSTNAME);
123 renderer = gtk_cell_renderer_text_new();
124 column = gtk_tree_view_column_new_with_attributes(
126 gtk_tree_view_column_set_sort_column_id(column,
LIST_PLAYERS);
129 renderer = gtk_cell_renderer_text_new();
130 column = gtk_tree_view_column_new_with_attributes(
132 gtk_tree_view_column_set_sort_column_id(column,
LIST_VERSION);
135 renderer = gtk_cell_renderer_text_new();
136 column = gtk_tree_view_column_new_with_attributes(
147 GTK_WIDGET(gtk_builder_get_object(
dialog_xml,
"button_preferences"));
148 g_signal_connect((gpointer)widget,
"clicked",
159 bool valid = gtk_tree_model_get_iter_first(model, &iter);
164 if (strcmp(server, name) == 0) {
168 valid = gtk_tree_model_iter_next(model, &iter);
173 static void server_add(
char *server,
int update,
int players,
char *version,
174 char *comment,
bool compatible) {
195 #ifdef HAVE_CURL_CURL_H
202 "This client doesn't have metaserver support.");
236 char *name_dup = g_strdup(name);
237 g_strstrip(name_dup);
240 snprintf(buf,
sizeof(buf),
"Connecting to '%s'...", name_dup);
242 gtk_main_iteration();
246 LOG(
LOG_DEBUG,
"metaserver_connect_to",
"Connected to '%s'!", name_dup);
255 snprintf(buf,
sizeof(buf),
"Unable to connect to %s!", name_dup);
269 if (*entry_text !=
'\0') {