Automatic loan repayment.

This commit is contained in:
gyboth 2008-11-09 09:36:55 +00:00
parent bbe46fb8ad
commit d9990117f4
5 changed files with 203 additions and 91 deletions

View File

@ -1012,6 +1012,81 @@
<property name="homogeneous">False</property>
<property name="spacing">7</property>
<child>
<widget class="GtkHBox" id="hbox17">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">3</property>
<child>
<widget class="GtkLabel" id="label26">
<property name="visible">True</property>
<property name="label" translatable="yes">Your debt:</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label_alr_debt">
<property name="visible">True</property>
<property name="label" translatable="yes"></property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkHSeparator" id="hseparator7">
<property name="height_request">10</property>
<property name="visible">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label22">
<property name="visible">True</property>

View File

@ -153,7 +153,7 @@ finance_update_user_weekly(User *user)
if(user->counters[COUNT_USER_LOAN] > -1)
user->counters[COUNT_USER_LOAN]--;
if(user->counters[COUNT_USER_LOAN] == 0 && debug < 50 && user->alr_start_week == 0)
if(user->counters[COUNT_USER_LOAN] == 0 && debug < 50)
user_event_add(user, EVENT_TYPE_WARNING, -1, -1, NULL,
_("You have to pay back your loan this week."));

View File

@ -142,6 +142,8 @@ on_button_digits_ok_clicked (GtkButton *button,
case STATUS_PAY_LOAN:
finance_pay_loan(&current_user, values[0]);
on_menu_show_finances_activate(NULL, NULL);
if(current_user.debt != 0 && current_user.alr_start_week != 0)
window_show_yesno(_("Adjust repayment schedule?"));
break;
case STATUS_SHOW_TRANSFER_LIST:
if(transfer_add_offer(stat2, current_user.tm, values[0], values[1]))
@ -212,6 +214,9 @@ on_button_yesno_yes_clicked (GtkButton *button,
default:
g_warning("on_button_yesno_yes_clicked: unknown status %d\n", stat1);
break;
case STATUS_PAY_LOAN:
on_automatic_loan_repayment_activate(NULL, NULL);
break;
case STATUS_FIRE_PLAYER:
player_remove_from_team(current_user.tm, stat2);
current_user.money -= stat3;
@ -310,7 +315,7 @@ on_button_user_management_add_clicked (GtkButton *button,
void
on_button_user_management_close_clicked
(GtkButton *button,
(GtkButton *button,
gpointer user_data)
{
window_destroy(&window.user_management);
@ -320,7 +325,7 @@ on_button_user_management_close_clicked
gboolean
on_treeview_user_management_users_button_press_event
(GtkWidget *widget,
(GtkWidget *widget,
GdkEventButton *event,
gpointer user_data)
{
@ -347,7 +352,7 @@ on_treeview_user_management_users_button_press_event
void
on_treeview_user_management_teams_row_activated
(GtkTreeView *treeview,
(GtkTreeView *treeview,
GtkTreePath *path,
GtkTreeViewColumn *column,
gpointer user_data)

View File

@ -502,6 +502,10 @@ create_window_alr (void)
{
GtkWidget *window_alr;
GtkWidget *vbox5;
GtkWidget *hbox17;
GtkWidget *label26;
GtkWidget *label_alr_debt;
GtkWidget *hseparator7;
GtkWidget *label22;
GtkWidget *table2;
GtkWidget *label23;
@ -544,6 +548,23 @@ create_window_alr (void)
gtk_container_add (GTK_CONTAINER (window_alr), vbox5);
gtk_container_set_border_width (GTK_CONTAINER (vbox5), 5);
hbox17 = gtk_hbox_new (FALSE, 3);
gtk_widget_show (hbox17);
gtk_box_pack_start (GTK_BOX (vbox5), hbox17, FALSE, FALSE, 0);
label26 = gtk_label_new (_("Your debt:"));
gtk_widget_show (label26);
gtk_box_pack_start (GTK_BOX (hbox17), label26, FALSE, FALSE, 0);
label_alr_debt = gtk_label_new ("");
gtk_widget_show (label_alr_debt);
gtk_box_pack_start (GTK_BOX (hbox17), label_alr_debt, FALSE, FALSE, 0);
hseparator7 = gtk_hseparator_new ();
gtk_widget_show (hseparator7);
gtk_box_pack_start (GTK_BOX (vbox5), hseparator7, FALSE, FALSE, 0);
gtk_widget_set_size_request (hseparator7, -1, 10);
label22 = gtk_label_new (_("Current settings:"));
gtk_widget_show (label22);
gtk_box_pack_start (GTK_BOX (vbox5), label22, FALSE, FALSE, 0);
@ -712,6 +733,10 @@ create_window_alr (void)
/* Store pointers to all widgets, for use by lookup_widget(). */
GLADE_HOOKUP_OBJECT_NO_REF (window_alr, window_alr, "window_alr");
GLADE_HOOKUP_OBJECT (window_alr, vbox5, "vbox5");
GLADE_HOOKUP_OBJECT (window_alr, hbox17, "hbox17");
GLADE_HOOKUP_OBJECT (window_alr, label26, "label26");
GLADE_HOOKUP_OBJECT (window_alr, label_alr_debt, "label_alr_debt");
GLADE_HOOKUP_OBJECT (window_alr, hseparator7, "hseparator7");
GLADE_HOOKUP_OBJECT (window_alr, label22, "label22");
GLADE_HOOKUP_OBJECT (window_alr, table2, "table2");
GLADE_HOOKUP_OBJECT (window_alr, label23, "label23");

View File

@ -1018,12 +1018,19 @@ window_show_training_camp(void)
void
window_show_alr(void)
{
gchar weekly_installment[SMALL],
debt[SMALL];
window_create(WINDOW_ALR);
misc_print_grouped_int(current_user.alr_weekly_installment, weekly_installment);
misc_print_grouped_int(-current_user.debt, debt);
gui_label_set_text_from_int(GTK_LABEL(lookup_widget(window.alr, "label_current_start_week")),
current_user.alr_start_week, FALSE);
gui_label_set_text_from_int(GTK_LABEL(lookup_widget(window.alr, "label_current_weekly_installment")),
current_user.alr_weekly_installment, FALSE);
gtk_label_set_text(GTK_LABEL(lookup_widget(window.alr, "label_current_weekly_installment")), weekly_installment);
gtk_label_set_text(GTK_LABEL(lookup_widget(window.alr, "label_alr_debt")), debt);
gtk_spin_button_set_range(GTK_SPIN_BUTTON(lookup_widget(window.alr, "spinbutton_start_week")),
week + 1, MIN(week + current_user.counters[COUNT_USER_LOAN], fixture_get_last_scheduled_week()));
gtk_spin_button_set_range(GTK_SPIN_BUTTON(lookup_widget(window.alr, "spinbutton_weekly_installment")),