Freeciv-3.2
Loading...
Searching...
No Matches
Data Structures | Macros | Functions | Variables
mpgui_gtk4.c File Reference
#include <stdlib.h>
#include <gtk/gtk.h>
#include "fc_cmdline.h"
#include "fciconv.h"
#include "fcintl.h"
#include "log.h"
#include "mem.h"
#include "version.h"
#include "download.h"
#include "mpcmdline.h"
#include "mpdb.h"
#include "modinst.h"

Go to the source code of this file.

Data Structures

struct  msg_data
 
struct  pbar_data
 

Macros

#define ML_COL_NAME   0
 
#define ML_COL_VER   1
 
#define ML_COL_INST   2
 
#define ML_COL_TYPE   3
 
#define ML_COL_SUBTYPE   4
 
#define ML_COL_LIC   5
 
#define ML_COL_URL   6
 
#define ML_COL_COUNT   7
 
#define ML_TYPE   7
 
#define ML_NOTES   8
 
#define ML_STORE_SIZE   9
 

Functions

static gboolean quit_dialog_callback (void)
 
static void modinst_quit (void)
 
static void quit_dialog_response (GtkWidget *dialog, gint response)
 
static void quit_dialog_destroyed (GtkWidget *dialog, void *data)
 
static void msg_callback (const char *msg)
 
static void pbar_callback (int downloaded, int max)
 
static gboolean msg_main_thread (gpointer user_data)
 
static void msg_dl_thread (const char *msg)
 
static gboolean pbar_main_thread (gpointer user_data)
 
static void pbar_dl_thread (int current, int max)
 
static gboolean versionlist_update_main_thread (gpointer user_data)
 
static void versionlist_update_dl_thread (void)
 
static gpointer download_thread (gpointer data)
 
static void gui_download_modpack (const char *URL)
 
static void install_clicked (GtkWidget *w, gpointer data)
 
static void URL_return (GtkEntry *w, gpointer data)
 
static gboolean query_main_list_tooltip_cb (GtkWidget *widget, gint x, gint y, gboolean keyboard_tip, GtkTooltip *tooltip, gpointer data)
 
static void setup_modpack_list (const char *name, const char *URL, const char *version, const char *license, enum modpack_type type, const char *subtype, const char *notes)
 
static void select_from_list (GtkTreeSelection *select, gpointer data)
 
static void modinst_setup_widgets (void)
 
static void activate_gui (GtkApplication *app, gpointer data)
 
int main (int argc, char *argv[])
 

Variables

static GtkWidgettoplevel
 
static GtkWidgetstatusbar
 
static GtkWidgetprogressbar
 
static GtkWidgetmain_list
 
static GtkListStoremain_store
 
static GtkWidgetURL_input
 
static GtkWidgetquit_dialog
 
static gboolean downloading = FALSE
 
struct fcmp_params fcmp
 
static GtkApplicationfcmp_app
 

Macro Definition Documentation

◆ ML_COL_COUNT

#define ML_COL_COUNT   7

Definition at line 66 of file mpgui_gtk4.c.

◆ ML_COL_INST

#define ML_COL_INST   2

Definition at line 60 of file mpgui_gtk4.c.

◆ ML_COL_LIC

#define ML_COL_LIC   5

Definition at line 63 of file mpgui_gtk4.c.

◆ ML_COL_NAME

#define ML_COL_NAME   0

Definition at line 58 of file mpgui_gtk4.c.

◆ ML_COL_SUBTYPE

#define ML_COL_SUBTYPE   4

Definition at line 62 of file mpgui_gtk4.c.

◆ ML_COL_TYPE

#define ML_COL_TYPE   3

Definition at line 61 of file mpgui_gtk4.c.

◆ ML_COL_URL

#define ML_COL_URL   6

Definition at line 64 of file mpgui_gtk4.c.

◆ ML_COL_VER

#define ML_COL_VER   1

Definition at line 59 of file mpgui_gtk4.c.

◆ ML_NOTES

#define ML_NOTES   8

Definition at line 69 of file mpgui_gtk4.c.

◆ ML_STORE_SIZE

#define ML_STORE_SIZE   9

Definition at line 70 of file mpgui_gtk4.c.

◆ ML_TYPE

#define ML_TYPE   7

Definition at line 68 of file mpgui_gtk4.c.

Function Documentation

◆ activate_gui()

static void activate_gui ( GtkApplication app,
gpointer  data 
)
static

Run the gui

Definition at line 571 of file mpgui_gtk4.c.

Referenced by main().

◆ download_thread()

static gpointer download_thread ( gpointer  data)
static

Entry point for downloader thread

Definition at line 267 of file mpgui_gtk4.c.

Referenced by gui_download_modpack().

◆ gui_download_modpack()

static void gui_download_modpack ( const char URL)
static

Download modpack, display error message dialogs

Definition at line 291 of file mpgui_gtk4.c.

Referenced by activate_gui(), install_clicked(), and URL_return().

◆ install_clicked()

static void install_clicked ( GtkWidget w,
gpointer  data 
)
static

Install modpack button clicked

Definition at line 321 of file mpgui_gtk4.c.

Referenced by modinst_setup_widgets().

◆ main()

int main ( int  argc,
char argv[] 
)

Entry point of the freeciv-modpack program

Definition at line 611 of file mpgui_gtk4.c.

◆ modinst_quit()

static void modinst_quit ( void  )
static

freeciv-modpack quit

Definition at line 75 of file mpgui_gtk4.c.

Referenced by quit_dialog_callback(), and quit_dialog_response().

◆ modinst_setup_widgets()

static void modinst_setup_widgets ( void  )
static

Build widgets

Definition at line 444 of file mpgui_gtk4.c.

Referenced by activate_gui(), and main().

◆ msg_callback()

static void msg_callback ( const char msg)
static

Progress indications from downloader

Definition at line 139 of file mpgui_gtk4.c.

Referenced by modinst_setup_widgets(), and msg_main_thread().

◆ msg_dl_thread()

static void msg_dl_thread ( const char msg)
static

Downloader thread message callback.

Definition at line 178 of file mpgui_gtk4.c.

Referenced by download_thread().

◆ msg_main_thread()

static gboolean msg_main_thread ( gpointer  user_data)
static

Main thread handling of message sent from downloader thread.

Definition at line 163 of file mpgui_gtk4.c.

Referenced by msg_dl_thread().

◆ pbar_callback()

static void pbar_callback ( int  downloaded,
int  max 
)
static

Progress indications from downloader

Definition at line 148 of file mpgui_gtk4.c.

Referenced by pbar_main_thread().

◆ pbar_dl_thread()

static void pbar_dl_thread ( int  current,
int  max 
)
static

Downloader thread progress bar callback.

Definition at line 209 of file mpgui_gtk4.c.

Referenced by download_thread().

◆ pbar_main_thread()

static gboolean pbar_main_thread ( gpointer  user_data)
static

Main thread handling of progressbar update sent from downloader thread.

Definition at line 195 of file mpgui_gtk4.c.

Referenced by pbar_dl_thread().

◆ query_main_list_tooltip_cb()

static gboolean query_main_list_tooltip_cb ( GtkWidget widget,
gint  x,
gint  y,
gboolean  keyboard_tip,
GtkTooltip tooltip,
gpointer  data 
)
static

Callback for getting main list row tooltip

Definition at line 345 of file mpgui_gtk4.c.

Referenced by modinst_setup_widgets().

◆ quit_dialog_callback()

static gboolean quit_dialog_callback ( void  )
static

Popups the quit dialog if download in progress

Definition at line 103 of file mpgui_gtk4.c.

Referenced by activate_gui().

◆ quit_dialog_destroyed()

static void quit_dialog_destroyed ( GtkWidget dialog,
void data 
)
static

Quit dialog has been destroyed

Definition at line 95 of file mpgui_gtk4.c.

Referenced by quit_dialog_callback().

◆ quit_dialog_response()

static void quit_dialog_response ( GtkWidget dialog,
gint  response 
)
static

This is the response callback for the dialog with the message: Are you sure you want to quit?

Definition at line 84 of file mpgui_gtk4.c.

Referenced by quit_dialog_callback().

◆ select_from_list()

static void select_from_list ( GtkTreeSelection select,
gpointer  data 
)
static

Callback called when entry from main modpack list selected

Definition at line 424 of file mpgui_gtk4.c.

Referenced by modinst_setup_widgets().

◆ setup_modpack_list()

static void setup_modpack_list ( const char name,
const char URL,
const char version,
const char license,
enum modpack_type  type,
const char subtype,
const char notes 
)
static

Build main modpack list view

Definition at line 378 of file mpgui_gtk4.c.

Referenced by modinst_setup_widgets().

◆ URL_return()

static void URL_return ( GtkEntry w,
gpointer  data 
)
static

URL entered

Definition at line 333 of file mpgui_gtk4.c.

Referenced by modinst_setup_widgets().

◆ versionlist_update_dl_thread()

static void versionlist_update_dl_thread ( void  )
static

Downloader thread requests versionlist update.

Definition at line 259 of file mpgui_gtk4.c.

Referenced by download_thread().

◆ versionlist_update_main_thread()

static gboolean versionlist_update_main_thread ( gpointer  user_data)
static

Main thread handling of versionlist update requested by downloader thread

Definition at line 222 of file mpgui_gtk4.c.

Referenced by versionlist_update_dl_thread().

Variable Documentation

◆ downloading

gboolean downloading = FALSE
static

Definition at line 46 of file mpgui_gtk4.c.

Referenced by download_thread(), gui_download_modpack(), and quit_dialog_callback().

◆ fcmp

Initial value:
= {
.list_url = MODPACK_LIST_URL,
.inst_prefix = NULL,
.autoinstall = NULL
}
char * incite_cost
Definition comments.c:75
#define MODPACK_LIST_URL
Definition modinst.h:30

Definition at line 48 of file mpgui_gtk4.c.

Referenced by activate_gui(), download_thread(), main(), and modinst_setup_widgets().

◆ fcmp_app

GtkApplication* fcmp_app
static

Definition at line 54 of file mpgui_gtk4.c.

Referenced by main(), and modinst_quit().

◆ main_list

GtkWidget* main_list
static

Definition at line 42 of file mpgui_gtk4.c.

Referenced by modinst_setup_widgets().

◆ main_store

GtkListStore* main_store
static

◆ progressbar

GtkWidget* progressbar
static

Definition at line 41 of file mpgui_gtk4.c.

Referenced by modinst_setup_widgets(), and pbar_callback().

◆ quit_dialog

GtkWidget* quit_dialog
static

Definition at line 45 of file mpgui_gtk4.c.

Referenced by activate_gui(), quit_dialog_callback(), and quit_dialog_destroyed().

◆ statusbar

GtkWidget* statusbar
static

Definition at line 40 of file mpgui_gtk4.c.

Referenced by gui_download_modpack(), modinst_setup_widgets(), and msg_callback().

◆ toplevel

GtkWidget* toplevel
static

Definition at line 39 of file mpgui_gtk4.c.

Referenced by activate_gui(), modinst_setup_widgets(), and quit_dialog_callback().

◆ URL_input

GtkWidget* URL_input
static

Definition at line 44 of file mpgui_gtk4.c.

Referenced by modinst_setup_widgets(), and select_from_list().