mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Add enum SplitRegisterTypeGroup to group registers
Add SplitRegisterTypeGroup to group registers that have the same layout and it will also be used to get the default user state information for register cell widths.
This commit is contained in:
parent
4c8ebfe171
commit
74abd821b3
@ -83,17 +83,9 @@ gnc_split_register_set_cells (SplitRegister* reg, TableLayout* layout)
|
||||
CellBlock* curs;
|
||||
CellBlock* curs_last;
|
||||
|
||||
switch (reg->type)
|
||||
switch (gnc_split_register_get_register_group (reg))
|
||||
{
|
||||
case BANK_REGISTER:
|
||||
case CASH_REGISTER:
|
||||
case ASSET_REGISTER:
|
||||
case CREDIT_REGISTER:
|
||||
case LIABILITY_REGISTER:
|
||||
case INCOME_REGISTER:
|
||||
case EXPENSE_REGISTER:
|
||||
case EQUITY_REGISTER:
|
||||
case TRADING_REGISTER:
|
||||
case REG_TYPE_GROUP_CURRENCY:
|
||||
{
|
||||
curs = gnc_table_layout_get_cursor (layout,
|
||||
CURSOR_SINGLE_LEDGER);
|
||||
@ -191,8 +183,7 @@ gnc_split_register_set_cells (SplitRegister* reg, TableLayout* layout)
|
||||
}
|
||||
/* --------------------------------------------------------- */
|
||||
|
||||
case PAYABLE_REGISTER:
|
||||
case RECEIVABLE_REGISTER:
|
||||
case REG_TYPE_GROUP_APAR:
|
||||
{
|
||||
curs = gnc_table_layout_get_cursor (layout,
|
||||
CURSOR_SINGLE_LEDGER);
|
||||
@ -269,9 +260,7 @@ gnc_split_register_set_cells (SplitRegister* reg, TableLayout* layout)
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------- */
|
||||
case INCOME_LEDGER:
|
||||
case GENERAL_JOURNAL:
|
||||
case SEARCH_LEDGER:
|
||||
case REG_TYPE_GROUP_JOURNAL:
|
||||
{
|
||||
curs = gnc_table_layout_get_cursor (layout,
|
||||
CURSOR_SINGLE_LEDGER);
|
||||
@ -391,8 +380,7 @@ gnc_split_register_set_cells (SplitRegister* reg, TableLayout* layout)
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------- */
|
||||
case STOCK_REGISTER:
|
||||
case CURRENCY_REGISTER:
|
||||
case REG_TYPE_GROUP_STOCK:
|
||||
{
|
||||
curs = gnc_table_layout_get_cursor (layout,
|
||||
CURSOR_SINGLE_LEDGER);
|
||||
@ -476,7 +464,7 @@ gnc_split_register_set_cells (SplitRegister* reg, TableLayout* layout)
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------- */
|
||||
case PORTFOLIO_LEDGER:
|
||||
case REG_TYPE_GROUP_PORTFOLIO:
|
||||
{
|
||||
curs = gnc_table_layout_get_cursor (layout,
|
||||
CURSOR_SINGLE_LEDGER);
|
||||
@ -559,7 +547,7 @@ gnc_split_register_set_cells (SplitRegister* reg, TableLayout* layout)
|
||||
|
||||
/* --------------------------------------------------------- */
|
||||
default:
|
||||
PERR ("unknown register type %d \n", reg->type);
|
||||
PERR ("unknown register group type for %d \n", reg->type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -3183,3 +3183,52 @@ gnc_split_register_set_read_only (SplitRegister* reg, gboolean read_only)
|
||||
{
|
||||
gnc_table_model_set_read_only (reg->table->model, read_only);
|
||||
}
|
||||
|
||||
SplitRegisterTypeGroup
|
||||
gnc_split_register_get_register_group (SplitRegister *reg)
|
||||
{
|
||||
switch (reg->type)
|
||||
{
|
||||
case BANK_REGISTER:
|
||||
case CASH_REGISTER:
|
||||
case ASSET_REGISTER:
|
||||
case CREDIT_REGISTER:
|
||||
case LIABILITY_REGISTER:
|
||||
case INCOME_REGISTER:
|
||||
case EXPENSE_REGISTER:
|
||||
case EQUITY_REGISTER:
|
||||
case TRADING_REGISTER:
|
||||
{
|
||||
return REG_TYPE_GROUP_CURRENCY;
|
||||
break;
|
||||
}
|
||||
case PAYABLE_REGISTER:
|
||||
case RECEIVABLE_REGISTER:
|
||||
{
|
||||
return REG_TYPE_GROUP_APAR;
|
||||
break;
|
||||
}
|
||||
case INCOME_LEDGER:
|
||||
case GENERAL_JOURNAL:
|
||||
case SEARCH_LEDGER:
|
||||
{
|
||||
return REG_TYPE_GROUP_JOURNAL;
|
||||
break;
|
||||
}
|
||||
case STOCK_REGISTER:
|
||||
case CURRENCY_REGISTER:
|
||||
{
|
||||
return REG_TYPE_GROUP_STOCK;
|
||||
break;
|
||||
}
|
||||
case PORTFOLIO_LEDGER:
|
||||
{
|
||||
return REG_TYPE_GROUP_PORTFOLIO;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
return REG_TYPE_GROUP_UNKNOWN;
|
||||
PERR ("unknown register type %d \n", reg->type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -167,6 +167,19 @@ typedef enum
|
||||
NUM_REGISTER_TYPES
|
||||
} SplitRegisterType;
|
||||
|
||||
/** @brief Register group types
|
||||
*
|
||||
* used for grouping registers that have the same layout */
|
||||
typedef enum
|
||||
{
|
||||
REG_TYPE_GROUP_UNKNOWN,
|
||||
REG_TYPE_GROUP_CURRENCY,
|
||||
REG_TYPE_GROUP_APAR,
|
||||
REG_TYPE_GROUP_STOCK,
|
||||
REG_TYPE_GROUP_JOURNAL,
|
||||
REG_TYPE_GROUP_PORTFOLIO,
|
||||
} SplitRegisterTypeGroup;
|
||||
|
||||
/** Register styles */
|
||||
typedef enum
|
||||
{
|
||||
@ -327,6 +340,12 @@ void gnc_split_register_set_auto_complete (SplitRegister* reg,
|
||||
*/
|
||||
void gnc_split_register_set_read_only (SplitRegister* reg, gboolean read_only);
|
||||
|
||||
/** Group registers for common layouts.
|
||||
* @param reg a ::SplitRegister
|
||||
*
|
||||
* @return the ::SplitRegisterTypeGroup that groups registers together
|
||||
*/
|
||||
SplitRegisterTypeGroup gnc_split_register_get_register_group (SplitRegister *reg);
|
||||
|
||||
/** Set the template account for use in a template register.
|
||||
*
|
||||
|
@ -186,10 +186,6 @@ void
|
||||
gnucash_register_reset_sheet_layout (GnucashRegister *reg)
|
||||
{
|
||||
GNCHeaderWidths widths;
|
||||
Table *table;
|
||||
GList *node;
|
||||
gchar *key;
|
||||
guint value;
|
||||
GnucashSheet *sheet;
|
||||
gint current_width;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user