Transaction *txn;
gtk_tree_model_get (model, &iter,
- LST_DSPOPE_DATAS, &txn,
+ MODEL_TXN_POINTER, &txn,
-1);
if( txn->paymode == PAYMODE_INTXFER )
GtkTreeIter iter;
gtk_tree_model_get_iter(model, &iter, list->data);
- gtk_tree_model_get(model, &iter, LST_DSPOPE_DATAS, &ope, -1);
+ gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &ope, -1);
DB( g_print(" create archive %s %.2f\n", ope->memo, ope->amount) );
data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
- range = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_range));
+ range = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_range));
future = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_future));
data->filter->nbdaysfuture = 0;
filter_preset_daterange_set (data->filter, PREFS->date_range_txn, (data->showall == FALSE) ? data->acc->key : 0);
if(PREFS->hidereconciled)
- filter_preset_status_set (data->filter, 1);
+ filter_preset_status_set (data->filter, FLT_STATUS_UNRECONCILED);
// add eventual x days into future display
if( PREFS->date_future_nbdays > 0 )
g_signal_handler_block(data->CY_type, data->handler_id[HID_TYPE]);
g_signal_handler_block(data->CY_status, data->handler_id[HID_STATUS]);
- gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_range), data->filter->range);
+ hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), data->filter->range);
gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_type), data->filter->type);
gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_status), data->filter->status);
if(data->showall)
return;
- DB( g_print("\n[account] balance refresh\n") );
+ DB( g_print("\n[account %d] balance refresh\n", data->acc != NULL ? (gint)data->acc->key : -1) );
balance = data->acc->initial;
//gtk_list_store_append (GTK_LIST_STORE(model), &iter);
//gtk_list_store_set (GTK_LIST_STORE(model), &iter,
gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter, -1,
- LST_DSPOPE_DATAS, txn,
+ MODEL_TXN_POINTER, txn,
-1);
if( data->showall == FALSE )
gtk_tree_model_get_iter(model, &iter, list->data);
- gtk_tree_model_get(model, &iter, LST_DSPOPE_DATAS, &txn, -1);
+ gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &txn, -1);
if(txn->status == TXN_STATUS_RECONCILED)
count++;
model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview));
gtk_list_store_append (GTK_LIST_STORE(model), &iter);
gtk_list_store_set (GTK_LIST_STORE(model), &iter,
- LST_DSPOPE_DATAS, ope,
+ MODEL_TXN_POINTER, ope,
-1);
//activate that new line
Transaction *tmp;
gtk_tree_model_get (model, &iter,
- LST_DSPOPE_DATAS, &tmp,
+ MODEL_TXN_POINTER, &tmp,
-1);
if( txn == tmp )
gint targetstatus = GPOINTER_TO_INT(userdata);
Transaction *txn;
- gtk_tree_model_get(model, iter, LST_DSPOPE_DATAS, &txn, -1);
+ gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &txn, -1);
account_balances_sub(txn);
if(old_txn->date != new_txn->date)
data->do_sort = TRUE;
- // manage account change
- //maybe this should move to deftransaction_external_edit
+ // txn changed of account
+ //TODO: maybe this should move to deftransaction_external_edit
if( data->acc != NULL && (new_txn->kacc != data->acc->key) )
{
Account *nacc;
delete_active_transaction(GTK_TREE_VIEW(data->LV_ope));
//#1667501 update target account window is open
nacc = da_acc_get(new_txn->kacc);
- if( nacc->window != NULL )
+ if( nacc != NULL && nacc->window != NULL )
{
- DB( g_print("- account changed and window is open\n") );
+ DB( g_print("- account %d changed and window is open\n", nacc->key) );
if( GTK_IS_WINDOW(nacc->window) )
{
register_panel_add_single_transaction(nacc->window, new_txn);
}
}
}
-
+
+ //#1812470 txn is xfer update target account window is open
+ if( (old_txn->paymode == PAYMODE_INTXFER) && (old_txn->amount != new_txn->amount) )
+ {
+ Account *nacc = da_acc_get(new_txn->kxferacc);
+
+ if( nacc != NULL && nacc->window != NULL )
+ {
+ if( GTK_IS_WINDOW(nacc->window) )
+ {
+ register_panel_update(GTK_WIDGET(nacc->window), GINT_TO_POINTER(UF_BALANCE));
+ }
+ }
+ }
+
//da_transaction_copy(new_txn, old_txn);
register_panel_update(widget, GINT_TO_POINTER(UF_BALANCE));
GtkTreeIter iter;
gtk_tree_model_get_iter(model, &iter, list->data);
- gtk_tree_model_get(model, &iter, LST_DSPOPE_DATAS, &entry, -1);
+ gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &entry, -1);
DB( g_print(" delete %s %.2f\n", entry->memo, entry->amount) );
register_panel_update(data->LV_ope, GINT_TO_POINTER(UF_SENSITIVE+UF_BALANCE));
g_signal_handler_block(data->CY_range, data->handler_id[HID_RANGE]);
- gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_range), FLT_RANGE_OTHER);
+ hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), FLT_RANGE_OTHER);
g_signal_handler_unblock(data->CY_range, data->handler_id[HID_RANGE]);
}
gint flags = GPOINTER_TO_INT(user_data);
gint count = 0;
- DB( g_print("\n[account] update\n") );
-
data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
//data = INST_DATA(widget);
+ DB( g_print("\n[account %d] update\n", data->acc != NULL ? (gint)data->acc->key : -1) );
+
+
GLOBALS->minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor));
/* set window title */
Transaction *item;
gtk_tree_model_get_iter(model, &iter, tmplist->data);
- gtk_tree_model_get(model, &iter, LST_DSPOPE_DATAS, &item, -1);
+ gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &item, -1);
if( data->showall == FALSE )
{
//get transaction double clicked to initiate the widget
gtk_tree_model_get_iter(model, &iter, path);
- gtk_tree_model_get(model, &iter, LST_DSPOPE_DATAS, &ope, -1);
+ gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &ope, -1);
DB( g_print ("%d rows been double-clicked on column=%d! ope=%s\n", count, col_id, ope->memo) );
*/
static gboolean register_panel_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data)
{
-//struct register_panel_data *data = user_data;
+struct register_panel_data *data = user_data;
- //data = g_object_get_data(G_OBJECT(widget), "inst_data");
+ data = g_object_get_data(G_OBJECT(widget), "inst_data");
DB( g_print("\n[account] delete-event\n") );
+ register_panel_getgeometry(data->window, NULL, data);
+
return FALSE;
}
G_CALLBACK (register_panel_destroy), (gpointer)data);
// connect our dispose function
- g_signal_connect (window, "configure-event",
- G_CALLBACK (register_panel_getgeometry), (gpointer)data);
+ //g_signal_connect (window, "configure-event",
+ // G_CALLBACK (register_panel_getgeometry), (gpointer)data);
#if UI == 1
//start test uimanager
label = make_label_widget(_("_Range:"));
gtk_grid_attach (GTK_GRID(table), label, 0, 0, 1, 1);
- data->CY_range = make_daterange(label, TRUE);
+ data->CY_range = make_daterange(label, DATE_RANGE_CUSTOM_SHOW);
gtk_grid_attach (GTK_GRID(table), data->CY_range, 1, 0, 1, 1);
widget = gtk_toggle_button_new();