1 #ifndef _STRUCTURES_H 2 #define _STRUCTURES_H 3 4 #include <glib.h> 5 #include <gtk/gtk.h> 6 7 /* fichier d'en tête structures.h */ 8 /* contient presque toutes les structures et enum du prog */ 9 10 11 /* the VERSION_FICHIER is in fact the lowest version which can be used to open the */ 12 /* file, so each time we make an incompatibility issue, VERSION_FICHIER must be set */ 13 /* to VERSION_GRISBI */ 14 #define VERSION_FICHIER "1.2.1" 15 #define OLD_VERSION_FICHIER "0.6.0" 16 17 #define VERSION_FICHIER_ETAT "0.6.0" 18 #define VERSION_FICHIER_CATEG "0.6.0" 19 #define VERSION_FICHIER_IB "0.6.0" 20 21 #define CSV_MAX_TOP_LINES 10 /** How many lines to show in CSV preview. */ 22 #define GSB_EPSILON 0.0000005 /* Sert à comparer des doubles */ 23 #define GSB_MAX_SPIN_BUTTON 100000000000000.0 /* Dimensionne la largeur naturelle maxi des spin_button */ 24 #ifdef __APPLE__ 25 #define ETAT_WWW_BROWSER "open" /* définit le browser par défaut */ 26 #else 27 #define ETAT_WWW_BROWSER "xdg-open" /* définit le browser par défaut */ 28 #endif 29 30 /* Nbre de messages de delete et de warnings */ 31 #define NBRE_MSG_WARNINGS 9 32 #define NBRE_MSG_DELETE 7 33 34 /* Sorting option for the transactions. Used in gsb_transactions_list_display_sort_changed () */ 35 #define PRIMARY_SORT 0 36 #define SECONDARY_SORT 1 37 38 /* definitions pour le basculement en basse résolution */ 39 #define LOW_DEF_HEIGHT_HIGH 900 40 #define LOW_DEF_WIDTH_HIGH 1600 41 42 /* Dimensions min et position de la fenetre de l'application */ 43 #define WIN_MIN_HEIGHT 700 44 #define WIN_MIN_WIDTH 1030 45 #define WIN_POS_X 10 46 #define WIN_POS_Y 10 47 48 /* Largeur min du panel de gauche de la fenetre principale */ 49 #define PANEL_MIN_WIDTH 250 50 51 /* margin for widgets */ 52 #define MARGIN_BOX 5 /* spacing for gtk_box_new () */ 53 #define MARGIN_END 10 54 #define MARGIN_START 10 55 #define MARGIN_TOP 10 56 #define MARGIN_BOTTOM 10 57 #define MARGIN_PADDING_BOX 15 58 59 /* width for widget */ 60 #define BOX_BORDER_WIDTH 10 61 #define ENTRY_MIN_WIDTH_1 100 62 #define FORM_COURT_WIDTH 120 /* largeur minimale demandée pour les champs courts du formulaire */ 63 #define FORM_LONG_WIDTH 200 /* largeur minimale demandée pour les champs longs du formulaire */ 64 65 /* constants for Preferences */ 66 #define PREFS_PANED_MIN_WIDTH 235 /* Largeur Min du panel gauche des preferences */ 67 #define PREFS_WIN_MIN_HEIGHT 605 /* Hauteur Min de la fenetre des preferences */ 68 #define PREFS_WIN_MIN_WIDTH 910 /* Largeur Min de la fenetre des preferences */ 69 #define SW_MAX_CONTENT_WIDTH 600 /* Since Gtk-3.22 */ 70 #define SW_MIN_HEIGHT 150 71 72 /* used for gtk_tree_view_column_set_alignment() */ 73 #define COLUMN_LEFT 0.0 74 #define COLUMN_CENTER 0.5 75 #define COLUMN_RIGHT 1.0 76 77 /* used for labels alignment */ 78 #define GSB_LEFT 0 79 #define GSB_CENTER 0.5 80 #define GSB_RIGHT 1 81 #define GSB_TOP 0 82 #define GSB_BOTTOM 1 83 84 /* valeurs pour le logo de grisbi */ 85 #define LOGO_WIDTH 48 86 #define LOGO_HEIGHT 48 87 88 /* définitions pour les noms de fichier dans les boutons de la vue accueil */ 89 #define GSB_NBRE_CHAR_TRUNC 15 90 #define GSB_NBRE_LIGNES_BOUTON 6 91 92 /* troncature des titres de colonnes pour l'affichage de la composition */ 93 #define TRUNC_FORM_FIELD 20 /* du formulaire */ 94 #define TRUNC_LIST_COL_NAME 8 /* de la liste des ope */ 95 96 /* définitions pour les tableaux des transactions */ 97 #define CUSTOM_MODEL_VISIBLE_COLUMNS 7 /* number of visible columns */ 98 #define TRANSACTION_LIST_ROWS_NB 4 /* definition of the number of max rows for a line, for now limit to 4 */ 99 100 /*START_EXTERN*/ 101 /* variables initialisées lors de l'exécution de grisbi PROVISOIRE */ 102 extern struct _GrisbiWinRun run; /* declared in grisbi_win.c */ 103 extern struct _GrisbiWinEtat etat; /* declared in grisbi_win.c */ 104 /*END_EXTERN*/ 105 106 /******************************************************************************/ 107 /* Structures */ 108 /******************************************************************************/ 109 typedef struct _GrisbiAppConf GrisbiAppConf; 110 typedef struct _GrisbiWinEtat GrisbiWinEtat; 111 typedef struct _GrisbiWinRun GrisbiWinRun; 112 113 /* structure etat variables configurées par le fichier de comptes */ 114 struct _GrisbiWinEtat 115 { 116 /* variables generales */ 117 gchar * accounting_entity; 118 gchar * adr_common; 119 gchar * adr_secondary; 120 gchar * date_format; /* format local d'affichage des dates */ 121 gint is_archive; /** TRUE if the file is an archive, FALSE else */ 122 123 /* files and backup part */ 124 gint crypt_file; /* TRUE if we want to crypt the file */ 125 gint fichier_deja_ouvert; /* à un si lors de l'ouverture, le fichier semblait déjà ouvert */ 126 127 /* devises pour les catégories, imputations budgétaires et les tiers */ 128 gint no_devise_totaux_categ; 129 gint no_devise_totaux_ib; 130 gint no_devise_totaux_tiers; 131 132 /* reconciliation */ 133 gint reconcile_end_date; /* Date initiale + 1 mois par défaut */ 134 gboolean reconcile_sort; /* TRUE = Sort by descending date the reconciliations */ 135 136 /* formulaire */ 137 gint affiche_nb_ecritures_listes; 138 gint retient_affichage_par_compte; /* à 1 si les caractéristiques de l'affichage (R, non R ...) diffèrent par compte */ 139 gboolean form_date_force_prev_year; /* FALSE = default année en cours TRUE = forcer l'année précédente pour les dates futures */ 140 141 /* Fonts & logo */ 142 gint utilise_logo; 143 gchar *name_logo; 144 145 gboolean automatic_separator; /* TRUE if do automatic separator */ 146 147 /* import files */ 148 gint extract_number_for_check; /* TRUE if Extracting a number and save it in the field No Cheque/Virement */ 149 gint copy_payee_in_note; /* TRUE si recopie le tiers dans les notes FALSE par défaut */ 150 gint fusion_import_transactions; /* TRUE if merge transactions imported with transactions found*/ 151 gint associate_categorie_for_payee; /* TRUE to automatically retrieve the category of the payee if it exists */ 152 gint get_fyear_by_value_date; /* TRUE to get the fyear by value date, FALSE by date */ 153 gint import_files_nb_days; /* Number of days for search transactions */ 154 155 gchar * csv_separator; /* CSV separator to use while parsing a CSV file. */ 156 gboolean csv_skipped_lines [ CSV_MAX_TOP_LINES ]; /* Contains a pointer to skipped lines in CSV preview. */ 157 gboolean csv_force_date_valeur_with_date; /* force la date de valeur si non présente dans le fichier */ 158 gboolean qif_no_import_categories; /* TRUE if no new item can be appended in the categories divisions */ 159 gint qif_use_field_extract_method_payment; /* use the field 'N' to define the method of payment */ 160 161 /* export files */ 162 gint export_file_format; /* EXPORT_QIF or EXPORT_CSV */ 163 gboolean export_files_traitement; /* 0 = traitement individuel, 1 = traitement automatique */ 164 gboolean export_force_US_dates; /* 0 = format interne 1 = format US */ 165 gboolean export_force_US_numbers; /* 0 = format interne 1 = format US */ 166 gboolean export_quote_dates; /* "cite les dates" TRUE par défaut */ 167 168 /* combofix configuration */ 169 gint combofix_mixed_sort; /* TRUE for no separation between the categories */ 170 gint combofix_case_sensitive; /* TRUE if case sensitive */ 171 gint combofix_force_payee; /* TRUE if no new item can be appended in the payee combofix */ 172 gint combofix_force_category; /* TRUE if no new item can be appended in the category and budget combofix */ 173 174 /* width panned */ 175 gint largeur_colonne_echeancier; 176 gint largeur_colonne_comptes_comptes; 177 gint largeur_colonne_etat; 178 179 /* variables sur l'échéancier */ 180 gint affichage_commentaire_echeancier; /* à 1 si le commentaire est affiché */ 181 gint affichage_echeances; /* affichage de la période affichée dans la vue échéancier */ 182 gint affichage_echeances_perso_nb_libre; /* nombre de périodicité des échéances personnalisées */ 183 gint affichage_echeances_perso_j_m_a; /* type de périodicité des échéances personnalisées */ 184 gboolean scheduler_set_default_account; /* set default account for the scheduled form */ 185 gint scheduler_default_account_number; /* default account number for the scheduled form */ 186 gboolean scheduler_set_fixed_date; /* set fixed date for the scheduled transaction */ 187 gint scheduler_set_fixed_date_day; /* day of fixed date for the scheduled transaction (28, 29, 30 or 31) */ 188 189 /* variables pour les metatree */ 190 gint metatree_add_archive_in_totals; /* Add transactions archived in the totals */ 191 gboolean metatree_assoc_mode; /* Remplace Revenus/Dépenses par Produits/Charges */ 192 gint metatree_sort_transactions; /* 1 = sorting by increasing date 2 = Sort by date descending */ 193 gboolean metatree_unarchived_payees; /* TRUE = limit the list of payees for combofix */ 194 195 /* variables for the module estimate balance */ 196 gint bet_debut_period; 197 gint bet_cash_account_option; /* ajoute l'onglet prévision aux comptes de caisse */ 198 199 /* variables pour le simulateur de crédits */ 200 gdouble bet_capital; 201 gint bet_currency; 202 gdouble bet_taux_annuel; 203 gint bet_index_duree; 204 gdouble bet_frais; 205 gint bet_type_taux; 206 207 /* largeur des colonnes */ 208 gchar * transaction_column_width; 209 gchar * scheduler_column_width; 210 }; 211 212 /* structure conf variables configured by gsettings or grisbi.conf */ 213 struct _GrisbiAppConf 214 { 215 /* root part*/ 216 gint first_use; /* première utilisation ou réinitialisation de grisbi */ 217 218 /* backup part */ 219 gboolean compress_backup; /* TRUE if we want to compress the backup */ 220 gboolean make_backup_every_minutes; /* TRUE to make backup every x mn */ 221 gint make_backup_nb_minutes; /* the number of minutes we want to make a backup */ 222 gboolean make_bakup_single_file; /* TRUE if a single backup file */ 223 gboolean sauvegarde_demarrage; /* utilisé pour enregistrer le fichier s'il s'est bien ouvert */ 224 gboolean sauvegarde_fermeture; /* TRUE to create a backup when save file */ 225 gboolean remove_backup_files; /* removing automatically backup files */ 226 guint remove_backup_months; /* Number of months before removing backup files */ 227 228 /* display part */ 229 gint display_window_title; /* selection du titre principal de grisbi */ 230 gint display_toolbar; /* Display mode of toolbar. */ 231 gboolean formulaire_toujours_affiche; /* TRUE formulaire toujours affiché */ 232 gboolean group_partial_balance_under_accounts; /* TRUE = in home page group the partial balance with accounts */ 233 gboolean show_headings_bar; /* Show headings bar or not. */ 234 gboolean show_closed_accounts; 235 236 /* files part */ 237 gboolean compress_file; /* TRUE if we want to compress the Grisbi file */ 238 gint dernier_fichier_auto; /* chargement du dernier fichier utilisé */ 239 gboolean force_enregistrement; /* à un si on force l'enregistrement */ 240 gchar * last_open_file; /* dernier fichier ouvert */ 241 gint nb_max_derniers_fichiers_ouverts; /* contient le nb max que peut contenir nb_derniers_fichiers_ouverts */ 242 gint nb_derniers_fichiers_ouverts; /* contient le nb de derniers fichiers ouverts */ 243 gboolean sauvegarde_auto; /* utilisé pour enregistrer le fichier automatiquementà la fermeture */ 244 gboolean force_import_directory; /* force l'utilisation d'un répertoire pour l'importation des fichiers */ 245 gchar * import_directory; /* répertoire par défaut pour l'importation des fichiers */ 246 gboolean import_remove_file; /* remove file after import */ 247 248 /* archive stuff */ 249 gboolean archives_check_auto; /* TRUE if we want to check the number of non archived transactions at the opening */ 250 gint max_non_archived_transactions_for_check; /* the max number of transaction before grisbi warm at the opening */ 251 252 /* form part*/ 253 gboolean affichage_exercice_automatique; /* automatic fyear :0 to set according to the date, 1 according to value date */ 254 gboolean automatic_completion_payee; /* 1 pour autoriser la completion automatique des opérations */ 255 gboolean automatic_erase_credit_debit; /* 1 pour effacer les champs crédit et débit */ 256 gboolean automatic_recover_splits; /* 1 pour recréer automatiquement les sous opérations */ 257 gint completion_minimum_key_length; /* Minimum length of the search key in characters */ 258 gboolean form_enter_key; /* si TRUE, la touche entrée finit l'opération */ 259 gboolean form_validate_split; /* 0 select a new transaction, 1 select the mother transaction */ 260 gint fyear_combobox_sort_order; /* fyear combobox type sort, GTK_SORT_ASCENDING by default */ 261 gboolean limit_completion_to_current_account; /* Limit payee completion to current account or do a full search. */ 262 263 /* general part */ 264 gchar * browser_command; 265 gboolean custom_fonte_listes; /* TRUE to use a custom font for the lists */ 266 gchar * font_string; /* contain the description of the font, or NULL */ 267 gchar * language_chosen; /* choix de la langue : NULL par défaut = langue système */ 268 gchar * current_theme; 269 gint force_type_theme; /* 0 = auto, 1 = standard 2 = dark theme 3 = light theme */ 270 gint use_type_theme; /* 1 = standard 2 = dark theme 3 = light theme */ 271 272 /* Home page */ 273 gint pluriel_final; /* 0 = finals 1 = finaux */ 274 275 /* variables for the list of categories */ 276 gint metatree_action_2button_press; /* 0 default gtk, 1 edit_function, 2 manage division if possible */ 277 278 /* variables for the list of transactions */ 279 gboolean show_transaction_gives_balance; /* TRUE si on visualise l'opération qui donne le solde du jour */ 280 gboolean show_transaction_selected_in_form; /* TRUE will show the selected transaction in the form */ 281 gint transactions_list_primary_sorting; /* Primary sorting option for the transactions */ 282 gint transactions_list_secondary_sorting; /* Secondary sorting option for the transactions */ 283 284 /* geometry part */ 285 gint x_position; /* main_window x position */ 286 gint y_position; /* main_window y position */ 287 gint main_width; /* main_window width */ 288 gint main_height; /* main_window height */ 289 gboolean low_definition_screen; /* TRUE use a low resolution screen */ 290 gboolean full_screen; /* TRUE to full screen, 0 else */ 291 gboolean maximize_screen; /* TRUE to maximize screen, 0 else */ 292 293 /* panel part */ 294 gboolean active_scrolling_left_pane; /* active mouse scrolling in the left_pane. */ 295 gint panel_width; /* navigation paned width */ 296 297 /* prefs part */ 298 gboolean prefs_archives_sort_order; /* archive sort order, GTK_SORT_ASCENDING by default */ 299 gboolean prefs_fyear_sort_order; /* fyear type sort, GTK_SORT_ASCENDING by default */ 300 gint prefs_height; /* preferences height */ 301 gint prefs_panel_width; /* preferences paned width */ 302 gint prefs_width; /* preferences width */ 303 304 /* scheduled part */ 305 gboolean balances_with_scheduled; /* TRUE = the balance incorporates the scheduled operations */ 306 gboolean execute_scheduled_of_month; /* warn/execute scheduled at expiration (FALSE) or of the month (TRUE) */ 307 gboolean select_scheduled_in_list; /* TRUE = select last scheduled in list TRUE by default */ 308 gint nb_days_before_scheduled; /* nombre de jours avant relance des opérations planifiées */ 309 gboolean scheduler_set_fixed_day; /* Si coché le nombre est considéré comme un jour fixe */ 310 gint scheduler_fixed_day; 311 312 /* Tips */ 313 gint last_tip; 314 gboolean show_tip; 315 316 /* NOT SAVED */ 317 /* CSS data */ 318 gint prefs_change_css_data; /* compteur de modification d'une règle CSS */ 319 gboolean use_css_local_file; /* TRUE si utilisation du fichier css local NOT SAVED*/ 320 }; 321 322 /* structure run 323 * variables containing just 0 or 1 324 * générées pendant l'exécution du programme 325 * 326 */ 327 struct _GrisbiWinRun 328 { 329 gboolean definition_screen_toggled; /* force l'utilisation des dimensions par defaut */ 330 331 /* old version of file */ 332 gboolean old_version; /* TRUE if file version < 0.6 */ 333 gboolean account_number_is_0; /* TRUE si an account has 0 for number */ 334 335 /* initialisation variables */ 336 gboolean new_crypted_file; /* 0 à l'exécution de init_variables () 1 si new crypted file*/ 337 gboolean new_account_file; /* 0 à l'exécution de init_variables () 1 si new account file */ 338 339 /* backup */ 340 gboolean remove_backup_files; /* on ne fait cette sauvegarde qu'une fois par session */ 341 342 /* file stuff */ 343 time_t file_modification; 344 gboolean file_is_saving; 345 gboolean file_is_loading; 346 gboolean menu_save; 347 348 /* reconciliation */ 349 gint equilibrage; 350 gint reconcile_account_number; /* Save the last reconciliation try: account */ 351 gchar * reconcile_final_balance; /* final balance amount */ 352 GDate * reconcile_new_date; /* new date */ 353 354 /* home page - accueil */ 355 /* ces 5 variables sont mises à 1 lorsqu'il est nécessaire de rafraichir cette */ 356 /* partie la prochaine fois qu'on va sur l'accueil */ 357 358 gboolean mise_a_jour_liste_comptes_accueil; 359 gboolean mise_a_jour_liste_echeances_manuelles_accueil; 360 gboolean mise_a_jour_liste_echeances_auto_accueil; 361 gboolean mise_a_jour_soldes_minimaux; 362 gboolean mise_a_jour_fin_comptes_passifs; 363 364 /* MAJ des liens entre devises */ 365 gboolean block_update_links; /* block la mise à jour des liens en cas d'ajout ou de suppression de devise */ 366 367 /* payees: variables pour les associations de tiers */ 368 gboolean import_asso_case_insensitive; /* TRUE = ne tient pas compte de la casse */ 369 gboolean import_asso_use_regex; /* TRUE = la chaine de recherche est une expression régulière */ 370 gboolean import_asso_replace_rule; /* TRUE = remplacela règle existante */ 371 372 /* prefs */ 373 guint prefs_css_rules_tab; /* mémorise l'onglet css rules sélectionné */ 374 guint prefs_divers_tab; /* memorise l'onglet du notebook divers options */ 375 gboolean prefs_expand_tree; /* memorise le choix du bouton expand collapse du treeview des preferences */ 376 guint prefs_import_tab; /* mémorise l'onglet import sélectionné */ 377 gchar * prefs_selected_row; /* memorise l'onglet selectionné du treeview des preferences */ 378 379 /* Reports */ 380 gboolean no_show_prefs; /* si VRAI = ne pas montrer les préférences de l'état */ 381 gboolean empty_report; /* Si VRAI remplace la mise à jour de l'état sélectionné par un état vide */ 382 /* permet de gagner du temps exemple état vide et état recherche */ 383 384 /* Transactions */ 385 gint display_one_line; /* 1 fixes bug 1875 */ 386 gint display_two_lines; /* 1-2, 1-3, "1-4 */ 387 gint display_three_lines; /* 1-2-3, 1-2-4, 1-3-4 */ 388 389 }; 390 391 /** Contain pre-defined CSV separators */ 392 struct CsvSeparators 393 { 394 const gchar *name; /** Visible name of CSV separator */ 395 const gchar *value; /** Real value */ 396 }; 397 398 /******************************************************************************/ 399 /* Enum */ 400 /******************************************************************************/ 401 typedef enum _ComboColumns ComboColumns; 402 typedef enum _CustomModelOpeColumns CustomModelOpeColumns; 403 typedef enum _GsbTransactionType GsbTransactionType; 404 typedef enum _GsbTitleType GsbTitleType; 405 typedef enum _MetatreeContent MetatreeContent; 406 typedef enum _SettingsSchema SettingsSchema; 407 typedef enum _TransactionsField TransactionsField; 408 409 /* définition du titre de grisbi */ 410 enum _GsbTitleType 411 { 412 GSB_ACCOUNT_ENTITY, 413 GSB_ACCOUNT_HOLDER, 414 GSB_ACCOUNT_FILENAME 415 }; 416 417 /* definition of the columns of model for the left panel */ 418 enum LeftPanelTreeColumns 419 { 420 LEFT_PANEL_TREE_TEXT_COLUMN, 421 LEFT_PANEL_TREE_PAGE_COLUMN, 422 LEFT_PANEL_TREE_BOLD_COLUMN, 423 LEFT_PANEL_TREE_ITALIC_COLUMN, 424 LEFT_PANEL_TREE_NUM_COLUMNS 425 }; 426 427 428 /* définition du type d'origine pour les données du module budgétaire */ 429 enum BetArrayOriginData 430 { 431 SPP_ORIGIN_TRANSACTION, /* Ligne issue d'une opération */ 432 SPP_ORIGIN_SCHEDULED, /* Ligne issue d'une opération plannifiée */ 433 SPP_ORIGIN_FUTURE, /* Ligne issue d'une opération future */ 434 SPP_ORIGIN_HISTORICAL, /* Ligne issue d'une donnée historique */ 435 SPP_ORIGIN_ACCOUNT, /* Ligne issue d'un compte */ 436 SPP_ORIGIN_ARRAY, /* Donnée provenant du tableau de prévision (duration_widget) */ 437 SPP_ORIGIN_CONFIG, /* Donnée provenant de la page des préférences (duration_widget) */ 438 SPP_ORIGIN_SIMULATOR, /* Donnée provenant du tableau du simulateur de crédit */ 439 SPP_ORIGIN_FINANCE, /* Donnée provenant du tableau d'amortissement du simulateur */ 440 SPP_ORIGIN_INVERSE_FINANCE, /* Donnée provenant du tableau d'amortissement du simulateur */ 441 /* AVEC INVERSION de colonnes */ 442 SPP_ORIGIN_SOLDE /* Ligne de solde au premier du mois */ 443 }; 444 445 446 /* définition du type de mise à jour en fonction des données du module budgétaire */ 447 enum BetTypeMaj 448 { 449 BET_MAJ_FALSE = 0, 450 BET_MAJ_ESTIMATE, 451 BET_MAJ_HISTORICAL, 452 BET_MAJ_FINANCIAL, 453 BET_MAJ_ALL 454 }; 455 456 457 /* recopie des types de transaction de la libofx en attendant une version propre */ 458 enum _GsbTransactionType 459 { 460 GSB_CREDIT, /**< Generic credit */ 461 GSB_DEBIT, /**< Generic debit */ 462 GSB_INT, /**< Interest earned or paid (Note: Depends on signage of amount) */ 463 GSB_DIV, /**< Dividend */ 464 GSB_FEE, /**< FI fee */ 465 GSB_SRVCHG, /**< Service charge */ 466 GSB_DEP, /**< Deposit */ 467 GSB_ATM, /**< ATM debit or credit (Note: Depends on signage of amount) */ 468 GSB_POS, /**< Point of sale debit or credit (Note: Depends on signage of amount) */ 469 GSB_XFER, /**< Transfer */ 470 GSB_CHECK, /**< Check */ 471 GSB_PAYMENT, /**< Electronic payment */ 472 GSB_CASH, /**< Cash withdrawal */ 473 GSB_DIRECTDEP, /**< Direct deposit */ 474 GSB_DIRECTDEBIT,/**< Merchant initiated debit */ 475 GSB_REPEATPMT, /**< Repeating payment/standing order */ 476 GSB_OTHER /**< Somer other type of transaction */ 477 }; 478 479 480 enum _SettingsSchema 481 { 482 SETTINGS_ROOT = 0, 483 SETTINGS_FILES_BACKUP, 484 SETTINGS_DISPLAY, 485 SETTINGS_FILES_FILE, 486 SETTINGS_FORM, 487 SETTINGS_GENERAL, 488 SETTINGS_GEOMETRY, 489 SETTINGS_MESSAGES_DELETE, 490 SETTINGS_MESSAGES_TIPS, 491 SETTINGS_MESSAGES_WARNINGS, 492 SETTINGS_PANEL, 493 SETTINGS_PREFS, 494 SETTINGS_SCHEDULED 495 }; 496 497 enum FormatDateOrder 498 { 499 ORDER_DD_MM_YY = 0, 500 ORDER_MM_DD_YY, 501 ORDER_YY_MM_DD, 502 ORDER_YY_DD_MM, 503 ORDER_DD_YY_MM, 504 ORDER_MM_YY_DD, 505 ORDER_MAX 506 }; 507 508 enum _ComboColumns 509 { 510 COMBO_COL_VISIBLE_STRING = 0, /* string : what we see in the combofix */ 511 COMBO_COL_REAL_STRING, /* string : what we set in the entry when selecting something */ 512 COMBO_COL_VISIBLE, /* boolean : if that line has to be showed */ 513 COMBO_COL_LIST_NUMBER, /* int : the number of the list 0, 1 ou 2 (CREDIT DEBIT SPECIAL) */ 514 COMBO_COL_SEPARATOR, /* TRUE : if this is a separator */ 515 COMBO_N_COLUMNS 516 }; 517 518 enum _CustomModelOpeColumns /* The data columns that we export via the tree model interface */ 519 { 520 /* for the 6 first col, this can be changed by user, 521 * so juste name col_x, and comment the by default */ 522 CUSTOM_MODEL_COL_0 = 0, /* by default, check */ 523 CUSTOM_MODEL_COL_1, /* by default, date */ 524 CUSTOM_MODEL_COL_2, /* by default, payee */ 525 CUSTOM_MODEL_COL_3, /* by default, P/R */ 526 CUSTOM_MODEL_COL_4, /* by default, debit */ 527 CUSTOM_MODEL_COL_5, /* by default, credit */ 528 CUSTOM_MODEL_COL_6, /* by default, balance */ 529 530 CUSTOM_MODEL_BACKGROUND, /*< color of the background (a GdkRGBA) */ 531 CUSTOM_MODEL_SAVE_BACKGROUND, /*< when selection, save of the normal color of background (a GdkRGBA) */ 532 CUSTOM_MODEL_AMOUNT_COLOR, /*< color of the amount (a string like "red" or NULL)*/ 533 CUSTOM_MODEL_TEXT_COLOR, /*< color of the text */ 534 CUSTOM_MODEL_TRANSACTION_ADDRESS, /* pointer to the transaction structure */ 535 CUSTOM_MODEL_WHAT_IS_LINE, /*< on what the address point to ? IS_TRANSACTION, IS_ARCHIVE (see below) */ 536 CUSTOM_MODEL_FONT, /*< PangoFontDescription if used */ 537 CUSTOM_MODEL_TRANSACTION_LINE, /*< the line in the transaction (0, 1, 2 or 3) */ 538 CUSTOM_MODEL_VISIBLE, /*< whether that transaction is visible or not */ 539 CUSTOM_MODEL_CHECKBOX_VISIBLE, /*< whether the checkbox is visible or not */ 540 CUSTOM_MODEL_CHECKBOX_VISIBLE_RECONCILE, /*< whether the checkbox is visible or not during reconciliation */ 541 CUSTOM_MODEL_CHECKBOX_ACTIVE, /*< whether the checkbox is active or not */ 542 543 CUSTOM_MODEL_N_COLUMNS 544 }; 545 546 enum _MetatreeContent /* content of the metatree : 0 : payee, 1 : category, 2 : budget */ 547 { 548 METATREE_PAYEE, 549 METATREE_CATEGORY, 550 METATREE_BUDGET 551 }; 552 553 enum _TransactionsField /* the element number for each showable in the list */ 554 { 555 ELEMENT_DATE = 1, 556 ELEMENT_VALUE_DATE, 557 ELEMENT_PARTY, 558 ELEMENT_BUDGET, 559 ELEMENT_DEBIT, 560 ELEMENT_CREDIT, 561 ELEMENT_BALANCE, 562 ELEMENT_AMOUNT, 563 ELEMENT_PAYMENT_TYPE, 564 ELEMENT_RECONCILE_NB, 565 ELEMENT_EXERCICE, 566 ELEMENT_CATEGORY, 567 ELEMENT_MARK, 568 ELEMENT_VOUCHER, 569 ELEMENT_NOTES, 570 ELEMENT_BANK, 571 ELEMENT_NO, 572 ELEMENT_CHQ 573 }; 574 575 576 #endif 577