Freeciv-3.2: /fast/freeciv/nightly/S3_2/client/gui-qt/gui_main.cpp Source File

Freeciv-3.2

Loading...
Searching...
No Matches
gui_main.cpp
Go to the documentation of this file.
1/***********************************************************************
2 Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
6 any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12***********************************************************************/
13
14#ifdef HAVE_CONFIG_H
15#include <fc_config.h>
16#endif
17
18#ifdef AUDIO_SDL
19/* Though it would happily compile without this include,
20 * it is needed for sound to work.
21 * It defines "main" macro to rename our main() so that
22 * it can install SDL's own. */
23#ifdef SDL2_PLAIN_INCLUDE
24#include <SDL.h>
25#else // PLAIN_INCLUDE
26#include <SDL2/SDL.h>
27#endif // PLAIN_INCLUDE
28#endif // AUDIO_SDL
29
30#include <stdio.h>
31
32// Qt
33#include <QApplication>
34#include <QLibraryInfo>
35#include <QMessageBox>
36#include <QScrollBar>
37#include <QStyleFactory>
38
39// utility
40#include "fc_cmdline.h"
41#include "fciconv.h"
42#include "log.h"
43
44// client
45#include "client_main.h"
46#include "editgui_g.h"
47#include "options.h"
48#include "sprite.h"
49#include "svgflag.h"
50#include "themes_common.h"
51#include "tilespec.h"
52
53// gui-qt
54#include "fc_client.h"
55#include "fonts.h"
56#include "gui_main.h"
57#include "helpdlg.h"
58#include "hudwidget.h"
59#include "qtg_cxxside.h"
60
61extern "C" {
62 void real_science_report_dialog_update(void*);
63}
64extern void restart_notify_dialogs();
65extern void city_font_update();
66
67 const bool gui_use_transliteration = false;
68 const char * const gui_character_encoding = "UTF-8";
69 const char *client_string = "gui-qt";
70 static fc_client *freeciv_qt;
71 static QApplication *qapp = nullptr;
72
73void reset_unit_table(void);
74static void apply_font(struct option *poption);
75static void apply_help_font(struct option *poption);
76static void apply_notify_font(struct option *poption);
77static void apply_sidebar(struct option *poption);
78static void apply_titlebar(struct option *poption);
79static void apply_fullscreen(struct option *poption);
80
81/**********************************************************************/
84 class fc_client *gui()
85{
86 return freeciv_qt;
87}
88
89/**********************************************************************/
92 void qtg_ui_init()
93{}
94
95/**********************************************************************/
98 int main(int argc, char **argv)
99{
100 setup_gui_funcs();
101
102 return client_main(argc, argv, TRUE);
103}
104
105/**********************************************************************/
109 static void print_usage()
110{
111 // Add client-specific usage information here
112 fc_fprintf(stderr,
113 _("This client accepts the standard Qt command-line options\n"
114 "after '--'. See the Qt documentation.\n\n"));
115
116 fc_fprintf(stderr,
117 _("Other gui-specific options are:\n"));
118
119 fc_fprintf(stderr,
120 _("-s, --shortcutreset\tReset shortcut keys to "
121 "default values\n"));
122
123 fc_fprintf(stderr, "\n");
124
125 // TRANS: No full stop after the URL, could cause confusion.
126 fc_fprintf(stderr, _("Report bugs at %s\n"), BUG_URL);
127}
128
129/**********************************************************************/
134 static bool parse_options(int argc, char **argv)
135{
136 int i = 1;
137
138 while (i < argc) {
139 if (is_option("--help", argv[i])) {
140 print_usage();
141 return false;
142 }
143 if (is_option("--shortcutreset", argv[i])) {
144 shortcutreset();
145 }
146 // Can't check against unknown options, as those might be Qt options
147
148 i++;
149 }
150
151 return true;
152}
153
154/**********************************************************************/
157 static void migrate_options_from_2_5()
158{
159 log_normal(_("Migrating Qt-client options from freeciv-2.5 options."));
160
161 gui_options.gui_qt_fullscreen = gui_options.migrate_fullscreen;
162
163 gui_options.gui_qt_migrated_from_2_5 = TRUE;
164}
165
166/**********************************************************************/
170 int qtg_ui_main(int argc, char *argv[])
171{
172 if (parse_options(argc, argv)) {
173 qapp = new QApplication(argc, argv);
174 QPixmap *qpm;
175 QIcon app_icon;
176 int tsret;
177
178 tsret = default_tileset_select();
179 if (tsret != EXIT_SUCCESS) {
180 return tsret;
181 }
182
183 if (gui_options.gui_qt_svgflags) {
184#ifdef FREECIV_SVG_FLAGS
185 svg_flag_enable();
186#else // FREECIV_SVG_FLAGS
187 fc_fprintf(stderr, _("svg flags not enabled in this freeciv build."));
188#endif // FREECIV_SVG_FLAGS
189 }
190
191 tileset_init(tileset);
192 tileset_load_tiles(tileset);
193 qpm = get_icon_sprite(tileset, ICON_FREECIV)->pm;
194 app_icon = ::QIcon(*qpm);
195 qapp->setWindowIcon(app_icon);
196 if (gui_options.first_boot) {
197 /* We're using fresh defaults for this version of this client,
198 * so prevent any future migrations from other versions */
199 gui_options.gui_qt_migrated_from_2_5 = TRUE;
200 } else if (!gui_options.gui_qt_migrated_from_2_5) {
201 migrate_options_from_2_5();
202 }
203 if (!load_theme(gui_options.gui_qt_default_theme_name)) {
204 qtg_gui_clear_theme();
205 }
206 freeciv_qt = new fc_client();
207
208 if (!gui_options.gui_qt_default_fonts_set) {
209 configure_fonts();
210 gui_options.gui_qt_default_fonts_set = TRUE;
211 }
212
213 // Initial fonts setup by forcing running change-callback for each
214 options_iterate(client_optset, poption) {
215 if (OT_FONT == option_type(poption)) {
216 option_changed(poption);
217 }
218 } options_iterate_end;
219
220 freeciv_qt->fc_main(qapp);
221 }
222
223 return EXIT_SUCCESS;
224}
225
226/**********************************************************************/
229 QApplication *current_app()
230{
231 return qapp;
232}
233
234/**********************************************************************/
237 void qtg_options_extra_init()
238{
239 struct option *poption;
240
241#define option_var_set_callback(var, callback) \
242 if ((poption = optset_option_by_name(client_optset, #var))) { \
243 option_set_changed_callback(poption, callback); \
244 } else { \
245 log_error("Didn't find option %s!", #var); \
246 }
247 option_var_set_callback(gui_qt_font_city_names,
248 apply_font);
249 option_var_set_callback(gui_qt_font_city_productions,
250 apply_font);
251 option_var_set_callback(gui_qt_font_reqtree_text,
252 apply_font);
253 option_var_set_callback(gui_qt_font_default,
254 apply_font);
255 option_var_set_callback(gui_qt_font_help_text,
256 apply_help_font);
257 option_var_set_callback(gui_qt_font_chatline,
258 apply_font);
259 option_var_set_callback(gui_qt_font_notify_label,
260 apply_notify_font);
261 option_var_set_callback(gui_qt_show_titlebar,
262 apply_titlebar);
263 option_var_set_callback(gui_qt_sidebar_left,
264 apply_sidebar);
265 option_var_set_callback(gui_qt_fullscreen,
266 apply_fullscreen);
267#undef option_var_set_callback
268}
269
270/**********************************************************************/
273 void qtg_ui_exit()
274{
275 delete freeciv_qt;
276 delete qapp;
277 qapp = nullptr;
278}
279
280/**********************************************************************/
283 void qtg_real_conn_list_dialog_update(void *unused)
284{
285 if (qtg_get_current_client_page() == PAGE_NETWORK) {
286 qtg_real_set_client_page(PAGE_START);
287 }
288 gui()->update_start_page();
289}
290
291/**********************************************************************/
295 void qtg_sound_bell()
296{
297 QApplication::beep();
298 QApplication::alert(gui()->central_wdg);
299}
300
301/**********************************************************************/
308 void qtg_add_net_input(int sock)
309{
310 gui()->add_server_source(sock);
311}
312
313/**********************************************************************/
318 void qtg_remove_net_input()
319{
320 gui()->remove_server_source();
321}
322
323/**********************************************************************/
334 void qtg_set_unit_icon(int idx, struct unit *punit)
335{
336 // PORTME
337}
338
339/**********************************************************************/
346 void qtg_set_unit_icons_more_arrow(bool onoff)
347{
348 // PORTME
349}
350
351/**********************************************************************/
356 void qtg_real_focus_units_changed(void)
357{
358 if (gui()->unit_sel != nullptr && gui()->unit_sel->isVisible()) {
359 gui()->unit_sel->update_units();
360 }
361
362 if (gui()->gtd != nullptr && gui()->gtd->isVisible()) {
363 gui()->gtd->update_dlg();
364 }
365}
366
367/**********************************************************************/
372 void qtg_add_idle_callback(void (callback)(void *), void *data)
373{
374 call_me_back *cb = new call_me_back; // Removed in mr_idler:idling()
375
376 cb->callback = callback;
377 cb->data = data;
378 gui()->mr_idler.add_callback(cb);
379}
380
381/**********************************************************************/
384 void apply_titlebar(struct option *poption)
385{
386 bool val;
387 QWidget *w;
388 Qt::WindowFlags flags = Qt::Window;
389 val = option_bool_get(poption);
390
391 if (gui()->current_page() < PAGE_GAME) {
392 return;
393 }
394
395 if (val) {
396 w = new QWidget();
397 gui()->setWindowFlags(flags);
398 delete gui()->corner_wid;
399 gui()->corner_wid = nullptr;
400 gui()->menu_bar->setCornerWidget(w);
401 } else {
402 flags |= Qt::CustomizeWindowHint;
403 gui()->setWindowFlags(flags);
404 gui()->corner_wid = new fc_corner(gui());
405 gui()->menu_bar->setCornerWidget(gui()->corner_wid);
406 }
407 gui()->show();
408}
409
410/**********************************************************************/
413 void apply_sidebar(struct option *poption)
414{
415 gui()->update_sidebar_position();
416}
417
418/**********************************************************************/
421 static void apply_font(struct option *poption)
422{
423 QFont *f;
424 QFont *remove_old;
425 QString s;
426
427 if (gui()) {
428 // FIXME: All this should be within gui()->update_fonts()
429 f = new QFont;
430 s = option_font_get(poption);
431 f->fromString(s);
432 s = option_name(poption);
433 remove_old = fc_font::instance()->get_font(s);
434 delete remove_old;
435 fc_font::instance()->set_font(s, f);
436 update_city_descriptions();
437 gui()->infotab->chtwdg->update_font();
438 QApplication::setFont(*fc_font::instance()->get_font(fonts::default_font));
439 real_science_report_dialog_update(nullptr);
440 fc_font::instance()->get_mapfont_size();
441 gui()->update_fonts();
442 }
443
444 apply_help_font(poption);
445}
446
447/**********************************************************************/
450 static void apply_help_font(struct option *poption)
451{
452 QFont *f;
453 QFont *remove_old;
454 QString s;
455
456 if (gui()) {
457 f = new QFont;
458 s = option_font_get(poption);
459 f->fromString(s);
460 s = option_name(poption);
461 remove_old = fc_font::instance()->get_font(s);
462 delete remove_old;
463 fc_font::instance()->set_font(s, f);
464 update_help_fonts();
465 }
466}
467
468/**********************************************************************/
471 static void apply_notify_font(struct option *poption)
472{
473 if (gui()) {
474 qtg_gui_update_font("notify_label", option_font_get(poption));
475 restart_notify_dialogs();
476 }
477 if (gui() && qtg_get_current_client_page() == PAGE_GAME) {
478 qtg_gui_update_font("city_label", option_font_get(poption));
479 city_font_update();
480 }
481}
482
483/**********************************************************************/
486 static void apply_fullscreen(struct option *poption)
487{
488 gui()->apply_fullscreen();
489}
490
491/**********************************************************************/
494 void qtg_editgui_tileset_changed()
495{}
496
497/**********************************************************************/
500 void qtg_editgui_refresh()
501{}
502
503/**********************************************************************/
506 void qtg_editgui_popup_properties(const struct tile_list *tiles, int objtype)
507{}
508
509/**********************************************************************/
512 void qtg_editgui_popdown_all()
513{}
514
515/**********************************************************************/
518 void qtg_editgui_notify_object_changed(int objtype, int object_id,
519 bool removal)
520{}
521
522/**********************************************************************/
525 void qtg_editgui_notify_object_created(int tag, int id)
526{}
527
528/**********************************************************************/
531 void qtg_gui_update_font(const char *font_name, const char *font_value)
532{
533 QFont *f;
534 QFont *remove_old;
535 QString fname;
536
537 fname = "gui_qt_font_" + QString(font_name);
538 f = new QFont;
539 f->fromString(font_value);
540 remove_old = fc_font::instance()->get_font(fname);
541 delete remove_old;
542 fc_font::instance()->set_font(fname, f);
543 fc_font::instance()->get_mapfont_size();
544}
545
546/**********************************************************************/
549 enum gui_type qtg_get_gui_type()
550{
551 return GUI_QT;
552}
553
554/**********************************************************************/
557 void reset_unit_table(void)
558{
559 // FIXME
560}
561
562/**********************************************************************/
565 void popup_quit_dialog()
566{
567 hud_message_box *ask = new hud_message_box(gui()->central_wdg);
568
569 ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
570 ask->setDefaultButton(QMessageBox::Cancel);
571 ask->set_text_title(_("Are you sure you want to quit?"), _("Quit?"));
572 ask->setAttribute(Qt::WA_DeleteOnClose);
573 QObject::connect(ask, &hud_message_box::accepted, [=]() {
574 start_quitting();
575 if (client.conn.used) {
576 disconnect_from_server(FALSE);
577 }
578 gui()->write_settings();
579 qapp->quit();
580 });
581 ask->show();
582}
583
584/**********************************************************************/
587 void qtg_insert_client_build_info(char *outbuf, size_t outlen)
588{
589 // There's also an separate entry about Qt in help menu.
590
591 QByteArray ver = QLibraryInfo::version().toString().toUtf8();
592
593 cat_snprintf(outbuf, outlen, _("\nBuilt against Qt %s, using %s"),
594 QT_VERSION_STR, ver.data());
595
596#ifndef FC_QT5_MODE
597 cat_snprintf(outbuf, outlen, _("\nBuilt in Qt6 mode."));
598#else // FC_QT5_MODE
599 cat_snprintf(outbuf, outlen, _("\nBuilt in Qt5 mode."));
600#endif // FC_QT5_MODE
601}
get_font
static QFont * get_font(enum client_font font)
Definition canvas.cpp:379
chatwdg::update_font
void update_font()
Definition chatline.cpp:348
fc_client
Definition fc_client.h:170
fc_client::apply_fullscreen
void apply_fullscreen()
Definition fc_client.cpp:426
fc_client::gtd
goto_dialog * gtd
Definition fc_client.h:265
fc_client::menu_bar
mr_menu * menu_bar
Definition fc_client.h:257
fc_client::fc_client
fc_client()
Definition fc_client.cpp:70
fc_client::mr_idler
mr_idle mr_idler
Definition fc_client.h:255
fc_client::unit_sel
units_select * unit_sel
Definition fc_client.h:263
fc_client::write_settings
void write_settings()
Definition fc_client.cpp:794
fc_client::infotab
info_tab * infotab
Definition fc_client.h:261
fc_client::add_server_source
void add_server_source(int)
Definition fc_client.cpp:449
fc_client::update_sidebar_position
void update_sidebar_position()
Definition pages.cpp:2285
fc_client::update_start_page
void update_start_page()
Definition pages.cpp:1664
fc_client::update_fonts
void update_fonts()
Definition fc_client.cpp:460
fc_client::fc_main
void fc_main(QApplication *qapp)
Definition fc_client.cpp:260
fc_client::corner_wid
fc_corner * corner_wid
Definition fc_client.h:258
fc_client::remove_server_source
void remove_server_source()
Definition fc_client.cpp:494
fc_corner
Definition fc_client.h:156
fc_font::instance
static fc_font * instance()
Definition fonts.cpp:41
fc_font::set_font
void set_font(QString name, QFont *qf)
Definition fonts.cpp:123
fc_font::get_font
QFont * get_font(QString name)
Definition fonts.cpp:63
fc_font::get_mapfont_size
void get_mapfont_size()
Definition fonts.cpp:114
goto_dialog::update_dlg
void update_dlg()
Definition gotodlg.cpp:236
hud_message_box
Definition hudwidget.h:56
info_tab::chtwdg
chatwdg * chtwdg
Definition messagewin.h:79
mr_idle::add_callback
void add_callback(call_me_back *cb)
Definition mapview.cpp:188
units_select::update_units
void update_units()
Definition dialogs.cpp:4761
client_main
int client_main(int argc, char *argv[], bool postpone_tileset)
Definition client_main.c:351
client
struct civclient client
Definition client_main.c:150
start_quitting
void start_quitting(void)
Definition client_main.c:1644
default_tileset_select
int default_tileset_select(void)
Definition client_main.c:323
client_main.h
disconnect_from_server
void disconnect_from_server(bool leaving_sound)
Definition clinet.c:306
incite_cost
char * incite_cost
Definition comments.c:74
punit
struct unit struct city struct unit struct tile struct extra_type const struct act_prob *act_probs int actor_unit_id struct unit struct unit * punit
Definition dialogs_g.h:74
editgui_g.h
objtype
int objtype
Definition editgui_g.h:28
fc_client.h
is_option
bool is_option(const char *option_name, char *option)
Definition fc_cmdline.c:112
fc_cmdline.h
fciconv.h
fc_fprintf
void fc_fprintf(FILE *stream, const char *format,...) fc__attribute((__format__(__printf__
_
#define _(String)
Definition fcintl.h:67
configure_fonts
void configure_fonts()
Definition fonts.cpp:154
fonts.h
update_city_descriptions
void update_city_descriptions(void)
Definition mapview.c:488
current_page
static enum client_pages current_page
Definition pages.c:78
load_theme
static bool load_theme
Definition theme_dlg.c:30
gui_main.h
helpdlg.h
sprite.h
client_string
const char * client_string
Definition gui_main.cpp:69
option_var_set_callback
#define option_var_set_callback(var, callback)
qtg_ui_init
void qtg_ui_init()
Definition gui_main.cpp:92
qtg_editgui_popup_properties
void qtg_editgui_popup_properties(const struct tile_list *tiles, int objtype)
Definition gui_main.cpp:506
qtg_remove_net_input
void qtg_remove_net_input()
Definition gui_main.cpp:318
apply_notify_font
static void apply_notify_font(struct option *poption)
Definition gui_main.cpp:471
popup_quit_dialog
void popup_quit_dialog()
Definition gui_main.cpp:565
main
int main(int argc, char **argv)
Definition gui_main.cpp:98
qtg_options_extra_init
void qtg_options_extra_init()
Definition gui_main.cpp:237
qapp
static QApplication * qapp
Definition gui_main.cpp:71
print_usage
static void print_usage()
Definition gui_main.cpp:109
qtg_editgui_refresh
void qtg_editgui_refresh()
Definition gui_main.cpp:500
gui
class fc_client * gui()
Definition gui_main.cpp:84
city_font_update
void city_font_update()
Definition citydlg.cpp:3768
reset_unit_table
void reset_unit_table(void)
Definition gui_main.cpp:557
apply_fullscreen
static void apply_fullscreen(struct option *poption)
Definition gui_main.cpp:486
qtg_ui_main
int qtg_ui_main(int argc, char *argv[])
Definition gui_main.cpp:170
qtg_editgui_popdown_all
void qtg_editgui_popdown_all()
Definition gui_main.cpp:512
current_app
QApplication * current_app()
Definition gui_main.cpp:229
qtg_real_conn_list_dialog_update
void qtg_real_conn_list_dialog_update(void *unused)
Definition gui_main.cpp:283
freeciv_qt
static fc_client * freeciv_qt
Definition gui_main.cpp:70
apply_help_font
static void apply_help_font(struct option *poption)
Definition gui_main.cpp:450
qtg_editgui_tileset_changed
void qtg_editgui_tileset_changed()
Definition gui_main.cpp:494
qtg_editgui_notify_object_created
void qtg_editgui_notify_object_created(int tag, int id)
Definition gui_main.cpp:525
qtg_add_net_input
void qtg_add_net_input(int sock)
Definition gui_main.cpp:308
apply_titlebar
static void apply_titlebar(struct option *poption)
Definition gui_main.cpp:384
apply_sidebar
static void apply_sidebar(struct option *poption)
Definition gui_main.cpp:413
real_science_report_dialog_update
void real_science_report_dialog_update(void *)
Definition repodlgs.c:751
qtg_editgui_notify_object_changed
void qtg_editgui_notify_object_changed(int objtype, int object_id, bool removal)
Definition gui_main.cpp:518
qtg_gui_update_font
void qtg_gui_update_font(const char *font_name, const char *font_value)
Definition gui_main.cpp:531
qtg_set_unit_icon
void qtg_set_unit_icon(int idx, struct unit *punit)
Definition gui_main.cpp:334
qtg_ui_exit
void qtg_ui_exit()
Definition gui_main.cpp:273
qtg_real_focus_units_changed
void qtg_real_focus_units_changed(void)
Definition gui_main.cpp:356
qtg_insert_client_build_info
void qtg_insert_client_build_info(char *outbuf, size_t outlen)
Definition gui_main.cpp:587
qtg_set_unit_icons_more_arrow
void qtg_set_unit_icons_more_arrow(bool onoff)
Definition gui_main.cpp:346
gui_character_encoding
const char *const gui_character_encoding
Definition gui_main.cpp:68
qtg_add_idle_callback
void qtg_add_idle_callback(void(callback)(void *), void *data)
Definition gui_main.cpp:372
qtg_get_gui_type
enum gui_type qtg_get_gui_type()
Definition gui_main.cpp:549
migrate_options_from_2_5
static void migrate_options_from_2_5()
Definition gui_main.cpp:157
parse_options
static bool parse_options(int argc, char **argv)
Definition gui_main.cpp:134
restart_notify_dialogs
void restart_notify_dialogs()
Definition dialogs.cpp:4048
gui_use_transliteration
const bool gui_use_transliteration
Definition gui_main.cpp:67
apply_font
static void apply_font(struct option *poption)
Definition gui_main.cpp:421
qtg_sound_bell
void qtg_sound_bell()
Definition gui_main.cpp:295
font_name
const char * font_name
Definition gui_main_g.h:43
update_help_fonts
void update_help_fonts()
Definition helpdlg.cpp:113
hudwidget.h
log.h
log_normal
#define log_normal(message,...)
Definition log.h:107
fonts::default_font
const char *const default_font
Definition fonts.h:27
option_changed
void option_changed(struct option *poption)
Definition options.c:747
client_optset
const struct option_set * client_optset
Definition options.c:1279
option_name
const char * option_name(const struct option *poption)
Definition options.c:627
option_bool_get
bool option_bool_get(const struct option *poption)
Definition options.c:796
option_type
enum option_type option_type(const struct option *poption)
Definition options.c:657
gui_options
struct client_options gui_options
Definition options.c:71
option_font_get
const char * option_font_get(const struct option *poption)
Definition options.c:1140
options.h
options_iterate
#define options_iterate(poptset, poption)
Definition options.h:551
options_iterate_end
#define options_iterate_end
Definition options.h:556
qtg_real_set_client_page
void qtg_real_set_client_page(enum client_pages page)
Definition pages.cpp:103
qtg_get_current_client_page
enum client_pages qtg_get_current_client_page()
Definition pages.cpp:121
setup_gui_funcs
void setup_gui_funcs()
Definition qtg_cxxside.cpp:29
qtg_cxxside.h
qtg_gui_clear_theme
void qtg_gui_clear_theme()
Definition themes.cpp:104
shortcutreset
void shortcutreset()
Definition shortcuts.cpp:865
call_me_back
Definition mapview.h:53
call_me_back::callback
void(* callback)(void *data)
Definition mapview.h:54
call_me_back::data
void * data
Definition mapview.h:55
callback
Definition gui_main.c:2404
civclient::conn
struct connection conn
Definition client_main.h:96
client_options::gui_qt_fullscreen
bool gui_qt_fullscreen
Definition options.h:406
client_options::gui_qt_default_theme_name
char gui_qt_default_theme_name[512]
Definition options.h:410
client_options::gui_qt_svgflags
bool gui_qt_svgflags
Definition options.h:424
client_options::first_boot
bool first_boot
Definition options.h:128
client_options::gui_qt_migrated_from_2_5
bool gui_qt_migrated_from_2_5
Definition options.h:140
client_options::migrate_fullscreen
bool migrate_fullscreen
Definition options.h:145
client_options::gui_qt_default_fonts_set
bool gui_qt_default_fonts_set
Definition options.h:141
connection::used
bool used
Definition connection.h:139
option
Definition options.c:478
sprite::pm
QPixmap * pm
Definition sprite.h:25
tileset
Definition tilespec.c:481
unit
Definition unit.h:138
cat_snprintf
int cat_snprintf(char *str, size_t n, const char *format,...)
Definition support.c:1000
TRUE
#define TRUE
Definition support.h:46
FALSE
#define FALSE
Definition support.h:47
svg_flag_enable
bool svg_flag_enable(void)
Definition svgflag.c:39
svgflag.h
themes_common.h
tileset_load_tiles
void tileset_load_tiles(struct tileset *t)
Definition tilespec.c:3632
get_icon_sprite
struct sprite * get_icon_sprite(const struct tileset *t, enum icon_type icon)
Definition tilespec.c:6983
tileset_init
void tileset_init(struct tileset *t)
Definition tilespec.c:7130
tilespec.h
ICON_FREECIV
@ ICON_FREECIV
Definition tilespec.h:313