diff --git a/bygfoot_misc2.glade b/bygfoot_misc2.glade
index 1ab81356..48cd32ff 100644
--- a/bygfoot_misc2.glade
+++ b/bygfoot_misc2.glade
@@ -20,7 +20,6 @@
GDK_WINDOW_TYPE_HINT_NORMAL
GDK_GRAVITY_NORTH_WEST
True
- False
@@ -718,7 +717,6 @@
GDK_WINDOW_TYPE_HINT_SPLASHSCREEN
GDK_GRAVITY_NORTH_WEST
True
- False
@@ -776,7 +774,6 @@
GDK_WINDOW_TYPE_HINT_NORMAL
GDK_GRAVITY_NORTH_WEST
True
- False
@@ -863,7 +860,6 @@
GDK_WINDOW_TYPE_HINT_NORMAL
GDK_GRAVITY_NORTH_WEST
True
- False
@@ -1027,7 +1023,19 @@
-
+
+ 10
+ True
+
+
+ 0
+ False
+ False
+
+
+
+
+
True
False
3
@@ -1044,8 +1052,86 @@
0
- True
- True
+ False
+ False
+
+
+
+
+
+ True
+ GTK_RELIEF_NORMAL
+ True
+
+
+
+
+ True
+ 0.5
+ 0.5
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ True
+ False
+ 2
+
+
+
+ True
+ gtk-jump-to
+ 4
+ 0.5
+ 0.5
+ 0
+ 0
+
+
+ 0
+ False
+ False
+
+
+
+
+
+ True
+ Confirm & schedule repayment
+ True
+ False
+ GTK_JUSTIFY_LEFT
+ False
+ False
+ 0.5
+ 0.5
+ 0
+ 0
+ PANGO_ELLIPSIZE_NONE
+ -1
+ False
+ 0
+
+
+ 0
+ False
+ False
+
+
+
+
+
+
+
+
+ 0
+ False
+ False
@@ -1063,15 +1149,15 @@
0
- True
- True
+ False
+ False
0
- False
- True
+ True
+ False
@@ -1093,7 +1179,6 @@
GDK_WINDOW_TYPE_HINT_NORMAL
GDK_GRAVITY_NORTH_WEST
True
- False
@@ -1211,7 +1296,6 @@
GDK_WINDOW_TYPE_HINT_NORMAL
GDK_GRAVITY_NORTH_WEST
True
- False
@@ -1595,7 +1679,6 @@
GDK_WINDOW_TYPE_HINT_NORMAL
GDK_GRAVITY_NORTH_WEST
True
- False
@@ -1934,7 +2017,6 @@
GDK_WINDOW_TYPE_HINT_NORMAL
GDK_GRAVITY_NORTH_WEST
True
- False
@@ -2056,7 +2138,6 @@
GDK_WINDOW_TYPE_HINT_NORMAL
GDK_GRAVITY_NORTH_WEST
True
- False
@@ -2351,7 +2432,6 @@
GDK_WINDOW_TYPE_HINT_NORMAL
GDK_GRAVITY_NORTH_WEST
True
- False
@@ -2552,7 +2632,6 @@
GDK_WINDOW_TYPE_HINT_NORMAL
GDK_GRAVITY_NORTH_WEST
True
- False
diff --git a/bygfoot_misc3.glade b/bygfoot_misc3.glade
index b203034c..06361ed2 100644
--- a/bygfoot_misc3.glade
+++ b/bygfoot_misc3.glade
@@ -1208,8 +1208,8 @@
2
3
False
- 2
- 2
+ 5
+ 10
diff --git a/src/callback_func.c b/src/callback_func.c
index 694e7bd7..87577ed7 100644
--- a/src/callback_func.c
+++ b/src/callback_func.c
@@ -332,7 +332,7 @@ callback_get_loan(void)
misc_print_grouped_int(max_loan, buf2);
sprintf(buf, _("You can take out at most %s."), buf2);
- window_show_digits(buf, _("Loan"), max_loan, NULL, 0);
+ window_show_digits(buf, _("Loan"), max_loan, NULL, 0, TRUE);
}
/** Open the digits window to pay back a loan. */
@@ -358,7 +358,7 @@ callback_pay_loan(void)
misc_print_grouped_int(max_payback, buf2);
sprintf(buf, _("You can pay back at most %s"), buf2);
- window_show_digits(buf, _("Payback"), max_payback, NULL, 0);
+ window_show_digits(buf, _("Payback"), max_payback, NULL, 0, FALSE);
}
/** Manage a click on a player of the current team on the
@@ -494,14 +494,14 @@ callback_transfer_list_clicked(gint button, gint idx)
player_of_id_team(tr->tm, tr->id)->name);
window_show_digits(buf, _("Fee"), tr->fee[current_user.scout % 10],
- _("Wage"), tr->wage[current_user.scout % 10]);
+ _("Wage"), tr->wage[current_user.scout % 10], FALSE);
}
else
{
sprintf(buf, _("You are making an offer for %s again. Your previous values for fee and wage are preset."),
player_of_id_team(tr->tm, tr->id)->name);
- window_show_digits(buf, _("Fee"), old_fee, _("Wage"), old_wage);
+ window_show_digits(buf, _("Fee"), old_fee, _("Wage"), old_wage, FALSE);
}
}
diff --git a/src/callbacks.c b/src/callbacks.c
index ceb0c4a0..ccf5cb73 100644
--- a/src/callbacks.c
+++ b/src/callbacks.c
@@ -749,7 +749,7 @@ on_menu_custom_structure_activate (GtkMenuItem *menuitem,
{
stat1 = STATUS_CUSTOM_STRUCTURE;
window_show_digits(_("Enter a structure. The digits must sum up to 10."),
- NULL, -1, _("Structure"), current_user.tm->structure);
+ NULL, -1, _("Structure"), current_user.tm->structure, FALSE);
}
@@ -1152,7 +1152,7 @@ on_menu_set_investment_activate (GtkMenuItem *menuitem,
stat1 = STATUS_SET_YA_PERCENTAGE;
window_show_digits(
_("Set the percentage of your income you want to devote to your youth academy."),
- NULL, -1, "%", current_user.youth_academy.percentage);
+ NULL, -1, "%", current_user.youth_academy.percentage, FALSE);
}
void
diff --git a/src/finance.c b/src/finance.c
index a5a76c39..d251c732 100644
--- a/src/finance.c
+++ b/src/finance.c
@@ -124,6 +124,16 @@ finance_update_user_weekly(User *user)
user->debt = (gint)rint((gfloat)user->debt * (1 + user->debt_interest));
+ if(user->alr_start_week != 0 && week >= user->alr_start_week)
+ {
+ finance_pay_loan(user, user->alr_weekly_installment);
+ if(user->debt == 0)
+ {
+ user->alr_start_week =
+ user->alr_weekly_installment = 0;
+ }
+ }
+
if(user->money < -finance_team_drawing_credit_loan(user->tm, FALSE) &&
user->counters[COUNT_USER_POSITIVE] == -1 && debug < 50)
{
@@ -143,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)
+ if(user->counters[COUNT_USER_LOAN] == 0 && debug < 50 && user->alr_start_week == 0)
user_event_add(user, EVENT_TYPE_WARNING, -1, -1, NULL,
_("You have to pay back your loan this week."));
@@ -226,42 +236,38 @@ finance_get_loan(gint value)
game_gui_print_message(_("You have %d weeks to pay back your loan."),
current_user.counters[COUNT_USER_LOAN]);
-
- on_menu_show_finances_activate(NULL, NULL);
}
-/** Pay back some loan for the current user.
+/** Pay back some loan for the specified user.
@param value The amount of money paid back. */
void
-finance_pay_loan(gint value)
+finance_pay_loan(User *user, gint value)
{
- gint add = (gint)rint((gfloat)value / (gfloat)(-current_user.debt) *
- (gfloat)const_int("int_finance_payback_weeks"));
+ gint add = (gint)rint((gfloat)value / (gfloat)(-user->debt) *
+ (gfloat)const_int("int_finance_payback_weeks"));
- if(value > -current_user.debt)
- value = -current_user.debt;
+ if(value > -user->debt)
+ value = -user->debt;
- current_user.money -= value;
- current_user.debt += value;
+ user->money -= value;
+ user->debt += value;
- if(current_user.debt == 0)
+ if(user->debt == 0)
{
- current_user.counters[COUNT_USER_LOAN] = -1;
- current_user.alr_start_week = 0;
- current_user.alr_weekly_installment = 0;
+ user->counters[COUNT_USER_LOAN] = -1;
+ user->alr_start_week = 0;
+ user->alr_weekly_installment = 0;
game_gui_print_message(_("You are free from debt."));
}
else
{
- current_user.counters[COUNT_USER_LOAN] =
- MIN(current_user.counters[COUNT_USER_LOAN] + add,
+ user->counters[COUNT_USER_LOAN] =
+ MIN(user->counters[COUNT_USER_LOAN] + add,
const_int("int_finance_payback_weeks"));
game_gui_print_message(_("You have %d weeks to pay back the rest of your loan."),
- current_user.counters[COUNT_USER_LOAN]);
+ user->counters[COUNT_USER_LOAN]);
}
-
- on_menu_show_finances_activate(NULL, NULL);
}
/** Return the cost of a stadium improvement.
@@ -396,21 +402,21 @@ finance_update_current_interest(void)
gint
finance_calculate_alr_weekly_installment(gint start_week)
{
- gfloat debt_start;
+ gfloat debt_end;
gfloat interest_factor;
+ gfloat max_start_week;
gfloat installment;
gint weekly_installment;
- debt_start = current_user.debt * powf(1 + current_user.debt_interest, (gfloat)(start_week - week));
- interest_factor = 1 /
- powf(1 + current_user.debt_interest, (gfloat)(const_int("int_finance_payback_weeks") - start_week + week + 1)) /
+ max_start_week = MIN(week + current_user.counters[COUNT_USER_LOAN], fixture_get_last_scheduled_week());
+ debt_end = current_user.debt * powf(1 + current_user.debt_interest, max_start_week - 1);
+ interest_factor =
+ (powf(1 + current_user.debt_interest, (gfloat)(max_start_week - start_week + 1)) - 1) /
current_user.debt_interest;
- installment = -debt_start / (1 / current_user.debt_interest - interest_factor + 1);
+ installment = -debt_end / interest_factor;
weekly_installment = (gint)rint(installment);
- printf("start %.2f intfac %.2f inst %.2f winst %d\n", debt_start, interest_factor, installment, weekly_installment);
-
return (weekly_installment > installment) ? weekly_installment : weekly_installment + 1;
}
@@ -423,14 +429,16 @@ finance_calculate_alr_start_week(gint weekly_installment)
gint start_week;
gint installment;
- upper = MIN(week + current_user.counters[COUNT_USER_LOAN] - 1, fixture_get_last_scheduled_week());
+ upper = MIN(week + current_user.counters[COUNT_USER_LOAN], fixture_get_last_scheduled_week());
for(start_week = week + 1; start_week <= upper; start_week++)
{
installment = finance_calculate_alr_weekly_installment(start_week);
if(installment > weekly_installment)
return start_week - 1;
+ else if(installment == weekly_installment)
+ return start_week;
}
- return start_week - 1;
+ return start_week;
}
diff --git a/src/finance.h b/src/finance.h
index de967357..3fc0bd21 100644
--- a/src/finance.h
+++ b/src/finance.h
@@ -42,7 +42,7 @@ gint
finance_team_drawing_credit_loan(const Team *tm, gboolean loan);
void
-finance_pay_loan(gint value);
+finance_pay_loan(User *user, gint value);
void
finance_get_loan(gint value);
diff --git a/src/misc2_callbacks.c b/src/misc2_callbacks.c
index 89f09351..8a29509f 100644
--- a/src/misc2_callbacks.c
+++ b/src/misc2_callbacks.c
@@ -137,9 +137,11 @@ on_button_digits_ok_clicked (GtkButton *button,
{
case STATUS_GET_LOAN:
finance_get_loan(values[0]);
+ on_menu_show_finances_activate(NULL, NULL);
break;
case STATUS_PAY_LOAN:
- finance_pay_loan(values[0]);
+ finance_pay_loan(¤t_user, values[0]);
+ on_menu_show_finances_activate(NULL, NULL);
break;
case STATUS_SHOW_TRANSFER_LIST:
if(transfer_add_offer(stat2, current_user.tm, values[0], values[1]))
@@ -170,6 +172,14 @@ on_button_digits_ok_clicked (GtkButton *button,
}
+void
+on_button_digits_alr_clicked (GtkButton *button,
+ gpointer user_data)
+{
+ on_button_digits_ok_clicked(NULL, NULL);
+ on_automatic_loan_repayment_activate(NULL, NULL);
+}
+
void
on_button_digits_cancel_clicked (GtkButton *button,
gpointer user_data)
@@ -618,3 +628,4 @@ on_button_mm_import_clicked (GtkButton *button,
window_show_file_sel();
}
+
diff --git a/src/misc2_callbacks.h b/src/misc2_callbacks.h
index 5babb3bc..e8f260c8 100644
--- a/src/misc2_callbacks.h
+++ b/src/misc2_callbacks.h
@@ -204,4 +204,8 @@ on_button_mm_reload_close_clicked (GtkButton *button,
void
on_button_mm_import_clicked (GtkButton *button,
gpointer user_data);
+
+void
+on_button_digits_alr_clicked (GtkButton *button,
+ gpointer user_data);
#endif
diff --git a/src/misc2_interface.c b/src/misc2_interface.c
index 6e3aab2f..8639acd8 100644
--- a/src/misc2_interface.c
+++ b/src/misc2_interface.c
@@ -381,8 +381,14 @@ create_window_digits (void)
GtkWidget *label_2;
GtkObject *spinbutton2_adj;
GtkWidget *spinbutton2;
- GtkWidget *hbox16;
+ GtkWidget *hseparator10;
+ GtkWidget *vbox29;
GtkWidget *button_digits_ok;
+ GtkWidget *button_digits_alr;
+ GtkWidget *alignment16;
+ GtkWidget *hbox38;
+ GtkWidget *image23;
+ GtkWidget *label63;
GtkWidget *button_digits_cancel;
GtkAccelGroup *accel_group;
GtkTooltips *tooltips;
@@ -437,17 +443,41 @@ create_window_digits (void)
gtk_box_pack_start (GTK_BOX (vbox16), spinbutton2, FALSE, FALSE, 0);
gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton2), TRUE);
- hbox16 = gtk_hbox_new (FALSE, 3);
- gtk_widget_show (hbox16);
- gtk_box_pack_start (GTK_BOX (vbox14), hbox16, FALSE, TRUE, 0);
+ hseparator10 = gtk_hseparator_new ();
+ gtk_widget_show (hseparator10);
+ gtk_box_pack_start (GTK_BOX (vbox14), hseparator10, FALSE, FALSE, 0);
+ gtk_widget_set_size_request (hseparator10, -1, 10);
+
+ vbox29 = gtk_vbox_new (FALSE, 3);
+ gtk_widget_show (vbox29);
+ gtk_box_pack_start (GTK_BOX (vbox14), vbox29, TRUE, FALSE, 0);
button_digits_ok = gtk_button_new_from_stock ("gtk-ok");
gtk_widget_show (button_digits_ok);
- gtk_box_pack_start (GTK_BOX (hbox16), button_digits_ok, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox29), button_digits_ok, FALSE, FALSE, 0);
+
+ button_digits_alr = gtk_button_new ();
+ gtk_box_pack_start (GTK_BOX (vbox29), button_digits_alr, FALSE, FALSE, 0);
+
+ alignment16 = gtk_alignment_new (0.5, 0.5, 0, 0);
+ gtk_widget_show (alignment16);
+ gtk_container_add (GTK_CONTAINER (button_digits_alr), alignment16);
+
+ hbox38 = gtk_hbox_new (FALSE, 2);
+ gtk_widget_show (hbox38);
+ gtk_container_add (GTK_CONTAINER (alignment16), hbox38);
+
+ image23 = gtk_image_new_from_stock ("gtk-jump-to", GTK_ICON_SIZE_BUTTON);
+ gtk_widget_show (image23);
+ gtk_box_pack_start (GTK_BOX (hbox38), image23, FALSE, FALSE, 0);
+
+ label63 = gtk_label_new_with_mnemonic (_("Confirm & schedule repayment"));
+ gtk_widget_show (label63);
+ gtk_box_pack_start (GTK_BOX (hbox38), label63, FALSE, FALSE, 0);
button_digits_cancel = gtk_button_new_from_stock ("gtk-cancel");
gtk_widget_show (button_digits_cancel);
- gtk_box_pack_start (GTK_BOX (hbox16), button_digits_cancel, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox29), button_digits_cancel, FALSE, FALSE, 0);
gtk_tooltips_set_tip (tooltips, button_digits_cancel, _("Esc"), NULL);
gtk_widget_add_accelerator (button_digits_cancel, "clicked", accel_group,
GDK_Escape, (GdkModifierType) 0,
@@ -465,6 +495,9 @@ create_window_digits (void)
g_signal_connect ((gpointer) button_digits_ok, "clicked",
G_CALLBACK (on_button_digits_ok_clicked),
NULL);
+ g_signal_connect ((gpointer) button_digits_alr, "clicked",
+ G_CALLBACK (on_button_digits_alr_clicked),
+ NULL);
g_signal_connect ((gpointer) button_digits_cancel, "clicked",
G_CALLBACK (on_button_digits_cancel_clicked),
NULL);
@@ -480,8 +513,14 @@ create_window_digits (void)
GLADE_HOOKUP_OBJECT (window_digits, vbox16, "vbox16");
GLADE_HOOKUP_OBJECT (window_digits, label_2, "label_2");
GLADE_HOOKUP_OBJECT (window_digits, spinbutton2, "spinbutton2");
- GLADE_HOOKUP_OBJECT (window_digits, hbox16, "hbox16");
+ GLADE_HOOKUP_OBJECT (window_digits, hseparator10, "hseparator10");
+ GLADE_HOOKUP_OBJECT (window_digits, vbox29, "vbox29");
GLADE_HOOKUP_OBJECT (window_digits, button_digits_ok, "button_digits_ok");
+ GLADE_HOOKUP_OBJECT (window_digits, button_digits_alr, "button_digits_alr");
+ GLADE_HOOKUP_OBJECT (window_digits, alignment16, "alignment16");
+ GLADE_HOOKUP_OBJECT (window_digits, hbox38, "hbox38");
+ GLADE_HOOKUP_OBJECT (window_digits, image23, "image23");
+ GLADE_HOOKUP_OBJECT (window_digits, label63, "label63");
GLADE_HOOKUP_OBJECT (window_digits, button_digits_cancel, "button_digits_cancel");
GLADE_HOOKUP_OBJECT_NO_REF (window_digits, tooltips, "tooltips");
diff --git a/src/misc3_callbacks.c b/src/misc3_callbacks.c
index 26054601..3a602ffd 100644
--- a/src/misc3_callbacks.c
+++ b/src/misc3_callbacks.c
@@ -24,8 +24,10 @@
*/
#include "bet.h"
+#include "callbacks.h"
#include "finance.h"
#include "fixture.h"
+#include "game_gui.h"
#include "gui.h"
#include "main.h"
#include "misc_callback_func.h"
@@ -137,7 +139,7 @@ on_treeview_bets_button_press_event (GtkWidget *widget,
stat3 = col_num - 1;
/* 'Wager' is the amount of money the user placed on a bet. */
- window_show_digits(buf, _("Wager"), 0, NULL, -1);
+ window_show_digits(buf, _("Wager"), 0, NULL, -1, FALSE);
spin_wager = GTK_SPIN_BUTTON(lookup_widget(window.digits, "spinbutton1"));
gtk_spin_button_set_range(spin_wager, 0,
(gdouble)const_int("int_bet_wager_max"));
@@ -240,8 +242,6 @@ on_button_calculate_start_week_clicked (GtkButton *button,
start_week = finance_calculate_alr_start_week(
gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(lookup_widget(window.alr, "spinbutton_weekly_installment"))));
- printf("startweek %d\n", start_week);
-
gtk_spin_button_set_value(
GTK_SPIN_BUTTON(lookup_widget(window.alr, "spinbutton_start_week")), (gfloat)start_week);
}
@@ -257,8 +257,6 @@ on_button_calculate_installment_clicked
weekly_installment = finance_calculate_alr_weekly_installment(
gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(lookup_widget(window.alr, "spinbutton_start_week"))));
- printf("inst %d\n", weekly_installment);
-
gtk_spin_button_set_value(
GTK_SPIN_BUTTON(lookup_widget(window.alr, "spinbutton_weekly_installment")), (gfloat)weekly_installment);
}
@@ -268,7 +266,17 @@ void
on_button_alr_confirm_clicked (GtkButton *button,
gpointer user_data)
{
+ current_user.alr_start_week =
+ gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(lookup_widget(window.alr, "spinbutton_start_week")));
+ current_user.alr_weekly_installment =
+ gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(lookup_widget(window.alr, "spinbutton_weekly_installment")));
+
+ window_destroy(&window.alr);
+
+ setsav0;
+
+ on_menu_show_finances_activate(NULL, NULL);
}
diff --git a/src/misc3_interface.c b/src/misc3_interface.c
index 450b2a61..0e5a58b3 100644
--- a/src/misc3_interface.c
+++ b/src/misc3_interface.c
@@ -596,8 +596,8 @@ create_window_alr (void)
table1 = gtk_table_new (2, 3, FALSE);
gtk_widget_show (table1);
gtk_box_pack_start (GTK_BOX (vbox5), table1, FALSE, FALSE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table1), 2);
- gtk_table_set_col_spacings (GTK_TABLE (table1), 2);
+ gtk_table_set_row_spacings (GTK_TABLE (table1), 5);
+ gtk_table_set_col_spacings (GTK_TABLE (table1), 10);
label17 = gtk_label_new (_("Start in week"));
gtk_widget_show (label17);
diff --git a/src/treeview.c b/src/treeview.c
index 6643896f..6f9f91dc 100644
--- a/src/treeview.c
+++ b/src/treeview.c
@@ -1489,6 +1489,19 @@ treeview_create_finances(const User* user)
gtk_list_store_set(ls, &iter, 0, buf, 1, "", 2, buf2, -1);
}
+ if(user->alr_start_week != 0)
+ {
+ gtk_list_store_append(ls, &iter);
+ gtk_list_store_set(ls, &iter, 0, _("Automatic repayment"), 1, "", 2, "", -1);
+
+ misc_print_grouped_int(user->alr_weekly_installment, buf);
+ sprintf(buf2, "%s",
+ const_app("string_treeview_finances_expenses_fg"), buf);
+ sprintf(buf, _("(from week %d)"), user->alr_start_week);
+ gtk_list_store_append(ls, &iter);
+ gtk_list_store_set(ls, &iter, 0, buf, 1, "", 2, buf2, -1);
+ }
+
gtk_list_store_append(ls, &iter);
gtk_list_store_set(ls, &iter, 0, "", 1, "", 2, "", -1);
diff --git a/src/window.c b/src/window.c
index 655e1afe..8e3d6cb9 100644
--- a/src/window.c
+++ b/src/window.c
@@ -461,7 +461,7 @@ window_show_menu_youth(GdkEvent *event)
according to the arguments. */
void
window_show_digits(const gchar *text_main, const gchar* text1, gint value1,
- const gchar* text2, gint value2)
+ const gchar* text2, gint value2, gboolean show_alr)
{
GtkLabel *label_main, *label_1, *label_2;
GtkSpinButton *spinbutton1, *spinbutton2;
@@ -496,6 +496,9 @@ window_show_digits(const gchar *text_main, const gchar* text1, gint value1,
gtk_label_set_text(label_2, text2);
else
gtk_widget_hide(GTK_WIDGET(label_2)->parent);
+
+ if(show_alr)
+ gtk_widget_show(lookup_widget(window.digits, "button_digits_alr"));
}
/** Show the stadium window for the current user. */
@@ -1022,7 +1025,7 @@ window_show_alr(void)
gui_label_set_text_from_int(GTK_LABEL(lookup_widget(window.alr, "label_current_weekly_installment")),
current_user.alr_weekly_installment, FALSE);
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] - 1, fixture_get_last_scheduled_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")),
- 0, -current_user.debt * powf(1 + current_user.debt_interest, const_int("int_finance_payback_weeks")));
+ 0, -current_user.debt * powf(1 + current_user.debt_interest, const_int("int_finance_payback_weeks")) + 1);
}
diff --git a/src/window.h b/src/window.h
index a02fb7a8..b2496616 100644
--- a/src/window.h
+++ b/src/window.h
@@ -72,7 +72,7 @@ window_destroy(GtkWidget **wind);
void
window_show_digits(const gchar *text_main, const gchar* text1,
- gint value1, const gchar* text2, gint value2);
+ gint value1, const gchar* text2, gint value2, gboolean show_alr);
void
window_show_file_sel(void);