Commit 303a3da9 authored by Maxime Doyen's avatar Maxime Doyen

4.5.5 release

parent 766dc9ee
2014-01-26 Maxime Doyen
Made 4.5.5 release.
* change: extended number of split from 6 to 10
* wish : #1242274 balance when date descending
* wish : #1238575 total percentages in "Top 5" and ordering statistics
* wish : #1231120 record discount on splitted item (mix exp/inc)
* wish : #1202503 clarify when move a subcategory to category
* wish : #953695 sorting by date tracks the order transactions are entered
* wish : #735350 ability to change language
* bugfix: #1272760 qif split transaction import with >6 parts fails
* bugfix: #1270876 QIF export date does not follow settings
* bugfix: #1270687 balance doesn't recalculate if dates are changed
* bugfix: #1270457 duplicate hotkeys in Modify Transaction window
* bugfix: #1268026 internal xfer: do not copy the reconcile state
* bugfix: #1267344 remind transactions affecting running balance displayed
* bugfix: #1258821 existing Split transaction can't be summed again when modified
* bugfix: #1254544 date get back to today in add transaction dialog after adding a transaction
* bugfix: #1253004 rework the create new file from welcome dialog
* bugfix: #1252230 editing the account of an internal transfer transaction changes only one transaction (out of two)
* bugfix: #1250061 change internal payment connection
* bugfix: #1250057 select linked internal txn create a same txn when no selection
* bugfix: #1235465 auto assignment doesn't search the memo field of split transactions, so doesn't work
* bugfix: #1234879 running balance problem after sorting transactions by ascending date
* bugfix: #773282 QIF Credit Card import shows reverse Expense and Income
2013-09-29 Maxime Doyen
Made 4.5.4 release.
......@@ -13,8 +41,8 @@
Made 4.5.3 release.
* bugfix: #1225611 Trend Time report : categories crashes on windows
* bugfix: #1221484 End date not checked to be larger than Start date in reports
* bugfix: #1218644 There is a problem of calculating the column balances.
* bugfix: #1221484 end date not checked to be larger than Start date in reports
* bugfix: #1218644 there is a problem of calculating the column balances.
* bugfix: #1216321 reversed transactions
* bugfix: #1216284 balance report do not exclude account with exclude from report checked
* bugfix: #1215521 when importing qif, automatic assignments are not made
......
......@@ -35,12 +35,12 @@ CFLAGS="${CFLAGS} -Wall -Wmissing-prototypes"
# pre-relase # 2 - error as warning for
#CFLAGS="${CFLAGS} -Werror"
# GLib/Gtk deprecated flags
#CFLAGS="${CFLAGS} -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
# gtk3 migration
#CFLAGS="${CFLAGS} -DGTK_DISABLE_SINGLE_INCLUDES -DGSEAL_ENABLE"
# GLib/Gtk deprecated flags
#CFLAGS="${CFLAGS} -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
# Check for libofx
AC_CHECK_HEADER(libofx/libofx.h,,noofx=true)
......@@ -81,7 +81,7 @@ AC_C_VOLATILE
AC_CHECK_FUNCS([floor localeconv memset modf pow setlocale sqrt strcasecmp strtoul])
# International support
#ALL_LINGUAS="af ar ast be bg ca cs cy da de el en_AU en_CA en_GB es et eu fa fi fr ga gl he hr hu id is it ja ka ko lt lv ms nb nds nl oc pl pt_BR pt pt_PT ro ru si sk sl sr sv tr uk vi zh_CN zh_TW"
#ALL_LINGUAS="af ar ast be bg ca cs cy da de el en_AU en_CA en_GB es et eu fa fi fr ga gl he hr hu id is it ja ka kn ko lt lv mr ms nb nds nl oc pl pt_BR pt pt_PT ro ru si sk sl sr sv tr uk vi zh_CN zh_TW"
#AM_GLIB_GNU_GETTEXT
......
......@@ -875,20 +875,19 @@ gboolean result;
if( data->cur_ope->paymode == PAYMODE_INTXFER )
{
Transaction *ltxn;
//nota: if kxfer is 0, the user has just changed the paymode to xfer
//nota: if kxfer is 0, the user may have just changed the paymode to xfer
DB( g_print(" - kxfer = %d\n", data->cur_ope->kxfer) );
//1) search a strong linked child
if(data->cur_ope->kxfer > 0)
if(data->cur_ope->kxfer > 0) //1) search a strong linked child
{
DB( g_print(" - found a strong link ?\n") );
Transaction *ltxn;
ltxn = transaction_strong_get_child_transfer(data->cur_ope);
DB( g_print(" - old_txn: kacc=%d kxferacc=%d\n", old_txn->kacc, old_txn->kxferacc) );
ltxn = transaction_strong_get_child_transfer(old_txn);
if(ltxn != NULL) //should never be the case
{
DB( g_print(" - yes, sync the linked txn\n") );
DB( g_print(" - strong link found, do sync\n") );
transaction_xfer_sync_child(data->cur_ope, ltxn);
}
else
......
......@@ -1257,7 +1257,7 @@ next1:
LST_TOPSPEND_KEY, 0,
LST_TOPSPEND_NAME, name,
LST_TOPSPEND_AMOUNT, value,
LST_TOPSPEND_RATE, (gint)(((ABS(value)*100)/ABS(total)) + 0.5),
//LST_TOPSPEND_RATE, (gint)(((ABS(value)*100)/ABS(total)) + 0.5),
-1);
}
......@@ -1271,7 +1271,7 @@ next1:
LST_TOPSPEND_KEY, 0,
LST_TOPSPEND_NAME, _("Other"),
LST_TOPSPEND_AMOUNT, other,
LST_TOPSPEND_RATE, (gint)(((ABS(other)*100)/ABS(total)) + 0.5),
//LST_TOPSPEND_RATE, (gint)(((ABS(other)*100)/ABS(total)) + 0.5),
-1);
}
......
......@@ -491,24 +491,17 @@ GdkColor colour;
valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL(chart->legend), &iter);
while (valid)
{
gdouble amount, ramount;
gint rate;
gdouble amount, rate;
gtk_tree_model_get(GTK_TREE_MODEL(chart->legend), &iter,
LST_LEGEND_AMOUNT, &amount,
-1);
ramount = floor((amount * 100) + 0.5) / 100;
if(ramount == 0.0)
rate = 0;
else
rate = (gint)((ABS(amount)*100)/ABS(chart->total)) + 0.5;
rate = ABS( amount*100/chart->total);
gtk_list_store_set(GTK_LIST_STORE(chart->legend), &iter,
LST_LEGEND_RATE, rate,
-1);
valid = gtk_tree_model_iter_next (GTK_TREE_MODEL(chart->legend), &iter);
}
......@@ -2175,14 +2168,14 @@ static void legend_list_rate_cell_data_function (GtkTreeViewColumn *col,
GtkTreeIter *iter,
gpointer user_data)
{
gint rate;
gdouble rate;
gchar buf[8];
gtk_tree_model_get(model, iter,
LST_LEGEND_RATE, &rate,
-1);
g_snprintf(buf, sizeof(buf), "%d %%", rate);
g_snprintf(buf, sizeof(buf), "%.02f %%", rate);
g_object_set(renderer, "text", buf, NULL);
}
......@@ -2200,7 +2193,7 @@ GtkTreeViewColumn *column;
GDK_TYPE_PIXBUF,
G_TYPE_STRING,
G_TYPE_DOUBLE,
G_TYPE_INT
G_TYPE_DOUBLE
);
//treeview
......@@ -2208,7 +2201,7 @@ GtkTreeViewColumn *column;
g_object_unref(store);
#if MYDEBUG == 1
GtkStyle *style;
/* GtkStyle *style;
PangoFontDescription *font_desc;
style = gtk_widget_get_style(GTK_WIDGET(view));
......@@ -2216,6 +2209,7 @@ GtkTreeViewColumn *column;
g_print("family: %s\n", pango_font_description_get_family(font_desc) );
g_print("size: %d (%d)\n", pango_font_description_get_size (font_desc), pango_font_description_get_size (font_desc )/PANGO_SCALE );
*/
#endif
// change the font size to a smaller one
......
......@@ -20,10 +20,13 @@
#ifndef __GTK_CHART_H__
#define __GTK_CHART_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include <glib.h>
#include <gdk/gdk.h>
#include <gtk/gtk.h>
#include <cairo.h>
#include <math.h>
G_BEGIN_DECLS
#define GTK_TYPE_CHART (gtk_chart_get_type ())
#define GTK_CHART(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CHART, GtkChart))
#define GTK_CHART_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CHART, GtkChartClass)
......@@ -33,6 +36,7 @@ extern "C" {
typedef struct _GtkChart GtkChart;
typedef struct _GtkChartClass GtkChartClass;
//typedef struct _GtkChartPrivate GtkChartPrivate;
typedef gchar (* GtkChartPrintIntFunc) (gint value, gboolean minor);
typedef gchar (* GtkChartPrintDoubleFunc) (gdouble value, gboolean minor);
......@@ -171,7 +175,7 @@ struct _GtkChartClass {
void (*_gtk_reserved4) (void);
};
GType gtk_chart_get_type (void);
GType gtk_chart_get_type (void) G_GNUC_CONST;
/* public function */
GtkWidget *gtk_chart_new(gint type);
......@@ -194,9 +198,5 @@ void gtk_chart_show_overdrawn(GtkChart * chart, gboolean visible);
void gtk_chart_show_xval(GtkChart * chart, gboolean visible);
void gtk_chart_show_minor(GtkChart * chart, gboolean minor);
#ifdef __cplusplus
}
#endif /* __cplusplus */
G_END_DECLS
#endif /* __GTK_CHART_H__ */
......@@ -108,25 +108,25 @@ struct lconv *lc = localeconv();
#else
#ifdef G_OS_WIN32
//todo: to be really set by a win32 specialist from the registry...
#define BUFFER_SIZE 512
char buffer[BUFFER_SIZE];
//LPWSTR wcBuffer = buffer;
LPSTR wcBuffer = buffer;
int iResult;
gsize toto;
//see g_locale_to_utf8 here
iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SCURRENCY, wcBuffer, BUFFER_SIZE);
DB( g_print("LOCALE_SCURRENCY='%s'\n", buffer) );
PREFS->base_cur.suffix_symbol = g_locale_to_utf8(buffer, -1, NULL, &toto, NULL);
iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, wcBuffer, BUFFER_SIZE);
DB( g_print("LOCALE_SDECIMAL='%s'\n", buffer) );
PREFS->base_cur.decimal_char = g_locale_to_utf8(buffer, -1, NULL, &toto, NULL);
iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_STHOUSAND, wcBuffer, BUFFER_SIZE);
DB( g_print("LOCALE_STHOUSAND='%s'\n", buffer) );
PREFS->base_cur.grouping_char = g_locale_to_utf8(buffer, -1, NULL, &toto, NULL);
#define BUFFER_SIZE 512
char buffer[BUFFER_SIZE];
//LPWSTR wcBuffer = buffer;
LPSTR wcBuffer = buffer;
int iResult;
gsize toto;
//see g_locale_to_utf8 here
iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SCURRENCY, wcBuffer, BUFFER_SIZE);
DB( g_print("LOCALE_SCURRENCY='%s'\n", buffer) );
PREFS->base_cur.suffix_symbol = g_locale_to_utf8(buffer, -1, NULL, &toto, NULL);
iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, wcBuffer, BUFFER_SIZE);
DB( g_print("LOCALE_SDECIMAL='%s'\n", buffer) );
PREFS->base_cur.decimal_char = g_locale_to_utf8(buffer, -1, NULL, &toto, NULL);
iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_STHOUSAND, wcBuffer, BUFFER_SIZE);
DB( g_print("LOCALE_STHOUSAND='%s'\n", buffer) );
PREFS->base_cur.grouping_char = g_locale_to_utf8(buffer, -1, NULL, &toto, NULL);
PREFS->base_cur.prefix_symbol = NULL; //g_strdup("");
//PREFS->base_cur.suffix_symbol = NULL; //g_strdup("");
......@@ -208,6 +208,8 @@ void homebank_pref_free(void)
g_free(PREFS->path_export);
//g_free(PREFS->path_navigator);
g_free(PREFS->language);
g_free(PREFS->base_cur.prefix_symbol);
g_free(PREFS->base_cur.suffix_symbol);
g_free(PREFS->base_cur.decimal_char);
......@@ -230,6 +232,8 @@ gint i;
homebank_pref_free();
PREFS->language = NULL;
PREFS->date_format = g_strdup(DEFAULT_FORMAT_DATE);
PREFS->path_hbfile = g_strdup_printf("%s", g_get_home_dir ());
......@@ -562,6 +566,8 @@ GError *error = NULL;
}
DB( g_print(" - version: %d\n", version) );
homebank_pref_get_string(keyfile, group, "Language", &PREFS->language);
homebank_pref_get_short(keyfile, group, "BarStyle" , &PREFS->toolbar_style);
......@@ -860,6 +866,8 @@ gsize length;
group = "General";
g_key_file_set_integer (keyfile, group, "Version", PREF_VERSION);
homebank_pref_set_string (keyfile, group, "Language", PREFS->language);
g_key_file_set_integer (keyfile, group, "BarStyle", PREFS->toolbar_style);
//g_key_file_set_integer (keyfile, group, "BarImageSize", PREFS->image_size);
......
......@@ -66,6 +66,8 @@ struct Preferences
gboolean loadlast;
gboolean appendscheduled;
gchar *language;
gchar *path_hbfile;
gchar *path_import;
gchar *path_export;
......
......@@ -440,7 +440,7 @@ GList *list;
DB( g_print("\n[transaction] transaction_strong_get_child_transfer\n") );
//DB( g_print(" - search: %d %s %f %d=>%d\n", src->date, src->wording, src->amount, src->account, src->kxferacc) );
DB( g_print(" - search: %d %s %f %d=>%d\n", src->date, src->wording, src->amount, src->kacc, src->kxferacc) );
list = g_list_first(GLOBALS->ope_list);
while (list != NULL)
......@@ -448,9 +448,9 @@ GList *list;
Transaction *item = list->data;
//#1252230
//if( item->paymode == PAYMODE_INTXFER && item->kacc == src->kxferacc && item->kxfer == src->kxfer )
if( item->paymode == PAYMODE_INTXFER && item->kxfer == src->kxfer && item->kxferacc == src->kacc )
if( item->paymode == PAYMODE_INTXFER && item->kxfer == src->kxfer && item != src )
{
//DB( g_print(" - found : %d %s %f %d=>%d\n", item->date, item->wording, item->amount, item->account, item->kxferacc) );
DB( g_print(" - found : %d %s %f %d=>%d\n", item->date, item->wording, item->amount, item->kacc, item->kxferacc) );
return item;
}
list = g_list_next(list);
......@@ -643,18 +643,12 @@ void transaction_xfer_sync_child(Transaction *s_txn, Transaction *child)
g_free(child->info);
child->info = g_strdup(s_txn->info);
DB( g_print(" - source: kacc=%d kxferacc=%d\n", s_txn->kacc, s_txn->kxferacc) );
DB( g_print(" - child: kacc=%d kxferacc=%d\n", child->kacc, child->kxferacc) );
//#1252230 sync account also
child->kacc = s_txn->kxferacc;
child->kxferacc = s_txn->kacc;
DB( g_print(" - source: kacc=%d kxferacc=%d\n", s_txn->kacc, s_txn->kxferacc) );
DB( g_print(" - child: kacc=%d kxferacc=%d\n", child->kacc, child->kxferacc) );
account_balances_add (child);
//todo: synchronise tags here also ?
}
......
......@@ -20,7 +20,7 @@
#ifndef __HB_TRANSACTION_H__
#define __HB_TRANSACTION_H__
#define TXN_MAX_SPLIT 6
#define TXN_MAX_SPLIT 10
typedef struct _split Split;
typedef struct _transaction Transaction;
......
......@@ -999,9 +999,9 @@ homebank_init_i18n (void)
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, homebank_app_get_locale_dir ());
#ifdef HAVE_BIND_TEXTDOMAIN_CODESET
//#ifdef HAVE_BIND_TEXTDOMAIN_CODESET
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
#endif
//#endif
textdomain (GETTEXT_PACKAGE);
......@@ -1084,6 +1084,8 @@ gboolean openlast;
if( homebank_setup() )
{
/* change the locale if a language is specified */
language_init (PREFS->language);
if( PREFS->showsplash == TRUE )
{
......
......@@ -474,43 +474,48 @@ QIF_Tran tran = { 0 };
}
else
// split category
if(g_str_has_prefix(tmpstr, "S"))
if(tran.nb_splits < TXN_MAX_SPLIT)
{
QIFSplit *s = &tran.splits[tran.nb_splits];
if(*value != '\0')
// split category
if(g_str_has_prefix(tmpstr, "S"))
{
g_free(s->category);
g_strstrip(value);
s->category = g_strdup(value);
QIFSplit *s = &tran.splits[tran.nb_splits];
if(*value != '\0')
{
g_free(s->category);
g_strstrip(value);
s->category = g_strdup(value);
}
}
}
else
else
// split memo
if(g_str_has_prefix(tmpstr, "E"))
{
QIFSplit *s = &tran.splits[tran.nb_splits];
if(*value != '\0')
// split memo
if(g_str_has_prefix(tmpstr, "E"))
{
g_free(s->memo);
s->memo = g_strdup(value);
QIFSplit *s = &tran.splits[tran.nb_splits];
if(*value != '\0')
{
g_free(s->memo);
s->memo = g_strdup(value);
}
}
}
else
else
// split amount
if(g_str_has_prefix(tmpstr, "$"))
{
QIFSplit *s = &tran.splits[tran.nb_splits];
// split amount
if(g_str_has_prefix(tmpstr, "$"))
{
QIFSplit *s = &tran.splits[tran.nb_splits];
s->amount = hb_qif_parser_get_amount(value);
// $ line normally end a split
#if MYDEBUG == 1
g_print(" -> new split added: [%d] S=%s, E=%s, $=%.2f\n", tran.nb_splits, s->category, s->memo, s->amount);
#endif
s->amount = hb_qif_parser_get_amount(value);
// $ line normally end a split
#if MYDEBUG == 1
g_print(" -> new split added: [%d] S=%s, E=%s, $=%.2f\n", tran.nb_splits, s->category, s->memo, s->amount);
#endif
tran.nb_splits++;
tran.nb_splits++;
}
// end split
}
else
......
......@@ -437,6 +437,7 @@ Transaction *newope;
newope->date = g_date_get_julian(date);
g_date_free(date);
}
// amount
if(data.amount_valid==true)
{
......
......@@ -1026,6 +1026,17 @@ gboolean type;
}
}
static void ui_cat_manage_dialog_modify_entry_cb(GtkEditable *editable, gpointer user_data)
{
GtkDialog *window = user_data;
const gchar *buffer;
buffer = gtk_entry_get_text(GTK_ENTRY(editable));
gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT, strlen(buffer) > 0 ? TRUE : FALSE);
}
/*
**
*/
......@@ -1080,6 +1091,8 @@ GtkTreeIter iter;
gtk_widget_show_all(mainvbox);
g_signal_connect (G_OBJECT (w_name), "changed", G_CALLBACK (ui_cat_manage_dialog_modify_entry_cb), window);
gtk_dialog_set_default_response(GTK_DIALOG( window ), GTK_RESPONSE_ACCEPT);
//wait for the user
......@@ -1153,6 +1166,17 @@ GtkTreeIter iter;
}
static void ui_cat_manage_dialog_move_entry_cb(GtkComboBox *widget, gpointer user_data)
{
GtkDialog *window = user_data;
guint dstkey;
dstkey = ui_cat_comboboxentry_get_key_add_new(GTK_COMBO_BOX(widget));
gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT, dstkey != 0 ? TRUE : FALSE);
}
/*
**
*/
......@@ -1192,8 +1216,12 @@ GtkTreeIter iter;
getwidget = ui_cat_comboboxentry_new(NULL);
gtk_box_pack_start (GTK_BOX (mainvbox), getwidget, TRUE, TRUE, 0);
gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT, FALSE);
gtk_widget_show_all(mainvbox);
g_signal_connect (G_OBJECT (getwidget), "changed", G_CALLBACK (ui_cat_manage_dialog_move_entry_cb), window);
ui_cat_comboboxentry_populate_except(GTK_COMBO_BOX(getwidget), GLOBALS->h_cat, item->key);
gtk_widget_grab_focus (getwidget);
......
......@@ -644,6 +644,16 @@ gchar *name;
}
static void ui_pay_manage_dialog_modify_entry_cb(GtkEditable *editable, gpointer user_data)
{
GtkDialog *window = user_data;
const gchar *buffer;
buffer = gtk_entry_get_text(GTK_ENTRY(editable));
gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT, strlen(buffer) > 0 ? TRUE : FALSE);
}
/*
** modify
*/
......@@ -681,6 +691,8 @@ guint32 key;
gtk_box_pack_start (GTK_BOX (mainvbox), getwidget, TRUE, TRUE, 0);
gtk_widget_show_all(mainvbox);
g_signal_connect (G_OBJECT (getwidget), "changed", G_CALLBACK (ui_pay_manage_dialog_modify_entry_cb), window);
gtk_entry_set_text(GTK_ENTRY(getwidget), item->name);
gtk_widget_grab_focus (getwidget);
......@@ -727,6 +739,17 @@ guint32 key;
}
static void ui_pay_manage_dialog_move_entry_cb(GtkComboBox *widget, gpointer user_data)
{
GtkDialog *window = user_data;
guint dstkey;
dstkey = ui_pay_comboboxentry_get_key_add_new(GTK_COMBO_BOX(widget));
gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT, dstkey != 0 ? TRUE : FALSE);
}
/*
** move
*/
......@@ -769,9 +792,12 @@ GtkTreeIter iter;
gtk_box_pack_start (GTK_BOX (mainvbox), getwidget, TRUE, TRUE, 0);
//gtk_combo_box_set_active(GTK_COMBO_BOX(getwidget), oldpos);
gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT, FALSE);
gtk_widget_show_all(mainvbox);
g_signal_connect (G_OBJECT (getwidget), "changed", G_CALLBACK (ui_pay_manage_dialog_move_entry_cb), window);
//data->tmp_list = g_list_sort(data->tmp_list, (GCompareFunc)ui_pay_manage_dialog_list_sort);
ui_pay_comboboxentry_populate_except(GTK_COMBO_BOX(getwidget), GLOBALS->h_pay, entry->key);
gtk_widget_grab_focus (getwidget);
......
This diff is collapsed.
......@@ -32,6 +32,7 @@ struct defpref_data
GtkWidget *image;
GtkWidget *BT_clear;
GtkWidget *CY_language;
GtkWidget *CY_toolbar;
GtkWidget *CY_colors;
GtkWidget *CM_custom_colors;
......
......@@ -1102,7 +1102,7 @@ gint row;
row++;
label = gtk_label_new_with_mnemonic (_("Pay_ment:"));
label = gtk_label_new_with_mnemonic (_("Pa_yment:"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
gtk_table_attach (GTK_TABLE (table), label, 0,1, row, row+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0);
widget = make_paymode(label);
......@@ -1324,7 +1324,7 @@ GtkWidget *alignment;
}
//connect all our signals
g_signal_connect (GTK_OBJECT (data->ST_amount), "focus-out-event", G_CALLBACK (deftransaction_amount_focusout), data);
g_signal_connect (G_OBJECT (data->ST_amount), "focus-out-event", G_CALLBACK (deftransaction_amount_focusout), data);
g_signal_connect (G_OBJECT (data->BT_amount), "clicked", G_CALLBACK (deftransaction_toggleamount), NULL);
g_signal_connect (G_OBJECT (data->BT_split), "clicked", G_CALLBACK (deftransaction_button_split_cb), NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment