~mdoyen/homebank/5.8.x

« back to all changes in this revision

Viewing changes to src/hb-category.c

  • Committer: Maxime Doyen
  • Date: 2024-10-04 16:03:54 UTC
  • Revision ID: homebank@free.fr-20241004160354-br2eh82qvga8kztk
5.8.4 release

Show diffs side-by-side

added added

removed removed

Lines of Context:
843
843
                lnk_txn = g_queue_peek_head_link(acc->txn_queue);
844
844
                while (lnk_txn != NULL)
845
845
                {
846
 
                Transaction *txn = lnk_txn->data;
 
846
                Transaction *txnitem = lnk_txn->data;
847
847
 
848
848
                        //#1875070
849
849
                        //if(txn->kcat == srckey)
850
 
                        if( category_move_match(txn->kcat, srckey, dosubcat) )
 
850
                        if( category_move_match(txnitem->kcat, srckey, dosubcat) )
851
851
                        {
852
 
                                txn->kcat = newkey;
853
 
                                txn->flags |= OF_CHANGED;
 
852
                                txnitem->kcat = newkey;
 
853
                                txnitem->flags |= OF_CHANGED;
854
854
                        }
855
855
 
856
856
                        // move split category #1340142
857
 
                        nbsplit = da_splits_length(txn->splits);
 
857
                        nbsplit = da_splits_length(txnitem->splits);
858
858
                        for(i=0;i<nbsplit;i++)
859
859
                        {
860
 
                        Split *split = da_splits_get(txn->splits, i);
 
860
                        Split *split = da_splits_get(txnitem->splits, i);
861
861
 
862
862
                                //#1875070
863
863
                                //if( split->kcat == srckey )
864
864
                                if( category_move_match(split->kcat, srckey, dosubcat) )
865
865
                                {
866
866
                                        split->kcat = newkey;
867
 
                                        txn->flags |= OF_CHANGED;
 
867
                                        txnitem->flags |= OF_CHANGED;
868
868
                                }
869
869
                        }
870
870
 
879
879
        list = g_list_first(GLOBALS->arc_list);
880
880
        while (list != NULL)
881
881
        {
882
 
        Archive *entry = list->data;
 
882
        Archive *arcitem = list->data;
883
883
 
884
884
                //#1875070
885
885
                //if(entry->kcat == srckey)
886
 
                if( category_move_match(entry->kcat, srckey, dosubcat) )
887
 
                {
888
 
                        entry->kcat = newkey;
889
 
                }
 
886
                if( category_move_match(arcitem->kcat, srckey, dosubcat) )
 
887
                {
 
888
                        arcitem->kcat = newkey;
 
889
                        arcitem->flags |= OF_CHANGED;
 
890
                }
 
891
 
 
892
                //#2081379 handle split as well
 
893
                nbsplit = da_splits_length(arcitem->splits);
 
894
                for(i=0;i<nbsplit;i++)
 
895
                {
 
896
                Split *split = da_splits_get(arcitem->splits, i);
 
897
 
 
898
                        //#1875070
 
899
                        //if( split->kcat == srckey )
 
900
                        if( category_move_match(split->kcat, srckey, dosubcat) )
 
901
                        {
 
902
                                split->kcat = newkey;
 
903
                                arcitem->flags |= OF_CHANGED;
 
904
                        }
 
905
                }
 
906
 
890
907
                list = g_list_next(list);
891
908
        }
892
909
 
894
911
        lpay = list = g_hash_table_get_values(GLOBALS->h_pay);
895
912
        while (list != NULL)
896
913
        {
897
 
        Payee *entry = list->data;
 
914
        Payee *payitem = list->data;
898
915
 
899
 
                if( category_move_match(entry->kcat, srckey, dosubcat) )
 
916
                if( category_move_match(payitem->kcat, srckey, dosubcat) )
900
917
                {
901
 
                        entry->kcat = newkey;
 
918
                        payitem->kcat = newkey;
902
919
                }
903
920
                list = g_list_next(list);
904
921
        }
908
925
        lrul = list = g_hash_table_get_values(GLOBALS->h_rul);
909
926
        while (list != NULL)
910
927
        {
911
 
        Assign *entry = list->data;
 
928
        Assign *asgitem = list->data;
912
929
 
913
930
                //#1875070
914
931
                //if(entry->kcat == srckey)
915
 
                if( category_move_match(entry->kcat, srckey, dosubcat) )
 
932
                if( category_move_match(asgitem->kcat, srckey, dosubcat) )
916
933
                {
917
 
                        entry->kcat = newkey;
 
934
                        asgitem->kcat = newkey;
918
935
                }
919
936
                list = g_list_next(list);
920
937
        }