2005-03-17 21:26:01 +01:00
|
|
|
#include "finance.h"
|
2005-03-18 23:03:23 +01:00
|
|
|
#include "game_gui.h"
|
|
|
|
#include "main.h"
|
2004-12-23 13:58:39 +01:00
|
|
|
#include "misc2_callbacks.h"
|
2005-03-21 11:16:37 +01:00
|
|
|
#include "misc2_callback_func.h"
|
2004-12-23 13:58:39 +01:00
|
|
|
#include "misc2_interface.h"
|
2005-03-27 19:59:57 +02:00
|
|
|
#include "player.h"
|
2004-12-23 13:58:39 +01:00
|
|
|
#include "support.h"
|
2005-03-19 21:04:08 +01:00
|
|
|
#include "transfer.h"
|
2005-03-27 19:59:57 +02:00
|
|
|
#include "treeview.h"
|
2005-03-18 23:03:23 +01:00
|
|
|
#include "user.h"
|
2005-03-08 09:25:46 +01:00
|
|
|
#include "window.h"
|
2004-12-23 13:58:39 +01:00
|
|
|
|
|
|
|
|
|
|
|
gboolean
|
|
|
|
on_button_cancel_clicked (GtkWidget *widget,
|
|
|
|
GdkEvent *event,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
on_button_ok_clicked (GtkButton *button,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
on_button_offer_ok_clicked (GtkButton *button,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
2005-03-18 23:03:23 +01:00
|
|
|
user_change_team(¤t_user, (Team*)statp);
|
|
|
|
stat0 = STATUS_MAIN;
|
|
|
|
game_gui_show_main();
|
2004-12-23 13:58:39 +01:00
|
|
|
|
2005-03-18 23:03:23 +01:00
|
|
|
window_destroy(&window.job_offer, TRUE);
|
2004-12-23 13:58:39 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
on_button_offer_cancel_clicked (GtkButton *button,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
2005-03-18 23:03:23 +01:00
|
|
|
if(stat0 != STATUS_JOB_OFFER_SUCCESS)
|
|
|
|
{
|
|
|
|
if(users->len == 1)
|
|
|
|
main_exit_program(EXIT_USER_FIRED, NULL);
|
|
|
|
else
|
|
|
|
{
|
|
|
|
user_remove(cur_user, TRUE);
|
|
|
|
cur_user = 0;
|
|
|
|
}
|
|
|
|
}
|
2004-12-23 13:58:39 +01:00
|
|
|
|
2005-03-18 23:03:23 +01:00
|
|
|
window_destroy(&window.job_offer, TRUE);
|
|
|
|
stat0 = STATUS_MAIN;
|
|
|
|
game_gui_show_main();
|
2004-12-23 13:58:39 +01:00
|
|
|
}
|
|
|
|
|
2005-03-08 09:25:46 +01:00
|
|
|
|
|
|
|
gboolean
|
|
|
|
on_button_warning_clicked (GtkWidget *widget,
|
|
|
|
GdkEvent *event,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
window_destroy(&window.warning, FALSE);
|
|
|
|
|
2005-03-18 23:03:23 +01:00
|
|
|
if(stat0 == STATUS_SHOW_EVENT)
|
|
|
|
user_event_show_next();
|
|
|
|
|
2005-03-08 09:25:46 +01:00
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
2005-03-17 21:26:01 +01:00
|
|
|
|
|
|
|
void
|
|
|
|
on_button_digits_ok_clicked (GtkButton *button,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
GtkSpinButton *spinbutton1 = GTK_SPIN_BUTTON(lookup_widget(window.digits, "spinbutton1")),
|
|
|
|
*spinbutton2 = GTK_SPIN_BUTTON(lookup_widget(window.digits, "spinbutton2"));
|
|
|
|
gint values[2] =
|
|
|
|
{gtk_spin_button_get_value_as_int(spinbutton1),
|
|
|
|
gtk_spin_button_get_value_as_int(spinbutton2)};
|
2005-04-06 12:19:43 +02:00
|
|
|
gboolean destroy_window = TRUE;
|
2005-03-17 21:26:01 +01:00
|
|
|
|
2005-04-06 12:19:43 +02:00
|
|
|
switch(stat1)
|
2005-03-17 21:26:01 +01:00
|
|
|
{
|
|
|
|
case STATUS_GET_LOAN:
|
|
|
|
finance_get_loan(values[0]);
|
|
|
|
break;
|
|
|
|
case STATUS_PAY_LOAN:
|
|
|
|
finance_pay_loan(values[0]);
|
|
|
|
break;
|
2005-03-19 21:04:08 +01:00
|
|
|
case STATUS_SHOW_TRANSFER_LIST:
|
2005-04-06 12:19:43 +02:00
|
|
|
if(transfer_add_offer(stat2, current_user.tm, values[0], values[1]))
|
2005-03-19 21:04:08 +01:00
|
|
|
game_gui_print_message(_("Your offer has been updated."));
|
|
|
|
else
|
|
|
|
game_gui_print_message(_("Your offer will be considered next week."));
|
|
|
|
break;
|
2005-03-24 19:04:31 +01:00
|
|
|
case STATUS_CUSTOM_STRUCTURE:
|
2005-04-06 12:19:43 +02:00
|
|
|
destroy_window = misc2_callback_change_structure(values[1]);
|
2005-03-24 19:04:31 +01:00
|
|
|
break;
|
2005-03-17 21:26:01 +01:00
|
|
|
}
|
2005-03-18 23:03:23 +01:00
|
|
|
|
2005-04-06 12:19:43 +02:00
|
|
|
if(destroy_window)
|
|
|
|
window_destroy(&window.digits, TRUE);
|
2005-03-19 21:04:08 +01:00
|
|
|
|
2005-03-18 23:03:23 +01:00
|
|
|
game_gui_set_main_window_header();
|
2005-03-17 21:26:01 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
on_button_digits_cancel_clicked (GtkButton *button,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
window_destroy(&window.digits, TRUE);
|
|
|
|
}
|
2005-03-20 21:49:55 +01:00
|
|
|
|
|
|
|
gboolean
|
|
|
|
on_window_yesno_delete_event (GtkWidget *widget,
|
|
|
|
GdkEvent *event,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
2005-03-27 19:59:57 +02:00
|
|
|
on_button_yesno_no_clicked(NULL, NULL);
|
2005-03-20 21:49:55 +01:00
|
|
|
|
2005-03-27 19:59:57 +02:00
|
|
|
return FALSE;
|
2005-03-20 21:49:55 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
on_checkbutton_yesno_toggled (GtkToggleButton *togglebutton,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
on_button_yesno_yes_clicked (GtkButton *button,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
switch(stat0)
|
|
|
|
{
|
|
|
|
default:
|
|
|
|
g_warning("on_button_yesno_yes_clicked: unknown status %d\n", stat0);
|
|
|
|
break;
|
|
|
|
case STATUS_TRANSFER_OFFER:
|
2005-03-21 11:16:37 +01:00
|
|
|
misc2_callback_transfer_user_player();
|
2005-03-20 21:49:55 +01:00
|
|
|
break;
|
2005-03-27 19:59:57 +02:00
|
|
|
case STATUS_FIRE_PLAYER:
|
|
|
|
player_remove_from_team(current_user.tm, stat1);
|
|
|
|
current_user.money -= stat2;
|
|
|
|
current_user.money_out[1][MON_OUT_COMPENSATIONS] -= stat2;
|
|
|
|
treeview_show_user_player_list();
|
|
|
|
break;
|
|
|
|
case STATUS_USER_MANAGEMENT:
|
|
|
|
user_remove(stat1, TRUE);
|
|
|
|
treeview_show_users(GTK_TREE_VIEW(lookup_widget(window.user_management,
|
|
|
|
"treeview_user_management_users")));
|
|
|
|
treeview_show_team_list(GTK_TREE_VIEW(lookup_widget(window.user_management,
|
|
|
|
"treeview_user_management_teams")),
|
|
|
|
FALSE, FALSE);
|
|
|
|
break;
|
2005-03-20 21:49:55 +01:00
|
|
|
}
|
2005-03-27 19:59:57 +02:00
|
|
|
|
2005-03-20 21:49:55 +01:00
|
|
|
window_destroy(&window.yesno, TRUE);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
on_button_yesno_no_clicked (GtkButton *button,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
window_destroy(&window.yesno, TRUE);
|
|
|
|
}
|
|
|
|
|
2005-03-25 11:54:54 +01:00
|
|
|
|
|
|
|
void
|
|
|
|
on_button_contract_offer_clicked (GtkButton *button,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
2005-03-25 21:18:35 +01:00
|
|
|
misc2_callback_contract_offer();
|
|
|
|
}
|
2005-03-25 11:54:54 +01:00
|
|
|
|
2005-03-25 21:18:35 +01:00
|
|
|
gboolean
|
|
|
|
on_window_contract_delete_event (GtkWidget *widget,
|
|
|
|
GdkEvent *event,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
|
|
|
|
return TRUE;
|
2005-03-25 11:54:54 +01:00
|
|
|
}
|
2005-03-25 21:18:35 +01:00
|
|
|
|
2005-03-27 19:59:57 +02:00
|
|
|
|
|
|
|
void
|
|
|
|
on_entry_user_management_activate (GtkEntry *entry,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
on_button_user_management_add_clicked(NULL, NULL);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
on_button_user_management_add_clicked (GtkButton *button,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
misc2_callback_add_user();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
on_button_user_management_close_clicked
|
|
|
|
(GtkButton *button,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
window_destroy(&window.user_management, FALSE);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
gboolean
|
|
|
|
on_treeview_user_management_users_button_press_event
|
|
|
|
(GtkWidget *widget,
|
|
|
|
GdkEventButton *event,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
gchar buf[SMALL];
|
|
|
|
gint idx = -1;
|
|
|
|
|
|
|
|
if(!treeview_select_row(GTK_TREE_VIEW(widget), event))
|
|
|
|
return TRUE;
|
|
|
|
|
|
|
|
idx = treeview_get_index(GTK_TREE_VIEW(widget), 0) - 1;
|
|
|
|
|
|
|
|
if(users->len == 1)
|
|
|
|
{
|
|
|
|
game_gui_show_warning("You can't play Bygfoot with 0 users!");
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
stat1 = idx;
|
|
|
|
sprintf(buf, "Remove user %s from the game?", usr(idx).name->str);
|
|
|
|
window_show_yesno(buf, FALSE);
|
|
|
|
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
on_treeview_user_management_teams_row_activated
|
|
|
|
(GtkTreeView *treeview,
|
|
|
|
GtkTreePath *path,
|
|
|
|
GtkTreeViewColumn *column,
|
|
|
|
gpointer user_data)
|
|
|
|
{
|
|
|
|
on_button_user_management_add_clicked(NULL, NULL);
|
|
|
|
}
|